/// @file xed-nonterminal-enum.c

// This file was automatically generated.
// Do not edit this file.

#include <string.h>
#include <assert.h>
#include "xed-nonterminal-enum.h"

typedef struct {
    const char* name;
    xed_nonterminal_enum_t value;
} name_table_xed_nonterminal_enum_t;
static const name_table_xed_nonterminal_enum_t name_array_xed_nonterminal_enum_t[] = {
{"INVALID", XED_NONTERMINAL_INVALID},
{"AR10", XED_NONTERMINAL_AR10},
{"AR11", XED_NONTERMINAL_AR11},
{"AR12", XED_NONTERMINAL_AR12},
{"AR13", XED_NONTERMINAL_AR13},
{"AR14", XED_NONTERMINAL_AR14},
{"AR15", XED_NONTERMINAL_AR15},
{"AR8", XED_NONTERMINAL_AR8},
{"AR9", XED_NONTERMINAL_AR9},
{"ARAX", XED_NONTERMINAL_ARAX},
{"ARBP", XED_NONTERMINAL_ARBP},
{"ARBX", XED_NONTERMINAL_ARBX},
{"ARCX", XED_NONTERMINAL_ARCX},
{"ARDI", XED_NONTERMINAL_ARDI},
{"ARDX", XED_NONTERMINAL_ARDX},
{"ARSI", XED_NONTERMINAL_ARSI},
{"ARSP", XED_NONTERMINAL_ARSP},
{"ASZ_NONTERM", XED_NONTERMINAL_ASZ_NONTERM},
{"AVX512_ROUND", XED_NONTERMINAL_AVX512_ROUND},
{"AVX_INSTRUCTIONS", XED_NONTERMINAL_AVX_INSTRUCTIONS},
{"AVX_SPLITTER", XED_NONTERMINAL_AVX_SPLITTER},
{"A_GPR_B", XED_NONTERMINAL_A_GPR_B},
{"A_GPR_R", XED_NONTERMINAL_A_GPR_R},
{"BND_B", XED_NONTERMINAL_BND_B},
{"BND_B_CHECK", XED_NONTERMINAL_BND_B_CHECK},
{"BND_R", XED_NONTERMINAL_BND_R},
{"BND_R_CHECK", XED_NONTERMINAL_BND_R_CHECK},
{"BRANCH_HINT", XED_NONTERMINAL_BRANCH_HINT},
{"BRDISP32", XED_NONTERMINAL_BRDISP32},
{"BRDISP8", XED_NONTERMINAL_BRDISP8},
{"BRDISPZ", XED_NONTERMINAL_BRDISPZ},
{"CET_NO_TRACK", XED_NONTERMINAL_CET_NO_TRACK},
{"CR_B", XED_NONTERMINAL_CR_B},
{"CR_R", XED_NONTERMINAL_CR_R},
{"CR_WIDTH", XED_NONTERMINAL_CR_WIDTH},
{"DF64", XED_NONTERMINAL_DF64},
{"DR_R", XED_NONTERMINAL_DR_R},
{"ESIZE_128_BITS", XED_NONTERMINAL_ESIZE_128_BITS},
{"ESIZE_16_BITS", XED_NONTERMINAL_ESIZE_16_BITS},
{"ESIZE_1_BITS", XED_NONTERMINAL_ESIZE_1_BITS},
{"ESIZE_2_BITS", XED_NONTERMINAL_ESIZE_2_BITS},
{"ESIZE_32_BITS", XED_NONTERMINAL_ESIZE_32_BITS},
{"ESIZE_4_BITS", XED_NONTERMINAL_ESIZE_4_BITS},
{"ESIZE_64_BITS", XED_NONTERMINAL_ESIZE_64_BITS},
{"ESIZE_8_BITS", XED_NONTERMINAL_ESIZE_8_BITS},
{"EVEX_INSTRUCTIONS", XED_NONTERMINAL_EVEX_INSTRUCTIONS},
{"EVEX_SPLITTER", XED_NONTERMINAL_EVEX_SPLITTER},
{"FINAL_DSEG", XED_NONTERMINAL_FINAL_DSEG},
{"FINAL_DSEG1", XED_NONTERMINAL_FINAL_DSEG1},
{"FINAL_DSEG1_MODE64", XED_NONTERMINAL_FINAL_DSEG1_MODE64},
{"FINAL_DSEG1_NOT64", XED_NONTERMINAL_FINAL_DSEG1_NOT64},
{"FINAL_DSEG_MODE64", XED_NONTERMINAL_FINAL_DSEG_MODE64},
{"FINAL_DSEG_NOT64", XED_NONTERMINAL_FINAL_DSEG_NOT64},
{"FINAL_ESEG", XED_NONTERMINAL_FINAL_ESEG},
{"FINAL_ESEG1", XED_NONTERMINAL_FINAL_ESEG1},
{"FINAL_SSEG", XED_NONTERMINAL_FINAL_SSEG},
{"FINAL_SSEG0", XED_NONTERMINAL_FINAL_SSEG0},
{"FINAL_SSEG1", XED_NONTERMINAL_FINAL_SSEG1},
{"FINAL_SSEG_MODE64", XED_NONTERMINAL_FINAL_SSEG_MODE64},
{"FINAL_SSEG_NOT64", XED_NONTERMINAL_FINAL_SSEG_NOT64},
{"FIX_ROUND_LEN128", XED_NONTERMINAL_FIX_ROUND_LEN128},
{"FIX_ROUND_LEN512", XED_NONTERMINAL_FIX_ROUND_LEN512},
{"FORCE64", XED_NONTERMINAL_FORCE64},
{"GPR16_B", XED_NONTERMINAL_GPR16_B},
{"GPR16_R", XED_NONTERMINAL_GPR16_R},
{"GPR16_SB", XED_NONTERMINAL_GPR16_SB},
{"GPR32_B", XED_NONTERMINAL_GPR32_B},
{"GPR32_R", XED_NONTERMINAL_GPR32_R},
{"GPR32_SB", XED_NONTERMINAL_GPR32_SB},
{"GPR32_X", XED_NONTERMINAL_GPR32_X},
{"GPR64_B", XED_NONTERMINAL_GPR64_B},
{"GPR64_R", XED_NONTERMINAL_GPR64_R},
{"GPR64_SB", XED_NONTERMINAL_GPR64_SB},
{"GPR64_X", XED_NONTERMINAL_GPR64_X},
{"GPR8_B", XED_NONTERMINAL_GPR8_B},
{"GPR8_R", XED_NONTERMINAL_GPR8_R},
{"GPR8_SB", XED_NONTERMINAL_GPR8_SB},
{"GPRV_B", XED_NONTERMINAL_GPRV_B},
{"GPRV_R", XED_NONTERMINAL_GPRV_R},
{"GPRV_SB", XED_NONTERMINAL_GPRV_SB},
{"GPRY_B", XED_NONTERMINAL_GPRY_B},
{"GPRY_R", XED_NONTERMINAL_GPRY_R},
{"GPRZ_B", XED_NONTERMINAL_GPRZ_B},
{"GPRZ_R", XED_NONTERMINAL_GPRZ_R},
{"IGNORE66", XED_NONTERMINAL_IGNORE66},
{"IMMUNE66", XED_NONTERMINAL_IMMUNE66},
{"IMMUNE66_LOOP64", XED_NONTERMINAL_IMMUNE66_LOOP64},
{"IMMUNE_REXW", XED_NONTERMINAL_IMMUNE_REXW},
{"INSTRUCTIONS", XED_NONTERMINAL_INSTRUCTIONS},
{"ISA", XED_NONTERMINAL_ISA},
{"MASK1", XED_NONTERMINAL_MASK1},
{"MASKNOT0", XED_NONTERMINAL_MASKNOT0},
{"MASK_B", XED_NONTERMINAL_MASK_B},
{"MASK_N", XED_NONTERMINAL_MASK_N},
{"MASK_N32", XED_NONTERMINAL_MASK_N32},
{"MASK_N64", XED_NONTERMINAL_MASK_N64},
{"MASK_R", XED_NONTERMINAL_MASK_R},
{"MEMDISP", XED_NONTERMINAL_MEMDISP},
{"MEMDISP16", XED_NONTERMINAL_MEMDISP16},
{"MEMDISP32", XED_NONTERMINAL_MEMDISP32},
{"MEMDISP8", XED_NONTERMINAL_MEMDISP8},
{"MEMDISPV", XED_NONTERMINAL_MEMDISPV},
{"MMX_B", XED_NONTERMINAL_MMX_B},
{"MMX_R", XED_NONTERMINAL_MMX_R},
{"MODRM", XED_NONTERMINAL_MODRM},
{"MODRM16", XED_NONTERMINAL_MODRM16},
{"MODRM32", XED_NONTERMINAL_MODRM32},
{"MODRM64ALT32", XED_NONTERMINAL_MODRM64ALT32},
{"NELEM_EIGHTHMEM", XED_NONTERMINAL_NELEM_EIGHTHMEM},
{"NELEM_FULL", XED_NONTERMINAL_NELEM_FULL},
{"NELEM_FULLMEM", XED_NONTERMINAL_NELEM_FULLMEM},
{"NELEM_GPR_READER", XED_NONTERMINAL_NELEM_GPR_READER},
{"NELEM_GPR_READER_BYTE", XED_NONTERMINAL_NELEM_GPR_READER_BYTE},
{"NELEM_GPR_READER_SUBDWORD", XED_NONTERMINAL_NELEM_GPR_READER_SUBDWORD},
{"NELEM_GPR_READER_WORD", XED_NONTERMINAL_NELEM_GPR_READER_WORD},
{"NELEM_GPR_WRITER_LDOP", XED_NONTERMINAL_NELEM_GPR_WRITER_LDOP},
{"NELEM_GPR_WRITER_LDOP_D", XED_NONTERMINAL_NELEM_GPR_WRITER_LDOP_D},
{"NELEM_GPR_WRITER_LDOP_Q", XED_NONTERMINAL_NELEM_GPR_WRITER_LDOP_Q},
{"NELEM_GPR_WRITER_STORE", XED_NONTERMINAL_NELEM_GPR_WRITER_STORE},
{"NELEM_GPR_WRITER_STORE_BYTE", XED_NONTERMINAL_NELEM_GPR_WRITER_STORE_BYTE},
{"NELEM_GPR_WRITER_STORE_SUBDWORD", XED_NONTERMINAL_NELEM_GPR_WRITER_STORE_SUBDWORD},
{"NELEM_GPR_WRITER_STORE_WORD", XED_NONTERMINAL_NELEM_GPR_WRITER_STORE_WORD},
{"NELEM_GSCAT", XED_NONTERMINAL_NELEM_GSCAT},
{"NELEM_HALF", XED_NONTERMINAL_NELEM_HALF},
{"NELEM_HALFMEM", XED_NONTERMINAL_NELEM_HALFMEM},
{"NELEM_MEM128", XED_NONTERMINAL_NELEM_MEM128},
{"NELEM_MOVDDUP", XED_NONTERMINAL_NELEM_MOVDDUP},
{"NELEM_QUARTER", XED_NONTERMINAL_NELEM_QUARTER},
{"NELEM_QUARTERMEM", XED_NONTERMINAL_NELEM_QUARTERMEM},
{"NELEM_SCALAR", XED_NONTERMINAL_NELEM_SCALAR},
{"NELEM_TUPLE1", XED_NONTERMINAL_NELEM_TUPLE1},
{"NELEM_TUPLE1_4X", XED_NONTERMINAL_NELEM_TUPLE1_4X},
{"NELEM_TUPLE1_BYTE", XED_NONTERMINAL_NELEM_TUPLE1_BYTE},
{"NELEM_TUPLE1_SUBDWORD", XED_NONTERMINAL_NELEM_TUPLE1_SUBDWORD},
{"NELEM_TUPLE1_WORD", XED_NONTERMINAL_NELEM_TUPLE1_WORD},
{"NELEM_TUPLE2", XED_NONTERMINAL_NELEM_TUPLE2},
{"NELEM_TUPLE4", XED_NONTERMINAL_NELEM_TUPLE4},
{"NELEM_TUPLE8", XED_NONTERMINAL_NELEM_TUPLE8},
{"OEAX", XED_NONTERMINAL_OEAX},
{"ONE", XED_NONTERMINAL_ONE},
{"ORAX", XED_NONTERMINAL_ORAX},
{"ORBP", XED_NONTERMINAL_ORBP},
{"ORBX", XED_NONTERMINAL_ORBX},
{"ORCX", XED_NONTERMINAL_ORCX},
{"ORDX", XED_NONTERMINAL_ORDX},
{"ORSP", XED_NONTERMINAL_ORSP},
{"OSZ_NONTERM", XED_NONTERMINAL_OSZ_NONTERM},
{"OVERRIDE_SEG0", XED_NONTERMINAL_OVERRIDE_SEG0},
{"OVERRIDE_SEG1", XED_NONTERMINAL_OVERRIDE_SEG1},
{"PREFIXES", XED_NONTERMINAL_PREFIXES},
{"REFINING66", XED_NONTERMINAL_REFINING66},
{"REMOVE_SEGMENT", XED_NONTERMINAL_REMOVE_SEGMENT},
{"RFLAGS", XED_NONTERMINAL_RFLAGS},
{"RIP", XED_NONTERMINAL_RIP},
{"RIPA", XED_NONTERMINAL_RIPA},
{"SAE", XED_NONTERMINAL_SAE},
{"SEG", XED_NONTERMINAL_SEG},
{"SEG_MOV", XED_NONTERMINAL_SEG_MOV},
{"SE_IMM8", XED_NONTERMINAL_SE_IMM8},
{"SIB", XED_NONTERMINAL_SIB},
{"SIB_BASE0", XED_NONTERMINAL_SIB_BASE0},
{"SIMM8", XED_NONTERMINAL_SIMM8},
{"SIMMZ", XED_NONTERMINAL_SIMMZ},
{"SRBP", XED_NONTERMINAL_SRBP},
{"SRSP", XED_NONTERMINAL_SRSP},
{"TMM_B", XED_NONTERMINAL_TMM_B},
{"TMM_N", XED_NONTERMINAL_TMM_N},
{"TMM_R", XED_NONTERMINAL_TMM_R},
{"UIMM16", XED_NONTERMINAL_UIMM16},
{"UIMM32", XED_NONTERMINAL_UIMM32},
{"UIMM8", XED_NONTERMINAL_UIMM8},
{"UIMM8_1", XED_NONTERMINAL_UIMM8_1},
{"UIMMV", XED_NONTERMINAL_UIMMV},
{"UISA_VMODRM_XMM", XED_NONTERMINAL_UISA_VMODRM_XMM},
{"UISA_VMODRM_YMM", XED_NONTERMINAL_UISA_VMODRM_YMM},
{"UISA_VMODRM_ZMM", XED_NONTERMINAL_UISA_VMODRM_ZMM},
{"UISA_VSIB_BASE", XED_NONTERMINAL_UISA_VSIB_BASE},
{"UISA_VSIB_INDEX_XMM", XED_NONTERMINAL_UISA_VSIB_INDEX_XMM},
{"UISA_VSIB_INDEX_YMM", XED_NONTERMINAL_UISA_VSIB_INDEX_YMM},
{"UISA_VSIB_INDEX_ZMM", XED_NONTERMINAL_UISA_VSIB_INDEX_ZMM},
{"UISA_VSIB_XMM", XED_NONTERMINAL_UISA_VSIB_XMM},
{"UISA_VSIB_YMM", XED_NONTERMINAL_UISA_VSIB_YMM},
{"UISA_VSIB_ZMM", XED_NONTERMINAL_UISA_VSIB_ZMM},
{"VGPR32_B", XED_NONTERMINAL_VGPR32_B},
{"VGPR32_B_32", XED_NONTERMINAL_VGPR32_B_32},
{"VGPR32_B_64", XED_NONTERMINAL_VGPR32_B_64},
{"VGPR32_N", XED_NONTERMINAL_VGPR32_N},
{"VGPR32_N_32", XED_NONTERMINAL_VGPR32_N_32},
{"VGPR32_N_64", XED_NONTERMINAL_VGPR32_N_64},
{"VGPR32_R", XED_NONTERMINAL_VGPR32_R},
{"VGPR32_R_32", XED_NONTERMINAL_VGPR32_R_32},
{"VGPR32_R_64", XED_NONTERMINAL_VGPR32_R_64},
{"VGPR64_B", XED_NONTERMINAL_VGPR64_B},
{"VGPR64_N", XED_NONTERMINAL_VGPR64_N},
{"VGPR64_R", XED_NONTERMINAL_VGPR64_R},
{"VGPRY_B", XED_NONTERMINAL_VGPRY_B},
{"VGPRY_N", XED_NONTERMINAL_VGPRY_N},
{"VGPRY_R", XED_NONTERMINAL_VGPRY_R},
{"VMODRM_XMM", XED_NONTERMINAL_VMODRM_XMM},
{"VMODRM_YMM", XED_NONTERMINAL_VMODRM_YMM},
{"VSIB_BASE", XED_NONTERMINAL_VSIB_BASE},
{"VSIB_INDEX_XMM", XED_NONTERMINAL_VSIB_INDEX_XMM},
{"VSIB_INDEX_YMM", XED_NONTERMINAL_VSIB_INDEX_YMM},
{"VSIB_XMM", XED_NONTERMINAL_VSIB_XMM},
{"VSIB_YMM", XED_NONTERMINAL_VSIB_YMM},
{"X87", XED_NONTERMINAL_X87},
{"XMM_B", XED_NONTERMINAL_XMM_B},
{"XMM_B3", XED_NONTERMINAL_XMM_B3},
{"XMM_B3_32", XED_NONTERMINAL_XMM_B3_32},
{"XMM_B3_64", XED_NONTERMINAL_XMM_B3_64},
{"XMM_B_32", XED_NONTERMINAL_XMM_B_32},
{"XMM_B_64", XED_NONTERMINAL_XMM_B_64},
{"XMM_N", XED_NONTERMINAL_XMM_N},
{"XMM_N3", XED_NONTERMINAL_XMM_N3},
{"XMM_N3_32", XED_NONTERMINAL_XMM_N3_32},
{"XMM_N3_64", XED_NONTERMINAL_XMM_N3_64},
{"XMM_N_32", XED_NONTERMINAL_XMM_N_32},
{"XMM_N_64", XED_NONTERMINAL_XMM_N_64},
{"XMM_R", XED_NONTERMINAL_XMM_R},
{"XMM_R3", XED_NONTERMINAL_XMM_R3},
{"XMM_R3_32", XED_NONTERMINAL_XMM_R3_32},
{"XMM_R3_64", XED_NONTERMINAL_XMM_R3_64},
{"XMM_R_32", XED_NONTERMINAL_XMM_R_32},
{"XMM_R_64", XED_NONTERMINAL_XMM_R_64},
{"XMM_SE", XED_NONTERMINAL_XMM_SE},
{"XMM_SE32", XED_NONTERMINAL_XMM_SE32},
{"XMM_SE64", XED_NONTERMINAL_XMM_SE64},
{"XOP_INSTRUCTIONS", XED_NONTERMINAL_XOP_INSTRUCTIONS},
{"YMM_B", XED_NONTERMINAL_YMM_B},
{"YMM_B3", XED_NONTERMINAL_YMM_B3},
{"YMM_B3_32", XED_NONTERMINAL_YMM_B3_32},
{"YMM_B3_64", XED_NONTERMINAL_YMM_B3_64},
{"YMM_B_32", XED_NONTERMINAL_YMM_B_32},
{"YMM_B_64", XED_NONTERMINAL_YMM_B_64},
{"YMM_N", XED_NONTERMINAL_YMM_N},
{"YMM_N3", XED_NONTERMINAL_YMM_N3},
{"YMM_N3_32", XED_NONTERMINAL_YMM_N3_32},
{"YMM_N3_64", XED_NONTERMINAL_YMM_N3_64},
{"YMM_N_32", XED_NONTERMINAL_YMM_N_32},
{"YMM_N_64", XED_NONTERMINAL_YMM_N_64},
{"YMM_R", XED_NONTERMINAL_YMM_R},
{"YMM_R3", XED_NONTERMINAL_YMM_R3},
{"YMM_R3_32", XED_NONTERMINAL_YMM_R3_32},
{"YMM_R3_64", XED_NONTERMINAL_YMM_R3_64},
{"YMM_R_32", XED_NONTERMINAL_YMM_R_32},
{"YMM_R_64", XED_NONTERMINAL_YMM_R_64},
{"YMM_SE", XED_NONTERMINAL_YMM_SE},
{"YMM_SE32", XED_NONTERMINAL_YMM_SE32},
{"YMM_SE64", XED_NONTERMINAL_YMM_SE64},
{"ZMM_B3", XED_NONTERMINAL_ZMM_B3},
{"ZMM_B3_32", XED_NONTERMINAL_ZMM_B3_32},
{"ZMM_B3_64", XED_NONTERMINAL_ZMM_B3_64},
{"ZMM_N3", XED_NONTERMINAL_ZMM_N3},
{"ZMM_N3_32", XED_NONTERMINAL_ZMM_N3_32},
{"ZMM_N3_64", XED_NONTERMINAL_ZMM_N3_64},
{"ZMM_R3", XED_NONTERMINAL_ZMM_R3},
{"ZMM_R3_32", XED_NONTERMINAL_ZMM_R3_32},
{"ZMM_R3_64", XED_NONTERMINAL_ZMM_R3_64},
{"LAST", XED_NONTERMINAL_LAST},
{0, XED_NONTERMINAL_LAST},
};

        
xed_nonterminal_enum_t str2xed_nonterminal_enum_t(const char* s)
{
   const name_table_xed_nonterminal_enum_t* p = name_array_xed_nonterminal_enum_t;
   while( p->name ) {
     if (strcmp(p->name,s) == 0) {
      return p->value;
     }
     p++;
   }
        

   return XED_NONTERMINAL_INVALID;
}


