core: Add TH{ for making assoc tuples.
See #1449. https://github.com/factor/factor/issues/1449char-rename
parent
f3bbc30c8a
commit
e93d8f82bc
|
@ -48,6 +48,7 @@ IN: bootstrap.syntax
|
||||||
"final"
|
"final"
|
||||||
"SLOT:"
|
"SLOT:"
|
||||||
"T{"
|
"T{"
|
||||||
|
"TH{"
|
||||||
"UNION:"
|
"UNION:"
|
||||||
"INTERSECTION:"
|
"INTERSECTION:"
|
||||||
"USE:"
|
"USE:"
|
||||||
|
|
|
@ -115,5 +115,15 @@ M: tuple-class boa>object
|
||||||
[ bad-literal-tuple ]
|
[ bad-literal-tuple ]
|
||||||
} case ;
|
} case ;
|
||||||
|
|
||||||
|
: parse-tuple-hash-literal-slots ( class slots -- tuple )
|
||||||
|
scan-token {
|
||||||
|
{ "{" [ 2dup parse-slot-values assoc>object ] }
|
||||||
|
{ "}" [ drop new ] }
|
||||||
|
[ bad-literal-tuple ]
|
||||||
|
} case ;
|
||||||
|
|
||||||
: parse-tuple-literal ( -- tuple )
|
: parse-tuple-literal ( -- tuple )
|
||||||
scan-word dup all-slots parse-tuple-literal-slots ;
|
scan-word dup all-slots parse-tuple-literal-slots ;
|
||||||
|
|
||||||
|
: parse-tuple-hash-literal ( -- tuple )
|
||||||
|
scan-word dup all-slots parse-tuple-hash-literal-slots ;
|
||||||
|
|
|
@ -105,6 +105,7 @@ IN: bootstrap.syntax
|
||||||
"BV{" [ \ } [ >byte-vector ] parse-literal ] define-core-syntax
|
"BV{" [ \ } [ >byte-vector ] parse-literal ] define-core-syntax
|
||||||
"H{" [ \ } [ parse-hashtable ] parse-literal ] define-core-syntax
|
"H{" [ \ } [ parse-hashtable ] parse-literal ] define-core-syntax
|
||||||
"T{" [ parse-tuple-literal suffix! ] define-core-syntax
|
"T{" [ parse-tuple-literal suffix! ] define-core-syntax
|
||||||
|
"TH{" [ parse-tuple-hash-literal suffix! ] define-core-syntax
|
||||||
"W{" [ \ } [ first <wrapper> ] parse-literal ] define-core-syntax
|
"W{" [ \ } [ first <wrapper> ] parse-literal ] define-core-syntax
|
||||||
"HS{" [ \ } [ >hash-set ] parse-literal ] define-core-syntax
|
"HS{" [ \ } [ >hash-set ] parse-literal ] define-core-syntax
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue