projects
/
sbp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
96f3b65
)
checkpoint
author
adam
<adam@megacz.com>
Wed, 14 Dec 2005 06:29:51 +0000
(
01:29
-0500)
committer
adam
<adam@megacz.com>
Wed, 14 Dec 2005 06:29:51 +0000
(
01:29
-0500)
darcs-hash:
20051214062951
-5007d-
79c96dbd2e9fed338f34d10eb378ebac75df2b48
.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
1c563e8
..
cb1510a
100644
(file)
--- a/
src/edu/berkeley/sbp/misc/MetaGrammar.java
+++ b/
src/edu/berkeley/sbp/misc/MetaGrammar.java
@@
-35,11
+35,11
@@
public class MetaGrammar extends ReflectiveWalker {
public Element _rightparen_(Object e) { return SELF; }
public PreSequence _amp_(PreSequence p, Object[] o) {
public Element _rightparen_(Object e) { return SELF; }
public PreSequence _amp_(PreSequence p, Object[] o) {
- p.needs.add(new PreSequence(o, null, true).buildSequence(null, true, false));
+ p.and.add(new PreSequence(o, null, true).buildSequence(null, true, false));
return p;
}
public PreSequence _amp__tilde_(PreSequence p, Object[] o) {
return p;
}
public PreSequence _amp__tilde_(PreSequence p, Object[] o) {
- p.hates.add(new PreSequence(o, null, true).buildSequence(null, true, false));
+ p.not.add(new PreSequence(o, null, true).buildSequence(null, true, false));
return p;
}
return p;
}
@@
-87,21
+87,11
@@
public class MetaGrammar extends ReflectiveWalker {
public MetaGrammar grammar(Object o, Union[] u, Object x) { return this; }
public char _backslash_n() { return '\n'; }
public char _backslash_r() { return '\r'; }
public MetaGrammar grammar(Object o, Union[] u, Object x) { return this; }
public char _backslash_n() { return '\n'; }
public char _backslash_r() { return '\r'; }
- //public String literal(String s) { return s; }
-
- public Object literal(String s) {
- Element e = CharToken.string(s);
- return new MyDrop(e);
- //dropAll.add(e);
- //return e;
- }
-
- public Range range(char a) { return new Range(a, a); }
+ public Object literal(String s) { return new MyDrop(CharToken.string(s)); }
public Range _minus_(char a, char b) { return new Range(a, b); }
public Range _minus_(char a, char b) { return new Range(a, b); }
- public Element rangesx(Range[] rr) { return ranges("~", rr); }
- public Element ranges(Range[] rr) { return ranges(null, rr); }
public Element _leftbracket_ (Range[] rr) { return ranges(null, rr); }
public Element _leftbracket__tilde_(Range[] rr) { return ranges("~", rr); }
public Element _leftbracket_ (Range[] rr) { return ranges(null, rr); }
public Element _leftbracket__tilde_(Range[] rr) { return ranges("~", rr); }
+ public Range range(char a) { return new Range(a, a); }
public Element ranges(Object o, Range[] rr) {
Range.Set ret = !"~".equals(o+"") ? new Range.Set() : new Range.Set(new Range(true, true));
if (rr != null)
public Element ranges(Object o, Range[] rr) {
Range.Set ret = !"~".equals(o+"") ? new Range.Set() : new Range.Set(new Range(true, true));
if (rr != null)
@@
-110,21
+100,6
@@
public class MetaGrammar extends ReflectiveWalker {
else ret.remove(r);
return CharToken.set(ret);
}
else ret.remove(r);
return CharToken.set(ret);
}
- public Element rangex(Object o, Object[] r) {
- Range.Set ret = o==null ? new Range.Set() : new Range.Set(new Range(true, true));
- if (r != null)
- for(Object aa : r) {
- Range range =
- aa instanceof Range
- ? (Range)aa
- : aa instanceof Character
- ? new Range(((Character)aa).charValue())
- : new Range(((String)aa).charAt(0));
- if (o==null) ret.add(range);
- else ret.remove(range);
- }
- return CharToken.set(ret);
- }
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
@@
-157,7
+132,7
@@
public class MetaGrammar extends ReflectiveWalker {
if (s[i]==null) continue;
HashSet<Sequence> temp = new HashSet<Sequence>();
for(PreSequence pre : s[i]) {
if (s[i]==null) continue;
HashSet<Sequence> temp = new HashSet<Sequence>();
for(PreSequence pre : s[i]) {
- pre.hates.addAll(seqs);
+ pre.not.addAll(seqs);
Sequence seq = pre.buildSequence(n, false, dropAll);
temp.add(seq);
n.add(seq);
Sequence seq = pre.buildSequence(n, false, dropAll);
temp.add(seq);
n.add(seq);
@@
-172,11
+147,6
@@
public class MetaGrammar extends ReflectiveWalker {
public char unescape(char c) { return StringUtil.unescapify("\\"+c).charAt(0); }
public PreSequence sequence(Object[] o) { return new PreSequence(o, null); }
public char unescape(char c) { return StringUtil.unescapify("\\"+c).charAt(0); }
public PreSequence sequence(Object[] o) { return new PreSequence(o, null); }
- public static class PreBrace {
- public final Object[] o;
- public PreBrace(Object[] o) { this.o = o; }
- }
-
public PreSequence _equals__greater_(Object[] o, String s) { return new PreSequence(o, s); }
public PreSequence wrap(Object[] o) { return new PreSequence(o, ""); }
public PreSequence mwrap(Object[] o) { return new PreSequence(o, ""); }
public PreSequence _equals__greater_(Object[] o, String s) { return new PreSequence(o, s); }
public PreSequence wrap(Object[] o) { return new PreSequence(o, ""); }
public PreSequence mwrap(Object[] o) { return new PreSequence(o, ""); }
@@
-188,6
+158,11
@@
public class MetaGrammar extends ReflectiveWalker {
return rewrite(o3);
}
return rewrite(o3);
}
+ public static class PreBrace {
+ public final Object[] o;
+ public PreBrace(Object[] o) { this.o = o; }
+ }
+
public static class Rep {
private final Element e;
private final Element s;
public static class Rep {
private final Element e;
private final Element s;
@@
-202,8
+177,8
@@
public class MetaGrammar extends ReflectiveWalker {
}
public static class PreSequence {
}
public static class PreSequence {
- public final HashSet<Sequence> needs = new HashSet<Sequence>();
- public final HashSet<Sequence> hates = new HashSet<Sequence>();
+ public final HashSet<Sequence> and = new HashSet<Sequence>();
+ public final HashSet<Sequence> not = new HashSet<Sequence>();
public /*final*/ String tag;
public final Object[] o;
public final boolean keeper;
public /*final*/ String tag;
public final Object[] o;
public final boolean keeper;
@@
-239,8
+214,6
@@
public class MetaGrammar extends ReflectiveWalker {
}
public Sequence buildSequence(Union u) { return buildSequence(u, false, false); }
public Sequence buildSequence(Union u, boolean lame, boolean dropAll) {
}
public Sequence buildSequence(Union u) { return buildSequence(u, false, false); }
public Sequence buildSequence(Union u, boolean lame, boolean dropAll) {
- HashSet<Sequence> and = needs;
- HashSet<Sequence> not = hates;
for(Sequence s : and) u.add(s);
for(Sequence s : not) u.add(s);
HashSet<Sequence> set = new HashSet<Sequence>();
for(Sequence s : and) u.add(s);
for(Sequence s : not) u.add(s);
HashSet<Sequence> set = new HashSet<Sequence>();