factor: fix collections syntax words.

locals-and-roots
Doug Coleman 2016-06-06 16:45:59 -07:00
parent 116c2909c2
commit 3283261710
26 changed files with 36 additions and 54 deletions

View File

@ -173,7 +173,7 @@ TUPLE: row-traverser shaped-array index ;
GENERIC: next-index ( object -- index ) ;
SYNTAX: sa{ \ } [ >shaped-array ] parse-literal ;
SYNTAX: \ sa{ \ } [ >shaped-array ] parse-literal ;
use: prettyprint.custom
! M: row-array pprint* shaped-array>array pprint* ;

View File

@ -86,7 +86,7 @@ M: bit-array resize
M: bit-array byte-length length bits>bytes ; inline
SYNTAX: ?{ \ } [ >bit-array ] parse-literal ;
SYNTAX: \ ?{ \ } [ >bit-array ] parse-literal ;
: integer>bit-array ( n -- bit-array )
dup 0 =

View File

@ -7,7 +7,7 @@ in: bit-vectors
<< "bit-vector" create-class-in \ bit-array \ <bit-array> define-vector >>
SYNTAX: ?V{ \ } [ >bit-vector ] parse-literal ;
SYNTAX: \ ?V{ \ } [ >bit-vector ] parse-literal ;
M: bit-vector contract 2drop ;
M: bit-vector >pprint-sequence ;

View File

