]> gitweb.factorcode.org Git - factor.git/commitdiff
Allow a-zA-Z0-9_ in identifiers for peg.ebnf
authorDoug Coleman <doug.coleman@gmail.com>
Tue, 4 May 2010 04:35:17 +0000 (23:35 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Tue, 4 May 2010 04:36:29 +0000 (23:36 -0500)
basis/peg/ebnf/ebnf-tests.factor
basis/peg/ebnf/ebnf.factor

index aba92899da7f8a4c178b5b56cf672a588bf5ee59..825e07dbf8642bec025e05a6cb01f243b6c50b06 100644 (file)
@@ -528,3 +528,24 @@ Tok                = Spaces (Number | Special )
 ] [
     error>> [ redefined-rule? ] [ name>> "lol" = ] bi and
 ] must-fail-with
+
+[
+    { "a" "a" }
+] [
+    EBNF: foo   Bar = "a":a1 "a":a2 => [[ a1 a2 2array ]] ;EBNF
+    "aa" foo
+] unit-test
+
+[
+    { "a" "a" }
+] [
+    EBNF: foo2   Bar = "a":1a "a":2a => [[ 1a 2a 2array ]] ;EBNF
+    "aa" foo2
+] unit-test
+
+[
+    { "a" "a" }
+] [
+    EBNF: foo3   Bar = "a":11 "a":22 => [[ 11 22 2array ]] ;EBNF
+    "aa" foo3
+] unit-test
index ffc4cb91ad78aa462b4abbf529ac615225179e80..4462330a44360e46aa44a20eeee53d8a58e065a2 100644 (file)
@@ -230,7 +230,7 @@ DEFER: 'action'
 \r
 : 'element' ( -- parser )\r
   [\r
-    [ ('element') , ":" syntax , "a-zA-Z" range-pattern repeat1 [ >string ] action , ] seq* [ first2 <ebnf-var> ] action ,\r
+    [ ('element') , ":" syntax , "(a-zA-Z0-9_)+" range-pattern repeat1 [ >string ] action , ] seq* [ first2 <ebnf-var> ] action ,\r
     ('element') ,\r
   ] choice* ;\r
 \r