final public Identifier PredefinedMacro() throws ParseException {
    Token var;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case OBJECT_TYPE_T:
      var = jj_consume_token(OBJECT_TYPE_T);
      break;
    case OBJECT_IDENTITY_T:
      var = jj_consume_token(OBJECT_IDENTITY_T);
      break;
    case OBJECT_GROUP_T:
      var = jj_consume_token(OBJECT_GROUP_T);
      break;
    case TEXTUAL_CONVENTION_T:
      var = jj_consume_token(TEXTUAL_CONVENTION_T);
      break;
    case NOTIFICATION_TYPE_T:
      var = jj_consume_token(NOTIFICATION_TYPE_T);
      break;
    case NOTIFICATION_GROUP_T:
      var = jj_consume_token(NOTIFICATION_GROUP_T);
      break;
    case MODULE_IDENTITY_T:
      var = jj_consume_token(MODULE_IDENTITY_T);
      break;
    case MODULE_COMPLIANCE_T:
      var = jj_consume_token(MODULE_COMPLIANCE_T);
      break;
    case AGENT_CAPABILITIES_T:
      var = jj_consume_token(AGENT_CAPABILITIES_T);
      break;
    case TRAP_TYPE_T:
      var = jj_consume_token(TRAP_TYPE_T);
      break;
    default:
      jj_la1[7] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
      {if (true) return Identifier.Keyword(makeNodeToken(var));}
    throw new Error("Missing return statement in function");
  }