X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FParseFailed.java;h=d1e60aea000771313fb538496ce064bef0c6f003;hp=eb11b11990566c919213ba4a5bc3d03c79658496;hb=acfe58223b9a0f78e64a14a1ca5d5998626ee3fe;hpb=927dc9b785de472f2237c5adbc4d2ad12f16cc2d diff --git a/src/edu/berkeley/sbp/ParseFailed.java b/src/edu/berkeley/sbp/ParseFailed.java index eb11b11..d1e60ae 100644 --- a/src/edu/berkeley/sbp/ParseFailed.java +++ b/src/edu/berkeley/sbp/ParseFailed.java @@ -8,7 +8,8 @@ import java.io.*; import java.util.*; /** thrown when the parser arrives at a state from which it is clear that no valid parse can result */ -public class ParseFailed extends RuntimeException { +public class ParseFailed extends Exception { + private final Input.Location location; private final String message; public ParseFailed() { this("", null); } @@ -22,11 +23,11 @@ public class ParseFailed extends RuntimeException { if (touched.contains(n)) return; touched.add(n); for(Position p : n.state) { - if (((p.isFirst() || p.isLast()) && !force) || p.owner().name==null) { + if (((p.isFirst() || p.isLast()) && !force)/* || p.owner().name==null*/) { for(Node n2 : n.parents()) complain(n2, errors, force | p.isFirst()); } else { - String seqname = p.owner().name; + String seqname = p.owner()/*.name*/+""; HashSet hs = errors.get(seqname); if (hs==null) errors.put(seqname, hs = new HashSet()); hs.add(p.element()+""); @@ -36,7 +37,7 @@ public class ParseFailed extends RuntimeException { public static String el(Object e) { String s = e.toString(); - if (s.length()==0 || s.charAt(0)!='\"' || s.charAt(s.length()-1)!='\"') return ANSI.yellow(s); + if (s.length()==0 || s.charAt(0)!='\"' || s.charAt(s.length()-1)!='\"') return /*ANSI.yellow(s)*/s; s = s.substring(1); s = s.substring(0, s.length()-1); StringBuffer ret = new StringBuffer(); @@ -44,13 +45,14 @@ public class ParseFailed extends RuntimeException { if (s.charAt(i)=='\\' && i nodes) { String lookAhead = token==null ? "" : token.toString(); StringBuffer ret = new StringBuffer(); ret.append("\n "); ret.append(message); + /* HashMap> errors = new HashMap>(); for(Node n : nodes) { //System.out.println(n.state); @@ -71,6 +73,7 @@ public class ParseFailed extends RuntimeException { ret.append("\n"); } } + */ return ret.toString(); }