]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/peg/ebnf/ebnf.factor
Merge branch 'master' of http://factorcode.org/git/factor
[factor.git] / basis / peg / ebnf / ebnf.factor
index a7fd07a5ecb0abc47899447ec30f157c3a0adf04..5ddd5f9bf08e04699ac9ce3bdf16b145553b762d 100644 (file)
@@ -445,16 +445,16 @@ M: ebnf-sequence build-locals ( code ast -- code )
       drop \r
     ] [ \r
       [\r
-        "FROM: locals => [let* ; FROM: sequences => nth ; [let* | " %\r
-          dup length swap [\r
-            dup ebnf-var? [\r
+        "FROM: locals => [let :> ; FROM: sequences => nth ; [let " %\r
+          dup length [\r
+            over ebnf-var? [\r
+              " " % # " over nth :> " %\r
               name>> % \r
-              " [ " % # " over nth ] " %\r
             ] [\r
               2drop\r
             ] if\r
           ] 2each\r
-          " " %\r
+          " " %\r
           %  \r
           " nip ]" %     \r
       ] "" make \r
@@ -463,9 +463,9 @@ M: ebnf-sequence build-locals ( code ast -- code )
 \r
 M: ebnf-var build-locals ( code ast -- )\r
   [\r
-    "FROM: locals => [let* ; FROM: kernel => dup nip ; [let* | " %\r
-    name>> % " [ dup ] " %\r
-    " " %\r
+    "FROM: locals => [let :> ; FROM: kernel => dup nip ; [let " %\r
+    " dup :> " % name>> %\r
+    " " %\r
     %  \r
     " nip ]" %     \r
   ] "" make ;\r