1998-01-16 15:19:09 +03:00
|
|
|
struct kwtable {char *name; int id[2]; enum lex_state state;};
|
|
|
|
%%
|
2002-09-28 15:08:59 +04:00
|
|
|
__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
|