Exemplo n.º 1
0
 private void value() {
   if (token == Lexer.VARIABLE || token == Lexer.NUMBER) {
     root = NodeFactory.createTerminal(token, lexer.getValue());
     if (token == Lexer.VARIABLE && allowedIdentifiers != null) {
       if (!allowedIdentifiers.contains(root.getSymbol()))
         throw new MalformedExpressionException(
             String.format("Unknown identifier '%s'", root.getSymbol()));
     }
     token = lexer.nextToken();
   } else {
     throw new MalformedExpressionException(
         String.format("Value instead of <%s> expected.", token));
   }
 }