Making unicode.categories.syntax use member?, simplifying the code
parent
d6f9947bff
commit
4f83e2057a
|
@ -1,6 +1,6 @@
|
||||||
! Copyright (C) 2008, 2009 Daniel Ehrenberg.
|
! Copyright (C) 2008, 2009 Daniel Ehrenberg.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: unicode.data kernel math sequences parser
|
USING: unicode.data kernel math sequences parser unicode.data.private
|
||||||
bit-arrays namespaces sequences.private arrays classes.parser
|
bit-arrays namespaces sequences.private arrays classes.parser
|
||||||
assocs classes.predicate sets fry splitting accessors ;
|
assocs classes.predicate sets fry splitting accessors ;
|
||||||
IN: unicode.categories.syntax
|
IN: unicode.categories.syntax
|
||||||
|
@ -10,12 +10,8 @@ SYMBOLS: Cn Lu Ll Lt Lm Lo Mn Mc Me Nd Nl No Pc Pd Ps Pe Pi Pf Po Sm Sc Sk So Zs
|
||||||
|
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
|
|
||||||
: >category-array ( categories -- bitarray )
|
|
||||||
categories [ swap member? ] with map >bit-array ;
|
|
||||||
|
|
||||||
: [category] ( categories code -- quot )
|
: [category] ( categories code -- quot )
|
||||||
[ >category-array ] dip
|
'[ dup category# _ member? [ drop t ] _ if ] ;
|
||||||
'[ dup category# _ nth-unsafe [ drop t ] _ if ] ;
|
|
||||||
|
|
||||||
: integer-predicate-class ( word predicate -- )
|
: integer-predicate-class ( word predicate -- )
|
||||||
integer swap define-predicate-class ;
|
integer swap define-predicate-class ;
|
||||||
|
@ -28,7 +24,7 @@ SYMBOLS: Cn Lu Ll Lt Lm Lo Mn Mc Me Nd Nl No Pc Pd Ps Pe Pi Pf Po Sm Sc Sk So Zs
|
||||||
|
|
||||||
: parse-category ( -- word tokens quot )
|
: parse-category ( -- word tokens quot )
|
||||||
CREATE-CLASS \ ; parse-until { | } split1
|
CREATE-CLASS \ ; parse-until { | } split1
|
||||||
[ [ name>> ] map ]
|
[ [ name>> categories-map at ] map ]
|
||||||
[ [ [ ] like ] [ [ drop f ] ] if* ] bi* ;
|
[ [ [ ] like ] [ [ drop f ] ] if* ] bi* ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
Loading…
Reference in New Issue