X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FGSS.java;h=89a16ed8c5c3e9b22e07be5fe5d7e1aa7ed1d6f0;hp=bd2ecd6539b2bc91963b944a48ccca080634b70c;hb=5d18f5606c9296e6b0c5749f05fc68f358ace2f6;hpb=6a2ea790f843e058c7e67d3c7d1deebadcfe1fd5 diff --git a/src/edu/berkeley/sbp/GSS.java b/src/edu/berkeley/sbp/GSS.java index bd2ecd6..89a16ed 100644 --- a/src/edu/berkeley/sbp/GSS.java +++ b/src/edu/berkeley/sbp/GSS.java @@ -234,7 +234,10 @@ class GSS { } if (!good && token!=null) - throw new ParseFailed(ParseFailed.error(ANSI.red("unexpected character")+" "+ANSI.purple(token)+" encountered at "+ANSI.green(getLocation())+"\n", token, hash.values()), + throw new ParseFailed(ParseFailed.error(ANSI.red("unexpected character ")+" \'"+ + ANSI.purple(StringUtil.escapify(token+"", "\\\'\r\n"))+ + "\' encountered at "+ + ANSI.green(getLocation())+"\n", token, hash.values()), getLocation()); if (token==null && finalResult==null) throw new ParseFailed(ParseFailed.error(ANSI.red("unexpected end of file\n"), token, hash.values()), @@ -290,6 +293,7 @@ class GSS { else state.invokeReductions(token, this, this, n2); } + public void performEmptyReductions() { state.invokeReductions(token, this, null, null); } public final void invoke(Position r, Node n, Node n2) { if (n==null || n2==null || r.pos==0) { if (r.pos==0) { @@ -348,8 +352,6 @@ class GSS { target.newNode(this, result, state0, r.pos<=0, r); } - public void performEmptyReductions() { state.invokeReductions(token, this, null, null); } - private Node(Node parent, Forest pending, State state) { this.state = state; this.holder().merge(pending);