From: adam Date: Wed, 14 Dec 2005 06:31:24 +0000 (-0500) Subject: checkpoint X-Git-Tag: tag_for_25-Mar~553 X-Git-Url: http://git.megacz.com/?p=sbp.git;a=commitdiff_plain;h=75436cc6e44f18083d834a3c92b1e99a53e94b66;hp=0aaf5ea070beab0bca81d31feed763e69ad19a7a checkpoint darcs-hash:20051214063124-5007d-342ee80228679554b353a4324fb8996d2752b7e1.gz --- diff --git a/src/edu/berkeley/sbp/misc/MetaGrammar.java b/src/edu/berkeley/sbp/misc/MetaGrammar.java index cb1510a..f252ad5 100644 --- a/src/edu/berkeley/sbp/misc/MetaGrammar.java +++ b/src/edu/berkeley/sbp/misc/MetaGrammar.java @@ -47,10 +47,6 @@ public class MetaGrammar extends ReflectiveWalker { public Object care(String s) { return new MyLift(s); } public Object _caret_(String s) { return new MyLift(s); } public Object _leftparen__rightparen_() { return epsilon; } - //public Element _backtick_(Element r) { return new Unwrap(r); } - //public Element _hash_(Element e) { return e; } - //public Element _hash_(Element e) { return _plus__plus_(e); } - public PreSequence[] alternatives(PreSequence[] s) { return s; } public Object _leftparen_(PreSequence[][] p) { return nonTerminalZ(p); } @@ -87,7 +83,7 @@ public class MetaGrammar extends ReflectiveWalker { public MetaGrammar grammar(Object o, Union[] u, Object x) { return this; } public char _backslash_n() { return '\n'; } public char _backslash_r() { return '\r'; } - public Object literal(String s) { return new MyDrop(CharToken.string(s)); } + public Object literal(String s) { return new MyDrop(CharToken.string(s)); } public Range _minus_(char a, char b) { return new Range(a, b); } public Element _leftbracket_ (Range[] rr) { return ranges(null, rr); } public Element _leftbracket__tilde_(Range[] rr) { return ranges("~", rr); } diff --git a/tests/meta.g b/tests/meta.g index e41b770..c40600f 100644 --- a/tests/meta.g +++ b/tests/meta.g @@ -5,7 +5,7 @@ r ::= word ^"::=" alternatives /ws | word ^"!::=" alternatives /ws alternatives ::= equiAlt +/ (ws ">" ws) -equiAlt ::= conjuncts +/ (ws "|" ws) => "alternatives" +equiAlt ::= conjuncts +/ (ws "|" ws) sequence ::= es > es ws ^"/" e