From 025ebe3e707adc361fbfbae9ea6120699f5d045a Mon Sep 17 00:00:00 2001 From: adam Date: Sun, 29 Jan 2006 03:50:11 -0500 Subject: [PATCH] checkpoint darcs-hash:20060129085011-5007d-2654c5689ab9e8b6a9a34b4cbb75817ab81b6f29.gz --- src/edu/berkeley/sbp/misc/MetaGrammar.java | 4 +++- tests/meta.g | 5 ++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/edu/berkeley/sbp/misc/MetaGrammar.java b/src/edu/berkeley/sbp/misc/MetaGrammar.java index 3598efc..c7803be 100644 --- a/src/edu/berkeley/sbp/misc/MetaGrammar.java +++ b/src/edu/berkeley/sbp/misc/MetaGrammar.java @@ -148,7 +148,9 @@ 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)) { + else if ("ps2".equals(head)) { + return (new PreSequence((Element[])walk(tree,0))).sparse((Element)walk(tree, 1)); + } 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)) { diff --git a/tests/meta.g b/tests/meta.g index 4f671c6..019d5e3 100644 --- a/tests/meta.g +++ b/tests/meta.g @@ -9,9 +9,8 @@ Conjuncts ::= Sequence | Sequence ^"&~" Elements /ws Elements ::= e*/ws -ps ::= Elements => "ps" -psy ::= ps - | ps !wp ^"/" !ws e +psy ::= Elements => "ps" + | Elements !wp "/" !ws e => "ps2" psx ::= psy => "psy" | psy ^"->" e /ws Sequence ::= Quoted => "qprod" -- 1.7.10.4