]> gitweb.factorcode.org Git - factor.git/commitdiff
Use || in peg choice code generation
authorChris Double <chris@bethia.(none)>
Thu, 10 Jul 2008 11:09:29 +0000 (23:09 +1200)
committerChris Double <chris@bethia.(none)>
Thu, 10 Jul 2008 23:37:02 +0000 (11:37 +1200)
extra/peg/peg.factor

index d1302107ea8d0dc5ee211f4bf16d8e24f20a55ca..eec4007c02d5eec672d420d65deb6110c95df217 100755 (executable)
@@ -421,9 +421,10 @@ TUPLE: choice-parser parsers ;
 
 M: choice-parser (compile) ( peg -- quot )
   [ 
-    f ,
-    parsers>> [ compiled-parser ] map 
-    unclip 1quotation , \ unless* , [ 1quotation [ merge-errors ] compose , \ unless* , ] each
+    [
+      parsers>> [ compiled-parser ] map 
+      unclip 1quotation , [ 1quotation [ merge-errors ] compose , ] each
+    ] { } make , \ || ,
   ] [ ] make ;
 
 TUPLE: repeat0-parser p1 ;