From a8557393549ac4b967ea0e61513c2f85d497c861 Mon Sep 17 00:00:00 2001 From: romildo Date: Sat, 8 Oct 2016 15:01:34 -0300 Subject: [PATCH] Report errors using the error manager --- src/main/java/main/Driver.java | 4 ++++ src/main/jflex/lexer.jflex | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/main/Driver.java b/src/main/java/main/Driver.java index 1cb35b6..f06eab3 100644 --- a/src/main/java/main/Driver.java +++ b/src/main/java/main/Driver.java @@ -14,6 +14,8 @@ import parse.Lexer; import parse.SymbolConstants; +import static error.ErrorManager.em; + // command line options class DriverOptions { @Parameter(description = "") @@ -60,6 +62,8 @@ public static void main(String[] args) { // do only lexical analyses if (options.lexer) lexicalAnalysis(input); + + em.summary(); } catch (IOException e) { System.out.println(e.getMessage()); diff --git a/src/main/jflex/lexer.jflex b/src/main/jflex/lexer.jflex index 2d662b6..c79771e 100644 --- a/src/main/jflex/lexer.jflex +++ b/src/main/jflex/lexer.jflex @@ -1,5 +1,7 @@ package parse; +import static error.ErrorManager.em; + import java_cup.runtime.Symbol; import java_cup.runtime.ComplexSymbolFactory.Location; import java_cup.runtime.ComplexSymbolFactory; @@ -54,4 +56,4 @@ import java_cup.runtime.ComplexSymbolFactory; "(" { return tok(LPAREN); } ")" { return tok(RPAREN); } -. { System.out.printf("unexpected char |%s|\n", yytext()); } +. { em.error(Loc.loc(locLeft()), "unexpected char '%s'", yytext()); }