factor: SYNTAX: \FOO:

modern-harvey2
Doug Coleman 2017-08-26 14:05:26 -05:00
parent 39a9b21e98
commit 7ca280aee6
23 changed files with 53 additions and 50 deletions

View File

@ -65,7 +65,7 @@ M: word <c-direct-array>
M: pointer <c-direct-array>
drop void* <c-direct-array> ;
SYNTAX: c-array{ \ } [ unclip >c-array ] parse-literal ;
SYNTAX: \c-array{ \ } [ unclip >c-array ] parse-literal ;
SYNTAX: c-array@
scan-object [ scan-object scan-object ] dip

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

@ -378,16 +378,16 @@ PRIVATE>
dup [ name>> ] map check-duplicate-slots ;
PRIVATE>
SYNTAX: STRUCT:
SYNTAX: \STRUCT:
parse-struct-definition define-struct-class ;
SYNTAX: PACKED-STRUCT:
SYNTAX: \PACKED-STRUCT:
parse-struct-definition define-packed-struct-class ;
SYNTAX: UNION-STRUCT:
SYNTAX: \UNION-STRUCT:
parse-struct-definition define-union-struct-class ;
SYNTAX: S{
SYNTAX: \S{
scan-word dup struct-slots parse-tuple-literal-slots suffix! ;
SYNTAX: S@
@ -412,7 +412,7 @@ SYNTAX: S@
PRIVATE>
FUNCTOR-SYNTAX: STRUCT:
FUNCTOR-SYNTAX: \STRUCT:
scan-param suffix!
[ 8 <vector> ] append!
[ parse-struct-slots* ] [ ] while

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

@ -14,7 +14,7 @@ IN: eval
: eval ( str effect -- )
[ (eval) ] with-file-vocabs ; inline
SYNTAX: eval( \ eval parse-call-paren ;
SYNTAX: \eval( \ eval parse-call-paren ;
: (eval>string) ( str -- output )
[

View File

@ -145,4 +145,4 @@ M: callable fry ( quot -- quot' )
] bi
] if-empty ;
SYNTAX: '[ parse-quotation fry append! ;
SYNTAX: \'[ parse-quotation fry append! ;

View File

@ -6,8 +6,8 @@ IN: functors.backend
DEFER: functor-words
\ functor-words [ H{ } clone ] initialize
SYNTAX: FUNCTOR-SYNTAX:
scan-word
SYNTAX: \FUNCTOR-SYNTAX:
scan-syntax-word
gensym [ parse-definition define-syntax ] keep
swap name>> \ functor-words get-global set-at ;

View File

@ -51,7 +51,7 @@ M: object (fake-quotations>) , ;
[ parse-definition* ] dip
suffix! ;
FUNCTOR-SYNTAX: TUPLE:
FUNCTOR-SYNTAX: \TUPLE:
scan-param suffix!
scan-token {
{ ";" [ tuple suffix! f suffix! ] }
@ -67,15 +67,15 @@ FUNCTOR-SYNTAX: TUPLE:
FUNCTOR-SYNTAX: final
[ last-word make-final ] append! ;
FUNCTOR-SYNTAX: SINGLETON:
FUNCTOR-SYNTAX: \SINGLETON:
scan-param suffix!
\ define-singleton-class suffix! ;
FUNCTOR-SYNTAX: MIXIN:
FUNCTOR-SYNTAX: \MIXIN:
scan-param suffix!
\ define-mixin-class suffix! ;
FUNCTOR-SYNTAX: M:
FUNCTOR-SYNTAX: \M:
scan-param suffix!
scan-param suffix!
[ create-method-in dup \ method set ] append!
@ -170,4 +170,4 @@ DEFER: ;FUNCTOR> delimiter
PRIVATE>
SYNTAX: <FUNCTOR: (<FUNCTOR:) define-declared ;
SYNTAX: \<FUNCTOR: (<FUNCTOR:) define-declared ;

View File

@ -37,6 +37,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

@ -36,6 +36,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

@ -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

@ -22,9 +22,9 @@ IN: literals
PRIVATE>
SYNTAX: $ scan-word expand-literal >vector ;
SYNTAX: $[ parse-quotation with-datastack >vector ;
SYNTAX: ${ \ } [ expand-literals ] parse-literal ;
SYNTAX: flags{
SYNTAX: \$[ parse-quotation with-datastack >vector ;
SYNTAX: \${ \ } [ expand-literals ] parse-literal ;
SYNTAX: \flags{
\ } [
expand-literals
0 [ bitor ] reduce

View File

@ -32,7 +32,7 @@ ERROR: text-found-before-eol string ;
(parse-here)
] "" make but-last ;
SYNTAX: STRING:
SYNTAX: \STRING:
scan-new-word
parse-here 1quotation
( -- string ) define-inline ;
@ -84,7 +84,7 @@ PRIVATE>
SYNTAX: /* "*/" parse-multiline-string drop ;
SYNTAX: HEREDOC:
SYNTAX: \HEREDOC:
lexer get {
[ skip-blank ]
[ rest-of-line ]
@ -92,18 +92,18 @@ SYNTAX: HEREDOC:
[ parse-til-line-begins ]
} cleave suffix! ;
SYNTAX: [[ "]]" parse-multiline-string suffix! ;
SYNTAX: [=[ "]=]" parse-multiline-string suffix! ;
SYNTAX: [==[ "]==]" parse-multiline-string suffix! ;
SYNTAX: [===[ "]===]" parse-multiline-string suffix! ;
SYNTAX: [====[ "]====]" parse-multiline-string suffix! ;
SYNTAX: [=====[ "]=====]" parse-multiline-string suffix! ;
SYNTAX: [======[ "]======]" parse-multiline-string suffix! ;
SYNTAX: \[[ "]]" parse-multiline-string suffix! ;
SYNTAX: \[=[ "]=]" parse-multiline-string suffix! ;
SYNTAX: \[==[ "]==]" parse-multiline-string suffix! ;
SYNTAX: \[===[ "]===]" parse-multiline-string suffix! ;
SYNTAX: \[====[ "]====]" parse-multiline-string suffix! ;
SYNTAX: \[=====[ "]=====]" parse-multiline-string suffix! ;
SYNTAX: \[======[ "]======]" parse-multiline-string suffix! ;
SYNTAX: ![[ "]]" parse-multiline-string drop ;
SYNTAX: ![=[ "]=]" parse-multiline-string drop ;
SYNTAX: ![==[ "]==]" parse-multiline-string drop ;
SYNTAX: ![===[ "]===]" parse-multiline-string drop ;
SYNTAX: ![====[ "]====]" parse-multiline-string drop ;
SYNTAX: ![=====[ "]=====]" parse-multiline-string drop ;
SYNTAX: ![======[ "]======]" parse-multiline-string drop ;
SYNTAX: \![[ "]]" parse-multiline-string drop ;
SYNTAX: \![=[ "]=]" parse-multiline-string drop ;
SYNTAX: \![==[ "]==]" parse-multiline-string drop ;
SYNTAX: \![===[ "]===]" parse-multiline-string drop ;
SYNTAX: \![====[ "]====]" parse-multiline-string drop ;
SYNTAX: \![=====[ "]=====]" parse-multiline-string drop ;
SYNTAX: \![======[ "]======]" parse-multiline-string drop ;

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

@ -11,7 +11,7 @@ MACRO: shuffle-effect ( effect -- quot )
[ [ of '[ _ swap nth ] ] with map ] 2bi
'[ @ _ cleave ] ;
SYNTAX: shuffle(
SYNTAX: \shuffle(
")" parse-effect suffix! \ shuffle-effect suffix! ;
: tuck ( x y -- y x y ) swap over ; inline deprecated

View File

@ -168,10 +168,10 @@ 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 ;
{ "specialized-arrays" "prettyprint" } "specialized-arrays.prettyprint" require-when

View File

@ -76,14 +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:
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

@ -73,4 +73,4 @@ INSTANCE: CLASS-array sequence
;FUNCTOR>
SYNTAX: TUPLE-ARRAY: scan-word define-tuple-array ;
SYNTAX: \TUPLE-ARRAY: scan-word define-tuple-array ;

View File

@ -189,6 +189,6 @@ PRIVATE>
clone dup protocol>> '[ _ protocol-port or ] change-port ;
! Literal syntax
SYNTAX: URL" lexer get skip-blank parse-string >url suffix! ;
SYNTAX: \URL" lexer get skip-blank parse-string >url suffix! ;
{ "urls" "prettyprint" } "urls.prettyprint" require-when

View File

@ -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

@ -69,6 +69,9 @@ ERROR: number-expected ;
: scan-word ( -- word )
?scan-token parse-word ;
: scan-syntax-word ( -- word )
?scan-token "\\" ?head drop parse-word ;
: scan-number ( -- number )
?scan-token parse-number ;