From 7b362d7562b94c91ed0ca16cc3b95bb65dd9763f Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Thu, 7 Oct 2004 03:40:46 +0000 Subject: [PATCH] fix parser bug with [ 1 | #{ 1 2 } ] --- library/platform/native/parse-syntax.factor | 2 +- library/test/parser.factor | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/library/platform/native/parse-syntax.factor b/library/platform/native/parse-syntax.factor index fa1bbf4402..53b47db6d2 100644 --- a/library/platform/native/parse-syntax.factor +++ b/library/platform/native/parse-syntax.factor @@ -157,7 +157,7 @@ USE: unparser ! Complex literal : #{ #! Read #{ real imaginary #} - scan str>number scan str>number rect> parsed "}" expect ; + scan str>number scan str>number rect> "}" expect parsed ; ! Comments : doc-comment-here? ( parsed -- ? ) diff --git a/library/test/parser.factor b/library/test/parser.factor index 40d23deba0..72e564cf2c 100644 --- a/library/test/parser.factor +++ b/library/test/parser.factor @@ -3,6 +3,7 @@ USE: combinators USE: parser USE: test USE: unparser +USE: lists [ [ 1 [ 2 [ 3 ] 4 ] 5 ] ] [ "1\n[\n2\n[\n3\n]\n4\n]\n5" ] @@ -50,3 +51,9 @@ test-word [ "\"\\u0027\"" ] [ parse ] test-word + +! Test improper lists + +[ 2 ] [ "[ 1 | 2 ]" parse car cdr ] unit-test +[ "hello" ] [ "[ 1 | \"hello\" ]" parse car cdr ] unit-test +[ #{ 1 2 } ] [ "[ 1 | #{ 1 2 } ]" parse car cdr ] unit-test