X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Ftib%2FTib.java;h=0237e64c1dd0caa83f1ff388648081da036a4925;hb=189d68c64f7aaec90b7cdef0fb2c358fe4f0dd21;hp=0ce53b052b3bac75fcbd58d8c3e86301c55c8194;hpb=6cbea0bd6ae3e4ce5a175767b3e926b9b902bdc4;p=sbp.git diff --git a/src/edu/berkeley/sbp/tib/Tib.java b/src/edu/berkeley/sbp/tib/Tib.java index 0ce53b0..0237e64 100644 --- a/src/edu/berkeley/sbp/tib/Tib.java +++ b/src/edu/berkeley/sbp/tib/Tib.java @@ -42,19 +42,19 @@ public class Tib implements Input { int _row = 1; int _col = 0; - public Input.Location getLocation() { return new CartesianLocation(_row, _col); } + public Input.Location getLocation() { return new Cartesian.Location(_col, _row); } private BufferedReader br; - char left = CharRange.left; - char right = CharRange.right; + char left = CharAtom.left; + char right = CharAtom.right; boolean waiting = false; char waitingChar = ' '; boolean indenting = true; int indentation = 0; private ArrayList istack = new ArrayList(); - public Character next(int numstates, int resets, int waits) throws IOException { - Character ret = nextc(numstates, resets); + public Character next() throws IOException { + Character ret = nextc(); if (ret==null) return null; else if (ret==left) System.out.print("\033[31m{\033[0m"); else if (ret==right) System.out.print("\033[31m}\033[0m"); @@ -63,7 +63,7 @@ public class Tib implements Input { } Character waitingBrace = null; - public Character nextc(int numstates, int resets) throws IOException { + public Character nextc() throws IOException { char c; if (waitingBrace != null) { Character ret = waitingBrace; @@ -88,7 +88,7 @@ public class Tib implements Input { } if (indenting) { if (c==' ') { indentation++; return done(c); } - if (c=='\n') { indentation = 0; if (blank) return nextc(numstates, resets); blank = true; waiting = true; waitingChar='\n'; return '\n'; } + if (c=='\n') { indentation = 0; if (blank) return nextc(); blank = true; waiting = true; waitingChar='\n'; return '\n'; } int last = istack.size()==0 ? -1 : istack.get(istack.size()-1); if (indentation==last) { if (blank) { @@ -135,10 +135,11 @@ public class Tib implements Input { // Grammar ////////////////////////////////////////////////////////////////////////////// - public static class Grammar extends MetaGrammar { + /* + public static class Grammar extends ReflectiveGrammar { private int anon = 0; - private final Element ws = Repeat.maximal0(getNonTerminal("w")); - public Grammar() { dropAll.add(ws); } + private final Element ws = Sequence.maximal0(getNonTerminal("w")); + public Grammar(Class c) { super(c); dropAll.add(ws); } public Object walk(Tree tree) { String head = tree.head(); if (tree.numChildren()==0) return super.walk(tree); @@ -148,11 +149,11 @@ public class Tib implements Input { u2.add(Sequence.singleton(new Element[] { u }, 0)); return anonymousNonTerminal(new Sequence[][] { new Sequence[] { - Sequence.singleton(new Element[] { CharRange.leftBrace, + Sequence.singleton(new Element[] { CharAtom.leftBrace, ws, u2, ws, - CharRange.rightBrace + CharAtom.rightBrace }, 2) } }); @@ -160,6 +161,7 @@ public class Tib implements Input { return super.walk(tree); } } + */ /* public class Braces extends Union {