code: protected Expression parse() throws ParseException {
          Expression result = expression().simplify();
          if (tokenizer.current().isNotEnd()) {
              Token token = tokenizer.consume();
              errors.add(ParseError.error(token,
                                          String.format("Unexpected token: '%s'. Expected an expression.",
                                                        token.getSource())));
          }
          if (!errors.isEmpty()) {
              throw ParseException.create(errors);
          }
          return result;
      }
docs: Parses the expression in <tt>input</tt>
  
  @return the parsed expression
  @throws ParseException if the expression contains one or more errors