X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Ftib%2FTib.java;h=401d9c0d5c28d190a699f962a3af80dc13968b81;hp=69ac82437a8b5168c330c797de921cd65cde7d8a;hb=c366dacc334fe2e35835164f5a37d3eebb2ca6d5;hpb=08aa6cdd07a882fdedf7a6d5c7bd0d754460965b diff --git a/src/edu/berkeley/sbp/tib/Tib.java b/src/edu/berkeley/sbp/tib/Tib.java index 69ac824..401d9c0 100644 --- a/src/edu/berkeley/sbp/tib/Tib.java +++ b/src/edu/berkeley/sbp/tib/Tib.java @@ -50,8 +50,8 @@ public class Tib implements Token.Stream { boolean indenting = true; int indentation = 0; private ArrayList istack = new ArrayList(); - public CharToken next(int numstates) throws IOException { - CharToken ret = nextc(numstates); + public CharToken next(int numstates, int resets, int waits) throws IOException { + CharToken ret = nextc(numstates, resets); if (ret==CharToken.left) System.out.print("\033[31m{\033[0m"); else if (ret==CharToken.right) System.out.print("\033[31m}\033[0m"); else if (ret==null) return null; @@ -60,7 +60,7 @@ public class Tib implements Token.Stream { } CharToken waitingBrace = null; - public CharToken nextc(int numstates) throws IOException { + public CharToken nextc(int numstates, int resets) throws IOException { char c; if (waitingBrace != null) { CharToken ret = waitingBrace; @@ -85,7 +85,7 @@ public class Tib implements Token.Stream { else _col++; if (indenting) { if (c==' ') { indentation++; return done(c); } - if (c=='\n') { indentation = 0; if (blank) return nextc(numstates); blank = true; waiting = true; waitingChar='\n'; return new CharToken('\n'); } + if (c=='\n') { indentation = 0; if (blank) return nextc(numstates, resets); blank = true; waiting = true; waitingChar='\n'; return new CharToken('\n'); } int last = istack.size()==0 ? -1 : istack.get(istack.size()-1); if (indentation==last) { if (blank) { @@ -106,11 +106,11 @@ public class Tib implements Token.Stream { if (indentation > last) { indenting = false; istack.add(indentation); - System.out.print("\033[31m+"+indentation+"+\033[0m"); + //System.out.print("\033[31m+"+indentation+"+\033[0m"); return CharToken.left; } else /*if (indentation < last)*/ { istack.remove(istack.size()-1); - System.out.print("\033[31m-"+last+"-\033[0m"); + //System.out.print("\033[31m-"+last+"-\033[0m"); blank = true; return CharToken.right; } @@ -120,6 +120,7 @@ public class Tib implements Token.Stream { return done(c); } } + public CharToken done(char c) { switch(c) { case '{': return CharToken.left;