From cbf78b1b452c393c8c76c91fa6515c64525b56d8 Mon Sep 17 00:00:00 2001 From: adam Date: Sun, 29 Jan 2006 04:36:13 -0500 Subject: [PATCH] checkpoint darcs-hash:20060129093613-5007d-6cdb8018b734e0d6a1575d5de18a12e9383ca96b.gz --- src/edu/berkeley/sbp/misc/MetaGrammar.java | 6 ++---- tests/meta.g | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/edu/berkeley/sbp/misc/MetaGrammar.java b/src/edu/berkeley/sbp/misc/MetaGrammar.java index 999d765..041e561 100644 --- a/src/edu/berkeley/sbp/misc/MetaGrammar.java +++ b/src/edu/berkeley/sbp/misc/MetaGrammar.java @@ -151,10 +151,8 @@ public class MetaGrammar extends StringWalker { else if ("/".equals(head)) return ((PreSequence)walk(tree, 0)).sparse((Element)walk(tree, 1)); else if ("~".equals(head)) return new Hack(new Atom.Invert(new Atom.Infer((Element)walk(tree, 0)))); else if ("ps".equals(head)) return new PreSequence((Element[])walk(tree,0)); - else if ("qprod".equals(head)) { - String s = string(tree.child(0)); - return new PreSequence(new Element[] { string(s) }, s, new boolean[] { true }).buildSequence(); - } else if ("[".equals(head)) { + else if (":".equals(head)) return walk(tree,1); + else if ("[".equals(head)) { Range[] rr = (Range[])walk(tree, 0); Range.Set ret = new Range.Set(); if (rr!=null) for(Range r : rr) ret.add(r); diff --git a/tests/meta.g b/tests/meta.g index a0d0819..eba580e 100644 --- a/tests/meta.g +++ b/tests/meta.g @@ -8,7 +8,7 @@ Conjuncts ::= Sequence | Sequence ^"&" Elements /ws | Sequence ^"&~" Elements /ws Elements ::= e*/ws -NamedElements ::= e*/ws +NamedElements ::= (e | word ^":" e) */ ws PreSequence ::= NamedElements => "ps" | PreSequence !wp ^"/" !ws e -- 1.7.10.4