// não era esperado um unico token, portanto só exibe o token inesperado obtido private void erroSintatico(Token obtido) { String msg = "Token inesperado: " + obtido.getTipo() + " "; if (obtido.getTipo() == TokenType.ID || obtido.getTipo() == TokenType.NUM || obtido.getTipo() == TokenType.LITERAL || obtido.getTipo() == TokenType.CARACTER) { msg += "'" + obtido.getLexema().trim() + "'"; } erros.add(new ErroSintatico(msg, obtido.getLinha())); }
// exibe token esperado na mensagem de erro private void erroSintatico(TokenType esperado, Token obtido, String mensagemContexto) { String msg = "Token inesperado: " + obtido.getTipo() + " "; if (obtido.getTipo() == TokenType.ID || obtido.getTipo() == TokenType.NUM || obtido.getTipo() == TokenType.LITERAL || obtido.getTipo() == TokenType.CARACTER) { msg += "'" + obtido.getLexema().trim() + "'"; } msg += ", esperava: " + esperado; msg = mensagemContexto + msg; erros.add(new ErroSintatico(msg, obtido.getLinha())); }