Still have to work on the semantics errors.
CUP$CDLParser$actions.errors = true;
Symbol symbol = (Symbol) current;
- report_error(filename+":"+(symbol.line+1)+": Syntax error at column " + LineCount.getColumn(symbol.left) +": " + current.value, current);
+
+ boolean isInteger = true;
+ try{
+ Integer.parseInt(current.value.toString());
+ } catch(NumberFormatException e) { isInteger = false;}
+
+ report_error(filename+":"+(symbol.line+1)+": Syntax error at column "
+ + (LineCount.getColumn(symbol.left)+1) +": " + current.value, current);
+
+ if (current.value.equals("true") || isInteger)
+ System.out.println("Did you mean literal("+current.value+")?");
+
+ System.out.println();
System.exit(0);
}
* specified at command line
*/
- System.out.println("\nMCC v0.0.1 - MIT LCS (Author: Daniel Roy, Brian Demsky)");
+ System.out.println("MCC v0.0.1 - MIT LCS (Author: Daniel Roy, Brian Demsky)\n");
if (cli.infile == null) {
System.err.println("\nError: no input file specified");
CUP$MDLParser$actions.errors = true;
Symbol symbol = (Symbol) current;
- report_error(filename+":"+(symbol.line+1)+": Syntax error at column " + LineCount.getColumn(symbol.left) +": " + current.value, current);
+
+ //System.out.println("current.value = "+current.value + " " + current.value.equals("true"));
+ //System.out.println("current = " + current);
+
+ boolean isInteger = true;
+ try{
+ Integer.parseInt(current.value.toString());
+ } catch(NumberFormatException e) { isInteger = false;}
+
+ report_error(filename+":"+(symbol.line+1)+": Syntax error at column "
+ + (LineCount.getColumn(symbol.left)+1) +": " + current.value, current);
+
+ if (current.value.equals("true") || isInteger)
+ System.out.println("Did you mean literal("+current.value+")?");
+
+ if (LineCount.getColumn(symbol.left) == 0)
+ System.out.println("Did you forget a semicolon on the previous line?");
+
+
+ System.out.println();
System.exit(0);
}
public void syntax_error (java_cup.runtime.Symbol current) {
CUP$SDLParser$actions.errors = true;
- Symbol symbol = (Symbol) current;
- report_error("TDL: Syntax error at line " + (symbol.line + 1)
- + ", column " + LineCount.getColumn(symbol.left) + ": " + current.value, current);
+ Symbol symbol = (Symbol) current;
+
+ report_error(filename+":"+(symbol.line+1)+": Syntax error at column "
+ + (LineCount.getColumn(symbol.left)+1) +": " + current.value, current);
+
+ System.out.println();
System.exit(0);
}
CUP$TDLParser$actions.errors = true;
Symbol symbol = (Symbol) current;
- report_error(filename+":"+(symbol.line+1)+": Syntax error at column " + LineCount.getColumn(symbol.left) +": " + current.value, current);
+ report_error(filename+":"+(symbol.line+1)+": Syntax error at column "
+ + (LineCount.getColumn(symbol.left)+1) +": " + current.value, current);
+ System.out.println();
System.exit(0);
}