From 804f5815acb68f318ef9ca35f6f13b4d5dd819ad Mon Sep 17 00:00:00 2001 From: adam Date: Mon, 19 Dec 2005 02:42:23 -0500 Subject: [PATCH] checkpoint darcs-hash:20051219074223-5007d-0daea4e82403f1100c2c5b823241e4e530d74dbe.gz --- src/edu/berkeley/sbp/misc/MetaGrammar.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/edu/berkeley/sbp/misc/MetaGrammar.java b/src/edu/berkeley/sbp/misc/MetaGrammar.java index f1ae308..092710b 100644 --- a/src/edu/berkeley/sbp/misc/MetaGrammar.java +++ b/src/edu/berkeley/sbp/misc/MetaGrammar.java @@ -110,9 +110,13 @@ public class MetaGrammar extends ReflectiveWalker { if (o2==null) o2 = new Object[0]; Object[] o3 = new Object[o1.length + o2.length + 1]; System.arraycopy(o1, 0, o3, 0, o1.length); - o3[o1.length] = new MyLift(s); + Element es = string(s); + //dropAll.add(es); + o3[o1.length] = es; System.arraycopy(o2, 0, o3, o1.length+1, o2.length); - return new PreSequence(o3); + PreSequence ret = new PreSequence(o3, s); + ret.drops[o1.length] = o3.length>1; + return ret; } public PreSequence _slash_(PreSequence p, Object sep) { return p.sparse(sep); } @@ -143,11 +147,6 @@ public class MetaGrammar extends ReflectiveWalker { return set(ret); } - public class MyLift { - public final String s; - public MyLift(String s) { this.s = s; } - } - public class PreSequence { public final HashSet and = new HashSet(); public final HashSet not = new HashSet(); @@ -210,7 +209,6 @@ public class MetaGrammar extends ReflectiveWalker { for(int i=0; i1; } else o2[j] = (Element)oi; if (MetaGrammar.dropAll.contains(o2[j])) drops[j] = true; -- 1.7.10.4