]> gitweb.factorcode.org Git - factor.git/commitdiff
Fix parser bug with multi-line tuple literals
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Thu, 9 Oct 2008 04:43:37 +0000 (23:43 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Thu, 9 Oct 2008 04:43:37 +0000 (23:43 -0500)
core/classes/tuple/parser/parser-tests.factor
core/classes/tuple/parser/parser.factor

index 17376a594fab81a27cfd690c11c968ffa8e43d5b..6b9a953ab93a78fb8e003f434c57776d5b7033ac 100644 (file)
@@ -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
index dd78b4ba3e14fefc9d011d8b9d543f2139d22a31..78886356418ebccf899821c0ae58b67512fdd14e 100644 (file)
@@ -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 ] }