projects
/
sbp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
e298db4
)
checkpoint
author
adam
<adam@megacz.com>
Thu, 22 Dec 2005 01:52:25 +0000
(20:52 -0500)
committer
adam
<adam@megacz.com>
Thu, 22 Dec 2005 01:52:25 +0000
(20:52 -0500)
darcs-hash:
20051222015225
-5007d-
904ad476894fe53ea97e6cb7091c73ede5782908
.gz
src/edu/berkeley/sbp/misc/MetaGrammar.java
patch
|
blob
|
history
diff --git
a/src/edu/berkeley/sbp/misc/MetaGrammar.java
b/src/edu/berkeley/sbp/misc/MetaGrammar.java
index
d03baaf
..
7b64f70
100644
(file)
--- a/
src/edu/berkeley/sbp/misc/MetaGrammar.java
+++ b/
src/edu/berkeley/sbp/misc/MetaGrammar.java
@@
-71,7
+71,6
@@
public class MetaGrammar extends ReflectiveWalker {
return n;
}
return n;
}
- public Object _backslash__leftbrace_(String s) { return SELF; }
public Object _leftbrace_(PreSequence p) {
return nonTerminal("braced"+(anon++),
new PreSequence[][] {
public Object _leftbrace_(PreSequence p) {
return nonTerminal("braced"+(anon++),
new PreSequence[][] {
@@
-86,9
+85,6
@@
public class MetaGrammar extends ReflectiveWalker {
false);
}
false);
}
- public PreSequence _equals__greater_(PreSequence p, String tag) { p.tag = tag; return p; }
-
- public PreSequence ps(Object[] o) { return new PreSequence(o); }
public PreSequence ps2(Object[] o1, String s, Object[] o2) {
if (o1==null) o1 = new Object[0];
if (o2==null) o2 = new Object[0];
public PreSequence ps2(Object[] o1, String s, Object[] o2) {
if (o1==null) o1 = new Object[0];
if (o2==null) o2 = new Object[0];
@@
-100,7
+96,6
@@
public class MetaGrammar extends ReflectiveWalker {
ret.drops[o1.length] = o3.length>1;
return ret;
}
ret.drops[o1.length] = o3.length>1;
return ret;
}
- public PreSequence _slash_(PreSequence p, Object sep) { return p.sparse(sep); }
public String string(Tree<String> tree) {
String ret = "";
public String string(Tree<String> tree) {
String ret = "";
@@
-136,6
+131,10
@@
public class MetaGrammar extends ReflectiveWalker {
else if ("literal".equals(head)) { Element ret = string(string(tree.child(0))); dropAll.add(ret); return ret; }
else if ("-".equals(head)) return new Range(walk(tree, 0).toString().charAt(0), walk(tree,1).toString().charAt(0));
else if ("range".equals(head)) return new Range(walk(tree, 0).toString().charAt(0), walk(tree,0).toString().charAt(0));
else if ("literal".equals(head)) { Element ret = string(string(tree.child(0))); dropAll.add(ret); return ret; }
else if ("-".equals(head)) return new Range(walk(tree, 0).toString().charAt(0), walk(tree,1).toString().charAt(0));
else if ("range".equals(head)) return new Range(walk(tree, 0).toString().charAt(0), walk(tree,0).toString().charAt(0));
+ else if ("gram".equals(head)) return walk(tree, 1);
+ else if ("=>".equals(head)) { PreSequence p = (PreSequence)walk(tree, 0); p.tag = string(tree.child(1)); return p; }
+ else if ("/".equals(head)) return ((PreSequence)walk(tree, 0)).sparse((Element)walk(tree, 1));
+ else if ("ps".equals(head)) return new PreSequence((Element[])walk(tree, 0));
else if ("[".equals(head) || "[~".equals(head)) {
boolean positive = "[".equals(head);
Range[] rr = (Range[])walk(tree, 0);
else if ("[".equals(head) || "[~".equals(head)) {
boolean positive = "[".equals(head);
Range[] rr = (Range[])walk(tree, 0);
@@
-149,7
+148,6
@@
public class MetaGrammar extends ReflectiveWalker {
else return super.walk(tree);
}
else return super.walk(tree);
}
- public Object gram(Object o, Object g, Object o2) { return g; }
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////