public void run() { try { Scanner s = new Scanner(this.reader); Parser p = new Parser(s); Symbol root = p.parse(); Program prog = (Program) root.value; prog.accept(new PrettyPrintVisitor()); System.out.print("Parser rodou com sucesso!"); } catch (CompilerException e) { // erro de compilação do arquivo de entrada System.err.println(e.getMessage()); } catch (Exception e) { // erro do compilador System.err.println("Erro inesperado no parser: " + e.toString()); e.printStackTrace(); } }