Fix parser bug with multi-line tuple literals
parent
6a5dd26c52
commit
d2dd7288b3
|
@ -96,3 +96,16 @@ TUPLE: syntax-test bar baz ;
|
|||
[ T{ syntax-test } ] [ T{ syntax-test } ] unit-test
|
||||
[ T{ syntax-test f { 2 3 } { 4 { 5 } } } ]
|
||||
[ T{ syntax-test { bar { 2 3 } } { baz { 4 { 5 } } } } ] unit-test
|
||||
|
||||
! Corner case
|
||||
TUPLE: parsing-corner-case x ;
|
||||
|
||||
[ T{ parsing-corner-case f 3 } ] [
|
||||
{
|
||||
"USE: classes.tuple.parser.tests"
|
||||
"T{ parsing-corner-case"
|
||||
" f"
|
||||
" 3"
|
||||
"}"
|
||||
} "\n" join eval
|
||||
] unit-test
|
||||
|
|
|
@ -86,6 +86,7 @@ ERROR: bad-literal-tuple ;
|
|||
|
||||
: parse-tuple-literal ( -- tuple )
|
||||
scan-word scan {
|
||||
{ f [ unexpected-eof ] }
|
||||
{ "f" [ \ } parse-until boa>tuple ] }
|
||||
{ "{" [ parse-slot-values assoc>tuple ] }
|
||||
{ "}" [ new ] }
|
||||
|
|
Loading…
Reference in New Issue