X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FParser.java;h=f239fe5edddf7c30cb61ab22b3bcc5efb3494dfd;hp=f2bb701710bc40901be1ed9275586dd194ae51c2;hb=9e202722669e70d83e3e09d926bfb40f80a1e9cb;hpb=a2008a0c57702f49ed7f8be682e4e29484fded38 diff --git a/src/edu/berkeley/sbp/Parser.java b/src/edu/berkeley/sbp/Parser.java index f2bb701..f239fe5 100644 --- a/src/edu/berkeley/sbp/Parser.java +++ b/src/edu/berkeley/sbp/Parser.java @@ -9,7 +9,6 @@ import java.util.*; /** a parser which translates an Input<Token> into a Forest<NodeType> */ public abstract class Parser { - protected final Table pt; /** create a parser to parse the grammar with start symbol u */ @@ -38,16 +37,18 @@ public abstract class Parser { loc = input.getLocation(); Token nextToken = input.next(); GSS.Phase next = gss.new Phase(current, current, nextToken, loc, input.getLocation(), forest); - if (!helpgc) { - FileOutputStream fos = new FileOutputStream("out-"+idx+".dot"); - PrintWriter p = new PrintWriter(new OutputStreamWriter(fos)); - GraphViz gv = new GraphViz(); - for(Object n : next) - ((Node)n).toGraphViz(gv); - gv.dump(p); - p.flush(); - p.close(); - } + + /* + FileOutputStream fos = new FileOutputStream("out-"+idx+".dot"); + PrintWriter p = new PrintWriter(new OutputStreamWriter(fos)); + GraphViz gv = new GraphViz(); + for(Object n : current) + ((Node)n).toGraphViz(gv); + gv.dump(p); + p.flush(); + p.close(); + */ + count = next.size(); if (current.isDone()) return (Forest)gss.finalResult; current = next; @@ -75,6 +76,8 @@ public abstract class Parser { sb.append(" reduce \""+ new edu.berkeley.sbp.chr.CharTopology((IntegerTopology)t)+"\" => " + state.reductions.getAll(t) + "\n"); + for(Sequence s : state.gotoSetNonTerminals.keySet()) + sb.append(" goto "+state.gotoSetNonTerminals.get(s)+" from " + s + "\n"); } return sb.toString(); }