checkpoint
[sbp.git] / src / edu / berkeley / sbp / GSS.java
index d25593f..8124590 100644 (file)
@@ -43,12 +43,12 @@ class GSS {
         private boolean good;
         private Phase next = null;
         private Phase prev;
-        private Token.Location location;
+        private Input.Location location;
         public final Parser parser;
 
         private Forest forest;
 
-        public Phase(Phase prev, Parser parser, Phase previous, Tok token, Token.Location location, Forest forest) {
+        public Phase(Phase prev, Parser parser, Phase previous, Tok token, Input.Location location, Forest forest) {
             this.prev = prev;
             this.forest = forest;
             this.parser = parser;
@@ -81,7 +81,7 @@ class GSS {
             return true;
         }
 
-        public Token.Location getLocation() { return location; }
+        public Input.Location getLocation() { return location; }
 
         /** add a new node (merging with existing nodes if possible)
          *  @param parent             the parent of the new node
@@ -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()),