const char* xed_nonterminal_enum_t2str(const xed_nonterminal_enum_t p)
{
   xed_nonterminal_enum_t type_idx = p;
   if ( p > XED_NONTERMINAL_LAST) type_idx = XED_NONTERMINAL_LAST;
   return name_array_xed_nonterminal_enum_t[type_idx].name;
}

xed_nonterminal_enum_t xed_nonterminal_enum_t_last(void) {
    return XED_NONTERMINAL_LAST;
}
       
/*

Here is a skeleton switch statement embedded in a comment


  switch(p) {
  case XED_NONTERMINAL_INVALID:
  case XED_NONTERMINAL_AR10:
  case XED_NONTERMINAL_AR11:
  case XED_NONTERMINAL_AR12:
  case XED_NONTERMINAL_AR13:
  case XED_NONTERMINAL_AR14:
  case XED_NONTERMINAL_AR15:
  case XED_NONTERMINAL_AR8:
  case XED_NONTERMINAL_AR9:
  case XED_NONTERMINAL_ARAX:
  case XED_NONTERMINAL_ARBP:
  case XED_NONTERMINAL_ARBX:
  case XED_NONTERMINAL_ARCX:
  case XED_NONTERMINAL_ARDI:
  case XED_NONTERMINAL_ARDX:
  case XED_NONTERMINAL_ARSI:
  case XED_NONTERMINAL_ARSP:
  case XED_NONTERMINAL_ASZ_NONTERM:
  case XED_NONTERMINAL_AVX512_ROUND:
  case XED_NONTERMINAL_AVX_INSTRUCTIONS:
  case XED_NONTERMINAL_AVX_SPLITTER:
  case XED_NONTERMINAL_A_GPR_B:
  case XED_NONTERMINAL_A_GPR_R:
  case XED_NONTERMINAL_BND_B:
  case XED_NONTERMINAL_BND_B_CHECK:
  case XED_NONTERMINAL_BND_R:
  case XED_NONTERMINAL_BND_R_CHECK:
  case XED_NONTERMINAL_BRANCH_HINT:
  case XED_NONTERMINAL_BRDISP32:
  case XED_NONTERMINAL_BRDISP8:
  case XED_NONTERMINAL_BRDISPZ:
  case XED_NONTERMINAL_CET_NO_TRACK:
  case XED_NONTERMINAL_CR_B:
  case XED_NONTERMINAL_CR_R:
  case XED_NONTERMINAL_CR_WIDTH:
  case XED_NONTERMINAL_DF64:
  case XED_NONTERMINAL_DR_R:
  case XED_NONTERMINAL_ESIZE_128_BITS:
  case XED_NONTERMINAL_ESIZE_16_BITS:
  case XED_NONTERMINAL_ESIZE_1_BITS:
  case XED_NONTERMINAL_ESIZE_2_BITS:
  case XED_NONTERMINAL_ESIZE_32_BITS:
  case XED_NONTERMINAL_ESIZE_4_BITS:
  case XED_NONTERMINAL_ESIZE_64_BITS:
  case XED_NONTERMINAL_ESIZE_8_BITS:
  case XED_NONTERMINAL_EVEX_INSTRUCTIONS:
  case XED_NONTERMINAL_EVEX_SPLITTER:
  case XED_NONTERMINAL_FINAL_DSEG:
  case XED_NONTERMINAL_FINAL_DSEG1:
  case XED_NONTERMINAL_FINAL_DSEG1_MODE64:
  case XED_NONTERMINAL_FINAL_DSEG1_NOT64:
  case XED_NONTERMINAL_FINAL_DSEG_MODE64:
  case XED_NONTERMINAL_FINAL_DSEG_NOT64:
  case XED_NONTERMINAL_FINAL_ESEG:
  case XED_NONTERMINAL_FINAL_ESEG1:
  case XED_NONTERMINAL_FINAL_SSEG:
  case XED_NONTERMINAL_FINAL_SSEG0:
  case XED_NONTERMINAL_FINAL_SSEG1:
  case XED_NONTERMINAL_FINAL_SSEG_MODE64:
  case XED_NONTERMINAL_FINAL_SSEG_NOT64:
  case XED_NONTERMINAL_FIX_ROUND_LEN128:
  case XED_NONTERMINAL_FIX_ROUND_LEN512:
  case XED_NONTERMINAL_FORCE64:
  case XED_NONTERMINAL_GPR16_B:
  case XED_NONTERMINAL_GPR16_R:
  case XED_NONTERMINAL_GPR16_SB:
  case XED_NONTERMINAL_GPR32_B:
  case XED_NONTERMINAL_GPR32_R:
  case XED_NONTERMINAL_GPR32_SB:
  case XED_NONTERMINAL_GPR32_X:
  case XED_NONTERMINAL_GPR64_B:
  case XED_NONTERMINAL_GPR64_R:
  case XED_NONTERMINAL_GPR64_SB:
  case XED_NONTERMINAL_GPR64_X:
  case XED_NONTERMINAL_GPR8_B:
  case XED_NONTERMINAL_GPR8_R:
  case XED_NONTERMINAL_GPR8_SB:
  case XED_NONTERMINAL_GPRV_B:
  case XED_NONTERMINAL_GPRV_R:
  case XED_NONTERMINAL_GPRV_SB:
  case XED_NONTERMINAL_GPRY_B:
  case XED_NONTERMINAL_GPRY_R:
  case XED_NONTERMINAL_GPRZ_B:
  case XED_NONTERMINAL_GPRZ_R:
  case XED_NONTERMINAL_IGNORE66:
  case XED_NONTERMINAL_IMMUNE66:
  case XED_NONTERMINAL_IMMUNE66_LOOP64:
  case XED_NONTERMINAL_IMMUNE_REXW:
  case XED_NONTERMINAL_INSTRUCTIONS:
  case XED_NONTERMINAL_ISA:
  case XED_NONTERMINAL_MASK1:
  case XED_NONTERMINAL_MASKNOT0:
  case XED_NONTERMINAL_MASK_B:
  case XED_NONTERMINAL_MASK_N:
  case XED_NONTERMINAL_MASK_N32:
  case XED_NONTERMINAL_MASK_N64:
  case XED_NONTERMINAL_MASK_R:
  case XED_NONTERMINAL_MEMDISP:
  case XED_NONTERMINAL_MEMDISP16:
  case XED_NONTERMINAL_MEMDISP32:
  case XED_NONTERMINAL_MEMDISP8:
  case XED_NONTERMINAL_MEMDISPV:
  case XED_NONTERMINAL_MMX_B:
  case XED_NONTERMINAL_MMX_R:
  case XED_NONTERMINAL_MODRM:
  case XED_NONTERMINAL_MODRM16:
  case XED_NONTERMINAL_MODRM32:
  case XED_NONTERMINAL_MODRM64ALT32:
  case XED_NONTERMINAL_NELEM_EIGHTHMEM:
  case XED_NONTERMINAL_NELEM_FULL:
  case XED_NONTERMINAL_NELEM_FULLMEM:
  case XED_NONTERMINAL_NELEM_GPR_READER:
  case XED_NONTERMINAL_NELEM_GPR_READER_BYTE:
  case XED_NONTERMINAL_NELEM_GPR_READER_SUBDWORD:
  case XED_NONTERMINAL_NELEM_GPR_READER_WORD:
  case XED_NONTERMINAL_NELEM_GPR_WRITER_LDOP:
  case XED_NONTERMINAL_NELEM_GPR_WRITER_LDOP_D:
  case XED_NONTERMINAL_NELEM_GPR_WRITER_LDOP_Q:
  case XED_NONTERMINAL_NELEM_GPR_WRITER_STORE:
  case XED_NONTERMINAL_NELEM_GPR_WRITER_STORE_BYTE:
  case XED_NONTERMINAL_NELEM_GPR_WRITER_STORE_SUBDWORD:
  case XED_NONTERMINAL_NELEM_GPR_WRITER_STORE_WORD:
  case XED_NONTERMINAL_NELEM_GSCAT:
  case XED_NONTERMINAL_NELEM_HALF:
  case XED_NONTERMINAL_NELEM_HALFMEM:
  case XED_NONTERMINAL_NELEM_MEM128:
  case XED_NONTERMINAL_NELEM_MOVDDUP:
  case XED_NONTERMINAL_NELEM_QUARTER:
  case XED_NONTERMINAL_NELEM_QUARTERMEM:
  case XED_NONTERMINAL_NELEM_SCALAR:
  case XED_NONTERMINAL_NELEM_TUPLE1:
  case XED_NONTERMINAL_NELEM_TUPLE1_4X:
  case XED_NONTERMINAL_NELEM_TUPLE1_BYTE:
  case XED_NONTERMINAL_NELEM_TUPLE1_SUBDWORD:
  case XED_NONTERMINAL_NELEM_TUPLE1_WORD:
  case XED_NONTERMINAL_NELEM_TUPLE2:
  case XED_NONTERMINAL_NELEM_TUPLE4:
  case XED_NONTERMINAL_NELEM_TUPLE8:
  case XED_NONTERMINAL_OEAX:
  case XED_NONTERMINAL_ONE:
  case XED_NONTERMINAL_ORAX:
  case XED_NONTERMINAL_ORBP:
  case XED_NONTERMINAL_ORBX:
  case XED_NONTERMINAL_ORCX:
  case XED_NONTERMINAL_ORDX:
  case XED_NONTERMINAL_ORSP:
  case XED_NONTERMINAL_OSZ_NONTERM:
  case XED_NONTERMINAL_OVERRIDE_SEG0:
  case XED_NONTERMINAL_OVERRIDE_SEG1:
  case XED_NONTERMINAL_PREFIXES:
  case XED_NONTERMINAL_REFINING66:
  case XED_NONTERMINAL_REMOVE_SEGMENT:
  case XED_NONTERMINAL_RFLAGS:
  case XED_NONTERMINAL_RIP:
  case XED_NONTERMINAL_RIPA:
  case XED_NONTERMINAL_SAE:
  case XED_NONTERMINAL_SEG:
  case XED_NONTERMINAL_SEG_MOV:
  case XED_NONTERMINAL_SE_IMM8:
  case XED_NONTERMINAL_SIB:
  case XED_NONTERMINAL_SIB_BASE0:
  case XED_NONTERMINAL_SIMM8:
  case XED_NONTERMINAL_SIMMZ:
  case XED_NONTERMINAL_SRBP:
  case XED_NONTERMINAL_SRSP:
  case XED_NONTERMINAL_TMM_B:
  case XED_NONTERMINAL_TMM_N:
  case XED_NONTERMINAL_TMM_R:
  case XED_NONTERMINAL_UIMM16:
  case XED_NONTERMINAL_UIMM32:
  case XED_NONTERMINAL_UIMM8:
  case XED_NONTERMINAL_UIMM8_1:
  case XED_NONTERMINAL_UIMMV:
  case XED_NONTERMINAL_UISA_VMODRM_XMM:
  case XED_NONTERMINAL_UISA_VMODRM_YMM:
  case XED_NONTERMINAL_UISA_VMODRM_ZMM:
  case XED_NONTERMINAL_UISA_VSIB_BASE:
  case XED_NONTERMINAL_UISA_VSIB_INDEX_XMM:
  case XED_NONTERMINAL_UISA_VSIB_INDEX_YMM:
  case XED_NONTERMINAL_UISA_VSIB_INDEX_ZMM:
  case XED_NONTERMINAL_UISA_VSIB_XMM:
  case XED_NONTERMINAL_UISA_VSIB_YMM:
  case XED_NONTERMINAL_UISA_VSIB_ZMM:
  case XED_NONTERMINAL_VGPR32_B:
  case XED_NONTERMINAL_VGPR32_B_32:
  case XED_NONTERMINAL_VGPR32_B_64:
  case XED_NONTERMINAL_VGPR32_N:
  case XED_NONTERMINAL_VGPR32_N_32:
  case XED_NONTERMINAL_VGPR32_N_64:
  case XED_NONTERMINAL_VGPR32_R:
  case XED_NONTERMINAL_VGPR32_R_32:
  case XED_NONTERMINAL_VGPR32_R_64:
  case XED_NONTERMINAL_VGPR64_B:
  case XED_NONTERMINAL_VGPR64_N:
  case XED_NONTERMINAL_VGPR64_R:
  case XED_NONTERMINAL_VGPRY_B:
  case XED_NONTERMINAL_VGPRY_N:
  case XED_NONTERMINAL_VGPRY_R:
  case XED_NONTERMINAL_VMODRM_XMM:
  case XED_NONTERMINAL_VMODRM_YMM:
  case XED_NONTERMINAL_VSIB_BASE:
  case XED_NONTERMINAL_VSIB_INDEX_XMM:
  case XED_NONTERMINAL_VSIB_INDEX_YMM:
  case XED_NONTERMINAL_VSIB_XMM:
  case XED_NONTERMINAL_VSIB_YMM:
  case XED_NONTERMINAL_X87:
  case XED_NONTERMINAL_XMM_B:
  case XED_NONTERMINAL_XMM_B3:
  case XED_NONTERMINAL_XMM_B3_32:
  case XED_NONTERMINAL_XMM_B3_64:
  case XED_NONTERMINAL_XMM_B_32:
  case XED_NONTERMINAL_XMM_B_64:
  case XED_NONTERMINAL_XMM_N:
  case XED_NONTERMINAL_XMM_N3:
  case XED_NONTERMINAL_XMM_N3_32:
  case XED_NONTERMINAL_XMM_N3_64:
  case XED_NONTERMINAL_XMM_N_32:
  case XED_NONTERMINAL_XMM_N_64:
  case XED_NONTERMINAL_XMM_R:
  case XED_NONTERMINAL_XMM_R3:
  case XED_NONTERMINAL_XMM_R3_32:
  case XED_NONTERMINAL_XMM_R3_64:
  case XED_NONTERMINAL_XMM_R_32:
  case XED_NONTERMINAL_XMM_R_64:
  case XED_NONTERMINAL_XMM_SE:
  case XED_NONTERMINAL_XMM_SE32:
  case XED_NONTERMINAL_XMM_SE64:
  case XED_NONTERMINAL_XOP_INSTRUCTIONS:
  case XED_NONTERMINAL_YMM_B:
  case XED_NONTERMINAL_YMM_B3:
  case XED_NONTERMINAL_YMM_B3_32:
  case XED_NONTERMINAL_YMM_B3_64:
  case XED_NONTERMINAL_YMM_B_32:
  case XED_NONTERMINAL_YMM_B_64:
  case XED_NONTERMINAL_YMM_N:
  case XED_NONTERMINAL_YMM_N3:
  case XED_NONTERMINAL_YMM_N3_32:
  case XED_NONTERMINAL_YMM_N3_64:
  case XED_NONTERMINAL_YMM_N_32:
  case XED_NONTERMINAL_YMM_N_64:
  case XED_NONTERMINAL_YMM_R:
  case XED_NONTERMINAL_YMM_R3:
  case XED_NONTERMINAL_YMM_R3_32:
  case XED_NONTERMINAL_YMM_R3_64:
  case XED_NONTERMINAL_YMM_R_32:
  case XED_NONTERMINAL_YMM_R_64:
  case XED_NONTERMINAL_YMM_SE:
  case XED_NONTERMINAL_YMM_SE32:
  case XED_NONTERMINAL_YMM_SE64:
  case XED_NONTERMINAL_ZMM_B3:
  case XED_NONTERMINAL_ZMM_B3_32:
  case XED_NONTERMINAL_ZMM_B3_64:
  case XED_NONTERMINAL_ZMM_N3:
  case XED_NONTERMINAL_ZMM_N3_32:
  case XED_NONTERMINAL_ZMM_N3_64:
  case XED_NONTERMINAL_ZMM_R3:
  case XED_NONTERMINAL_ZMM_R3_32:
  case XED_NONTERMINAL_ZMM_R3_64:
  case XED_NONTERMINAL_LAST:
  default:
     xed_assert(0);
  }
*/
