struct kwtable {char *name; int id[2]; enum lex_state state;}; %% __LINE__, {k__LINE__, k__LINE__}, EXPR_END __FILE__, {k__FILE__, k__FILE__}, EXPR_END BEGIN, {klBEGIN, klBEGIN}, EXPR_END END, {klEND, klEND}, EXPR_END alias, {kALIAS, kALIAS}, EXPR_FNAME and, {kAND, kAND}, EXPR_BEG begin, {kBEGIN, kBEGIN}, EXPR_BEG break, {kBREAK, kBREAK}, EXPR_MID case, {kCASE, kCASE}, EXPR_BEG class, {kCLASS, kCLASS}, EXPR_CLASS def, {kDEF, kDEF}, EXPR_FNAME defined?, {kDEFINED, kDEFINED}, EXPR_ARG do, {kDO, kDO}, EXPR_BEG else, {kELSE, kELSE}, EXPR_BEG elsif, {kELSIF, kELSIF}, EXPR_BEG end, {kEND, kEND}, EXPR_END ensure, {kENSURE, kENSURE}, EXPR_BEG false, {kFALSE, kFALSE}, EXPR_END for, {kFOR, kFOR}, EXPR_BEG if, {kIF, kIF_MOD}, EXPR_BEG in, {kIN, kIN}, EXPR_BEG module, {kMODULE, kMODULE}, EXPR_BEG next, {kNEXT, kNEXT}, EXPR_MID nil, {kNIL, kNIL}, EXPR_END not, {kNOT, kNOT}, EXPR_BEG or, {kOR, kOR}, EXPR_BEG redo, {kREDO, kREDO}, EXPR_END rescue, {kRESCUE, kRESCUE_MOD}, EXPR_MID retry, {kRETRY, kRETRY}, EXPR_END return, {kRETURN, kRETURN}, EXPR_MID self, {kSELF, kSELF}, EXPR_END super, {kSUPER, kSUPER}, EXPR_ARG then, {kTHEN, kTHEN}, EXPR_BEG true, {kTRUE, kTRUE}, EXPR_END undef, {kUNDEF, kUNDEF}, EXPR_FNAME unless, {kUNLESS, kUNLESS_MOD}, EXPR_BEG until, {kUNTIL, kUNTIL_MOD}, EXPR_BEG when, {kWHEN, kWHEN}, EXPR_BEG while, {kWHILE, kWHILE_MOD}, EXPR_BEG yield, {kYIELD, kYIELD}, EXPR_ARG