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:
cc74b54
)
checkpoint
author
adam
<adam@megacz.com>
Thu, 22 Dec 2005 01:21:55 +0000
(20:21 -0500)
committer
adam
<adam@megacz.com>
Thu, 22 Dec 2005 01:21:55 +0000
(20:21 -0500)
darcs-hash:
20051222012155
-5007d-
9a4d52f1f1d3819b1099842f04011cbea4849f7d
.gz
src/edu/berkeley/sbp/misc/MetaGrammar.java
patch
|
blob
|
history
src/edu/berkeley/sbp/misc/RegressionTests.java
patch
|
blob
|
history
src/edu/berkeley/sbp/misc/TreeWalker.java
patch
|
blob
|
history
diff --git
a/src/edu/berkeley/sbp/misc/MetaGrammar.java
b/src/edu/berkeley/sbp/misc/MetaGrammar.java
index
1cf8d8c
..
e7aa685
100644
(file)
--- a/
src/edu/berkeley/sbp/misc/MetaGrammar.java
+++ b/
src/edu/berkeley/sbp/misc/MetaGrammar.java
@@
-128,9
+128,7
@@
public class MetaGrammar extends ReflectiveWalker {
else return super.walk(tree);
}
else return super.walk(tree);
}
- public MetaGrammar grammar(Object o, Union[] u, Object x) { return this; }
public Object gram(Object o, Object g, Object o2) { return g; }
public Object gram(Object o, Object g, Object o2) { return g; }
- public MetaGrammar grammar(Object[] o) { return this; }
public Element literal(String s) { Element ret = string(s); dropAll.add(ret); return ret; }
public Range _minus_(char a, char b) { return new Range(a, b); }
public Range range(char a) { return new Range(a, a); }
public Element literal(String s) { Element ret = string(s); dropAll.add(ret); return ret; }
public Range _minus_(char a, char b) { return new Range(a, b); }
public Range range(char a) { return new Range(a, a); }
diff --git
a/src/edu/berkeley/sbp/misc/RegressionTests.java
b/src/edu/berkeley/sbp/misc/RegressionTests.java
index
7acb66a
..
74eecd8
100644
(file)
--- a/
src/edu/berkeley/sbp/misc/RegressionTests.java
+++ b/
src/edu/berkeley/sbp/misc/RegressionTests.java
@@
-136,16
+136,9
@@
public class RegressionTests {
public MetaGrammar grammar(Object[] o) { return this; }
public Object walk(Tree<String> tree) {
public MetaGrammar grammar(Object[] o) { return this; }
public Object walk(Tree<String> tree) {
- if ("grammar".equals(tree.head())) { for(Tree<String> t : tree.children()) walk(t); return done("s"); }
- //if ("grammar".equals(tree.head())) return done("s");
+ if ("grammar".equals(tree.head())) { walkChildren(tree); return done("s"); }
else return super.walk(tree);
}
else return super.walk(tree);
}
- /*
- public Object walk(String head, Object[] args) {
- if ("grammar".equals(head)) return done("s");
- else return super.walk(head, args);
- }
- */
}
private static String pad(int i,String s) { return s.length() >= i ? s : pad(i-1,s)+" "; }
}
private static String pad(int i,String s) { return s.length() >= i ? s : pad(i-1,s)+" "; }
diff --git
a/src/edu/berkeley/sbp/misc/TreeWalker.java
b/src/edu/berkeley/sbp/misc/TreeWalker.java
index
38cbb81
..
74f3f07
100644
(file)
--- a/
src/edu/berkeley/sbp/misc/TreeWalker.java
+++ b/
src/edu/berkeley/sbp/misc/TreeWalker.java
@@
-10,6
+10,9
@@
import edu.berkeley.sbp.*;
public abstract class TreeWalker<T> {
public abstract Object walk(T head, Object[] args);
public abstract class TreeWalker<T> {
public abstract Object walk(T head, Object[] args);
+ public void walkChildren(Tree<T> tree) {
+ for(Tree<T> child : tree.children()) walk(child);
+ }
public Object walk(Tree<T> tree) {
Object[] args = new Object[tree.numChildren()];
int i = 0;
public Object walk(Tree<T> tree) {
Object[] args = new Object[tree.numChildren()];
int i = 0;