checkpoint
authoradam <adam@megacz.com>
Sun, 6 Aug 2006 03:30:24 +0000 (23:30 -0400)
committeradam <adam@megacz.com>
Sun, 6 Aug 2006 03:30:24 +0000 (23:30 -0400)
darcs-hash:20060806033024-5007d-9bc26929b632e0768bf2182feb0ea78b36aac038.gz

src/edu/berkeley/sbp/Walk.java

index fe09158..a92bcb8 100644 (file)
@@ -18,7 +18,7 @@ abstract class Walk<T> {
     public Walk() { this(null); }
     public Walk(Cache c) { this.c = c; }
 
     public Walk() { this(null); }
     public Walk(Cache c) { this.c = c; }
 
-    public  T sequence(Sequence s) {
+    public  T walkSequence(Sequence s) {
         T ret = bottom(s);
         for(Position p = s.firstp(); p!=null && !p.isLast(); p = p.next())
             ret = sequence(s, ret, walk(p.element()));
         T ret = bottom(s);
         for(Position p = s.firstp(); p!=null && !p.isLast(); p = p.next())
             ret = sequence(s, ret, walk(p.element()));
@@ -36,7 +36,7 @@ abstract class Walk<T> {
 
     protected T walk2(SequenceOrElement e) {
         if      (e instanceof Atom)     return walkAtom((Atom)e);
 
     protected T walk2(SequenceOrElement e) {
         if      (e instanceof Atom)     return walkAtom((Atom)e);
-        else if (e instanceof Sequence) return sequence((Sequence)e);
+        else if (e instanceof Sequence) return walkSequence((Sequence)e);
         else if (e instanceof Union) {
             T ret = bottom(e);
             for(Sequence s : (Union)e) {
         else if (e instanceof Union) {
             T ret = bottom(e);
             for(Sequence s : (Union)e) {
@@ -57,7 +57,7 @@ abstract class Walk<T> {
         public final HashSet<SequenceOrElement> walk() { return walk(e); }
         public YieldSet(SequenceOrElement e, Cache c)  { super(c); this.e = e; }
         public HashSet<SequenceOrElement> bottom(SequenceOrElement e)     { return acc; }
         public final HashSet<SequenceOrElement> walk() { return walk(e); }
         public YieldSet(SequenceOrElement e, Cache c)  { super(c); this.e = e; }
         public HashSet<SequenceOrElement> bottom(SequenceOrElement e)     { return acc; }
-        public HashSet<SequenceOrElement> sequence(Sequence seq) { return bottom(seq); }
+        public HashSet<SequenceOrElement> walkSequence(Sequence seq) { return bottom(seq); }
         public HashSet<SequenceOrElement> walkAtom(Atom r) {
             c.atoms.put(e, c.atoms.get(e)==null ? r : c.atoms.get(e).union(r));
             return super.walkAtom(r);
         public HashSet<SequenceOrElement> walkAtom(Atom r) {
             c.atoms.put(e, c.atoms.get(e)==null ? r : c.atoms.get(e).union(r));
             return super.walkAtom(r);
@@ -95,7 +95,7 @@ abstract class Walk<T> {
 
     static class First<Tok extends Input> extends WalkTokenSet<Tok> {
         public First(Topology<Tok> cs, Walk.Cache cache) { super(cs, cache); }
 
     static class First<Tok extends Input> extends WalkTokenSet<Tok> {
         public First(Topology<Tok> cs, Walk.Cache cache) { super(cs, cache); }
-        public Topology<Tok> sequence(Sequence seq) {
+        public Topology<Tok> walkSequence(Sequence seq) {
             for(Position p = seq.firstp(); p!=null && !p.isLast(); p = p.next()) {
                 walk(p.element());
                 if (!c.possiblyEpsilon(p.element())) break;
             for(Position p = seq.firstp(); p!=null && !p.isLast(); p = p.next()) {
                 walk(p.element());
                 if (!c.possiblyEpsilon(p.element())) break;
@@ -108,11 +108,11 @@ abstract class Walk<T> {
         private final SequenceOrElement me;
         private final HashSet<SequenceOrElement> all;
         private boolean eof = false;
         private final SequenceOrElement me;
         private final HashSet<SequenceOrElement> all;
         private boolean eof = false;
-        //public boolean includesEof() { return eof; }
+        public boolean includesEof() { return eof; }
         public Follow(Topology<Tok> cs, SequenceOrElement me, HashSet<SequenceOrElement> all, Cache c)  {
           super(cs, c); this.me = me; this.all = all; }
         public Topology<Tok> bottom(SequenceOrElement e)                       { return cs; }
         public Follow(Topology<Tok> cs, SequenceOrElement me, HashSet<SequenceOrElement> all, Cache c)  {
           super(cs, c); this.me = me; this.all = all; }
         public Topology<Tok> bottom(SequenceOrElement e)                       { return cs; }
-        public Topology<Tok> sequence(Sequence seq)                  { return cs; }
+        public Topology<Tok> walkSequence(Sequence seq)                  { return cs; }
         public Topology<Tok> walkAtom(Atom r) { return walk((SequenceOrElement)r); }
         public Topology<Tok> walk(SequenceOrElement e) {
             if (acc.contains(e)) return bottom(e);
         public Topology<Tok> walkAtom(Atom r) { return walk((SequenceOrElement)r); }
         public Topology<Tok> walk(SequenceOrElement e) {
             if (acc.contains(e)) return bottom(e);