final public Identifier SmiTypes() throws ParseException {
    Token var;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case IP_ADDRESS_T:
      var = jj_consume_token(IP_ADDRESS_T);
      break;
    case NETWORK_ADDRESS_T:
      var = jj_consume_token(NETWORK_ADDRESS_T);
      break;
    case NSAP_ADDRESS_T:
      var = jj_consume_token(NSAP_ADDRESS_T);
      break;
    case COUNTER_T:
      var = jj_consume_token(COUNTER_T);
      break;
    case COUNTER32_T:
      var = jj_consume_token(COUNTER32_T);
      break;
    case COUNTER64_T:
      var = jj_consume_token(COUNTER64_T);
      break;
    case GAUGE_T:
      var = jj_consume_token(GAUGE_T);
      break;
    case GAUGE32_T:
      var = jj_consume_token(GAUGE32_T);
      break;
    case TIMETICKS_T:
      var = jj_consume_token(TIMETICKS_T);
      break;
    case OPAQUE_T:
      var = jj_consume_token(OPAQUE_T);
      break;
    case INTEGER32_T:
      var = jj_consume_token(INTEGER32_T);
      break;
    case UINTEGER32_T:
      var = jj_consume_token(UINTEGER32_T);
      break;
    case UNSIGNED32_T:
      var = jj_consume_token(UNSIGNED32_T);
      break;
    default:
      jj_la1[8] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
      {if (true) return Identifier.Keyword(makeNodeToken(var));}
    throw new Error("Missing return statement in function");
  }