@ -6,7 +6,7 @@ in: byte-arrays.hex
ERROR: odd-length-hex-string string ;
SYNTAX: HEX{
SYNTAX: \ HEX{
"}" parse-tokens concat
[ blank? ] reject
dup length even? [ odd-length-hex-string ] unless

View File

@ -213,6 +213,6 @@ PRIVATE>
INSTANCE: dlist deque ;
SYNTAX: DL{ \ } [ >dlist ] parse-literal ;
SYNTAX: \ DL{ \ } [ >dlist ] parse-literal ;
{ "dlists" "prettyprint" } "dlists.prettyprint" require-when

View File

@ -32,6 +32,6 @@ M: identity-hash-set clone
M: identity-hash-set set-like
drop dup identity-hash-set? [ ?members >identity-hash-set ] unless ; inline
SYNTAX: IHS{ \ } [ >identity-hash-set ] parse-literal ;
SYNTAX: \ IHS{ \ } [ >identity-hash-set ] parse-literal ;
{ "hash-sets.identity" "prettyprint" } "hash-sets.identity.prettyprint" require-when

View File

@ -31,6 +31,6 @@ M: number-hash-set clone
: >number-hash-set ( members -- shash-set )
[ <number-wrapper> ] map >hash-set number-hash-set boa ;
SYNTAX: NHS{ \ } [ >number-hash-set ] parse-literal ;
SYNTAX: \ NHS{ \ } [ >number-hash-set ] parse-literal ;
{ "hash-sets.numbers" "prettyprint" } "hash-sets.numbers.prettyprint" require-when

View File

@ -31,6 +31,6 @@ M: sequence-hash-set clone
: >sequence-hash-set ( members -- shash-set )
[ <sequence-wrapper> ] map >hash-set sequence-hash-set boa ;
SYNTAX: SHS{ \ } [ >sequence-hash-set ] parse-literal ;
SYNTAX: \ SHS{ \ } [ >sequence-hash-set ] parse-literal ;
{ "hash-sets.sequences" "prettyprint" } "hash-sets.sequences.prettyprint" require-when

View File

@ -34,6 +34,6 @@ M: number-hashtable clone
M: number-hashtable new-assoc drop <number-hashtable> ;
SYNTAX: NH{ \ } [ >number-hashtable ] parse-literal ;
SYNTAX: \ NH{ \ } [ >number-hashtable ] parse-literal ;
{ "hashtables.numbers" "prettyprint" } "hashtables.numbers.prettyprint" require-when

View File

@ -33,6 +33,6 @@ M: sequence-hashtable clone
M: sequence-hashtable new-assoc drop <sequence-hashtable> ;
SYNTAX: SH{ \ } [ >sequence-hashtable ] parse-literal ;
SYNTAX: \ SH{ \ } [ >sequence-hashtable ] parse-literal ;
{ "hashtables.sequences" "prettyprint" } "hashtables.sequences.prettyprint" require-when

View File

@ -61,6 +61,6 @@ M: linked-assoc assoc-like
M: linked-assoc equal?
over linked-assoc? [ [ dlist>> ] bi@ = ] [ 2drop f ] if ;
SYNTAX: LH{ \ } [ check-hashtable >linked-hash ] parse-literal ;
SYNTAX: \ LH{ \ } [ check-hashtable >linked-hash ] parse-literal ;
{ "linked-assocs" "prettyprint" } "linked-assocs.prettyprint" require-when

View File

@ -9,8 +9,8 @@ HELP: <pool>
}
{ $description "Creates a " { $link pool } " of " { $snippet "size" } " objects of " { $snippet "class" } "." } ;
HELP: POOL:
{ $syntax "POOL: class size" }
HELP: \ POOL:
{ $syntax "POOL: class size ;" }
{ $description "Creates a " { $link pool } " of " { $snippet "size" } " objects of " { $snippet "class" } ", and associates it with the class using " { $link set-class-pool } "." } ;
HELP: class-pool

View File

@ -49,5 +49,5 @@ PRIVATE>
: free-to-pool ( object -- )
dup class-of class-pool pool-free ;
SYNTAX: POOL:
scan-word scan-word '[ _ swap <pool> ] [ swap set-class-pool ] bi ;
SYNTAX: \ POOL:
scan-word scan-word ";" expect '[ _ swap <pool> ] [ swap set-class-pool ] bi ;

View File

@ -67,7 +67,7 @@ M: nibble-array resize
M: nibble-array byte-length length nibbles>bytes ;
SYNTAX: N{ \ } [ >nibble-array ] parse-literal ;
SYNTAX: \ N{ \ } [ >nibble-array ] parse-literal ;
INSTANCE: nibble-array sequence ;

View File

@ -53,7 +53,7 @@ M: persistent-hash hashcode* nip assoc-size ;
M: persistent-hash clone ;
SYNTAX: PH{ \ } [ >persistent-hash ] parse-literal ;
SYNTAX: \ PH{ \ } [ >persistent-hash ] parse-literal ;
M: persistent-hash pprint-delims drop \ PH{ \ } ;
M: persistent-hash >pprint-sequence >alist ;

View File

@ -181,7 +181,7 @@ M: persistent-vector equal?
: >persistent-vector ( seq -- pvec )
T{ persistent-vector } like ;
SYNTAX: PV{ \ } [ >persistent-vector ] parse-literal ;
SYNTAX: \ PV{ \ } [ >persistent-vector ] parse-literal ;
M: persistent-vector pprint-delims drop \ PV{ \ } ;
M: persistent-vector >pprint-sequence ;

View File

@ -93,7 +93,7 @@ M: A pprint-delims drop \ A{ \ } ;
M: A >pprint-sequence ;
SYNTAX: A{ \ } [ \ T >c-array ] parse-literal ;
SYNTAX: \ A{ \ } [ \ T >c-array ] parse-literal ;
INSTANCE: A specialized-array ;
@ -168,13 +168,13 @@ M: c-type-word c-array-type?
M: pointer c-array-type? drop void* c-array-type? ;
SYNTAX: SPECIALIZED-ARRAYS:
SYNTAX: \ SPECIALIZED-ARRAYS:
";" [ parse-c-type define-array-vocab use-vocab ] each-token ;
SYNTAX: SPECIALIZED-ARRAY:
SYNTAX: \ SPECIALIZED-ARRAY:
scan-c-type define-array-vocab use-vocab ;
SYNTAX: specialized-array:
SYNTAX: \ specialized-array:
scan-c-type define-array-vocab use-vocab ;
{ "specialized-arrays" "prettyprint" } "specialized-arrays.prettyprint" require-when

View File

@ -76,19 +76,14 @@ PRIVATE>
[ specialized-vector-vocab ] [ '[ _ define-vector ] ] bi
generate-vocab ;
SYNTAX: SPECIALIZED-VECTORS:
SYNTAX: \ SPECIALIZED-VECTORS:
";" [
parse-c-type
[ define-array-vocab use-vocab ]
[ define-vector-vocab use-vocab ] bi
] each-token ;
SYNTAX: SPECIALIZED-VECTOR:
scan-c-type
[ define-array-vocab use-vocab ]
[ define-vector-vocab use-vocab ] bi ;
SYNTAX: specialized-vector:
SYNTAX: \ specialized-vector:
scan-c-type
[ define-array-vocab use-vocab ]
[ define-vector-vocab use-vocab ] bi ;

View File

@ -32,7 +32,7 @@ PRIVATE>
: >suffix-array ( seq -- suffix-array )
members [ suffixes ] map concat natural-sort ;
SYNTAX: SA{ \ } [ >suffix-array ] parse-literal ;
SYNTAX: \ SA{ \ } [ >suffix-array ] parse-literal ;
: query ( begin suffix-array -- matches )
[ find-index ] 2keep '[ _ _ (query) ] [ { } ] if* ;

View File

@ -160,7 +160,7 @@ PRIVATE>
M: avl assoc-like
drop dup avl? [ >avl ] unless ;
SYNTAX: AVL{
SYNTAX: \ AVL{
\ } [ >avl ] parse-literal ;
M: avl pprint-delims drop \ AVL{ \ } ;

View File

@ -136,7 +136,7 @@ PRIVATE>
: >splay ( assoc -- tree )
T{ splay f f 0 } assoc-clone-like ;
SYNTAX: SPLAY{
SYNTAX: \ SPLAY{
\ } [ >splay ] parse-literal ;
M: splay assoc-like

View File

@ -209,7 +209,7 @@ M: tree clone dup assoc-clone-like ;
M: tree assoc-like drop dup tree? [ >tree ] unless ;
SYNTAX: TREE{
SYNTAX: \ TREE{
\ } [ >tree ] parse-literal ;
M: tree assoc-size count>> ;

View File

@ -50,7 +50,7 @@ M: vlist like
INSTANCE: vlist immutable-sequence ;
SYNTAX: VL{ \ } [ >vlist ] parse-literal ;
SYNTAX: \ VL{ \ } [ >vlist ] parse-literal ;
M: vlist pprint-delims drop \ VL{ \ } ;
M: vlist >pprint-sequence ;
@ -88,7 +88,7 @@ M: valist assoc-like
INSTANCE: valist assoc ;
SYNTAX: VA{ \ } [ >valist ] parse-literal ;
SYNTAX: \ VA{ \ } [ >valist ] parse-literal ;
M: valist pprint-delims drop \ VA{ \ } ;
M: valist >pprint-sequence >alist ;

View File

@ -16,6 +16,8 @@ SYNTAX: \ FUNCTOR-SYNTAX:
: scan-param ( -- obj ) scan-object literalize ;
: scan-escaped-param ( -- obj ) scan-escaped-word literalize ;
: >string-param ( string -- string/param )
dup search dup lexical? [ nip ] [ drop ] if ;

View File

@ -110,8 +110,9 @@ FUNCTOR-SYNTAX: \ symbol:
scan-param suffix!
\ define-symbol suffix! ;
! Handles SYNTAX: \ foo:
FUNCTOR-SYNTAX: \ SYNTAX:
scan-param suffix!
scan-escaped-param suffix!
parse-definition*
\ define-syntax suffix! ;

View File

@ -4,27 +4,11 @@
! lexable-core-paths [ dup . flush path>literals ] map-zip
"resource:language" vocabs-from
{ "constructors" "descriptive" "eval" "functors" "literals"
"match" "method-chains" "multi-methods" "multiline"
"pair-methods" "peg" "promises" "shuffle" "tr" "tuple-arrays"
"variables" "variants" "alien.data" "alien.endian" "alien.fortran"
"alien.syntax" "alien.data.map" "classes.struct"
"classes.struct.vectored" "compiler.codegen" "functors.backend"
"compiler.cfg.dataflow-analysis" "compiler.cfg.renaming.functor"
"compiler.cfg.registers" "cpu.8080.emulator" "definitions.icons"
"compiler.cfg.instructions.syntax" "cpu.x86.assembler.syntax"
"io.encodings.euc" "peg.ebnf" "prettyprint.stylesheet" "slots.syntax"
} diff
{ } diff
[ dup <vocab-link> . flush vocab>literals ] map-zip
"resource:collections" vocabs-from
{ "bit-arrays"
"bit-vectors" "dlists" "linked-assocs" "nibble-arrays"
"specialized-arrays" "specialized-vectors" "suffix-arrays"
"trees" "vlists" "arrays.shaped" "byte-arrays.hex"
"hash-sets.identity" "hash-sets.numbers" "hash-sets.sequences"
"hashtables.numbers" "hashtables.sequences" "persistent.hashtables"
"memory.pools" "persistent.vectors" "trees.avl" "trees.splay"
{
} diff
[ dup <vocab-link> . flush vocab>literals ] map-zip