]> gitweb.factorcode.org Git - factor.git/commitdiff
Throw an error if there are duplicate rules in ebnf
authorChris Double <chris@bethia.(none)>
Thu, 19 Jun 2008 02:44:13 +0000 (14:44 +1200)
committerChris Double <chris@bethia.(none)>
Thu, 19 Jun 2008 02:44:13 +0000 (14:44 +1200)
extra/peg/ebnf/ebnf.factor

index 2aec8b9aea09ccd5cb573a0d9941135aa5da5094..e78757be34d3c051bdb533cf36f16158988203f8 100644 (file)
@@ -305,7 +305,7 @@ M: ebnf (transform) ( ast -- parser )
 M: ebnf-rule (transform) ( ast -- parser )\r
   dup elements>> \r
   (transform) [\r
-    swap symbol>> set\r
+    swap symbol>> dup get [ "Rule '" over append "' defined more than once" append throw ] [ set ] if\r
   ] keep ;\r
 \r
 M: ebnf-sequence (transform) ( ast -- parser )\r