regexp.classes: remove dependency on mirrors vocab

db4
Slava Pestov 2011-10-10 21:08:45 -07:00
parent ea73b42578
commit df7ee85daf
1 changed files with 15 additions and 5 deletions

View File

@ -1,9 +1,9 @@
! Copyright (C) 2008, 2009 Doug Coleman, Daniel Ehrenberg.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors kernel math math.order words combinators locals
unicode.categories combinators.short-circuit sequences
fry macros arrays assocs sets classes mirrors unicode.script
unicode.data ;
USING: accessors kernel math math.order words combinators
combinators.smart combinators.short-circuit locals
unicode.categories sequences fry macros arrays assocs sets
classes unicode.script unicode.data ;
FROM: ascii => ascii? ;
FROM: sets => members ;
IN: regexp.classes
@ -168,7 +168,17 @@ TUPLE: class-partition integers not-integers simples not-simples and or other ;
class-partition boa ;
: class-partition>seq ( class-partition -- seq )
make-mirror values concat ;
[
{
[ integers>> ]
[ not-integers>> ]
[ simples>> ]
[ not-simples>> ]
[ and>> ]
[ or>> ]
[ other>> ]
} cleave
] output>array concat ;
: repartition ( partition -- partition' )
! This could be made more efficient; only and and or are effected