final public Identifier ValueIdentifier() throws ParseException {
    ModuleIdentifier module;
    Token dot_t;
    NodeToken value;
    Identifier identifier;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case TYPE_IDENTIFIER_T:
      module = ModuleIdentifier();
      dot_t = jj_consume_token(DOT_T);
      value = ValueExpansion();
          identifier = Identifier.Value(module,
                            value);
      break;
    case CURRENT_T:
    case DEPRECATED_T:
    case OBSOLETE_T:
    case MANDATORY_T:
    case NOT_IMPLEMENTED_T:
    case VALUE_IDENTIFIER_T:
      value = ValueExpansion();
          identifier = Identifier.Value(value);
      break;
    default:
      jj_la1[53] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
      {if (true) return identifier;}
    throw new Error("Missing return statement in function");
  }