final public NamedNumber NamedNumber_Rule(Recovery next) throws ParseException {
    Identifier identifier = null;
    Token number_t;
    NumericValue number = null;
    try {
      identifier = ValueIdentifier();
      jj_consume_token(LEFT_PAREN_T);
      try {
        number_t = jj_consume_token(DEC_NUMBER_T);
              number = new NumericValue(makeNodeToken(number_t));
      } catch (ParseException e) {
            handleError(e, next, "<number>");
      }
      jj_consume_token(RIGHT_PAREN_T);
    } catch (ParseException e) {
        if (e.currentToken.kind == DEC_NUMBER_T) {
            handleError(e, next, "')' for <named number :" + identifier + ">");
        } else if (e.currentToken.kind == LEFT_PAREN_T) {
            handleError(e, next, "<number> for <named number :" + identifier + ">");
        } else if (e.currentToken.kind == VALUE_IDENTIFIER_T) {
            handleError(e, next, "'(' for <named number :" + identifier + ">");
        } else {
            handleError(e, next, "<named number>");
        }
    }
      {if (true) return new NamedNumber(identifier,
                            number);}
    throw new Error("Missing return statement in function");
  }