diff --git a/ChangeLog b/ChangeLog index f0dd3a271f..d1773cd308 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sat Sep 28 20:06:36 2002 Nobuyoshi Nakada + + * keywords: add braces around initializers. + Sat Sep 28 13:19:29 2002 Nobuyoshi Nakada * hash.c (rb_hash_become): should check self-assignment after diff --git a/keywords b/keywords index 6ba1be49fd..04be992857 100644 --- a/keywords +++ b/keywords @@ -1,42 +1,42 @@ 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 +__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 diff --git a/lex.c b/lex.c index 67f1337987..79d9448dae 100644 --- a/lex.c +++ b/lex.c @@ -76,48 +76,48 @@ rb_reserved_word (str, len) static struct kwtable wordlist[] = { {""}, {""}, {""}, {""}, {""}, {""}, - {"end", kEND, kEND, EXPR_END}, - {"else", kELSE, kELSE, EXPR_BEG}, - {"case", kCASE, kCASE, EXPR_BEG}, - {"ensure", kENSURE, kENSURE, EXPR_BEG}, - {"module", kMODULE, kMODULE, EXPR_BEG}, - {"elsif", kELSIF, kELSIF, EXPR_BEG}, - {"def", kDEF, kDEF, EXPR_FNAME}, - {"rescue", kRESCUE, kRESCUE_MOD, EXPR_MID}, - {"not", kNOT, kNOT, EXPR_BEG}, - {"then", kTHEN, kTHEN, EXPR_BEG}, - {"yield", kYIELD, kYIELD, EXPR_ARG}, - {"for", kFOR, kFOR, EXPR_BEG}, - {"self", kSELF, kSELF, EXPR_END}, - {"false", kFALSE, kFALSE, EXPR_END}, - {"retry", kRETRY, kRETRY, EXPR_END}, - {"return", kRETURN, kRETURN, EXPR_MID}, - {"true", kTRUE, kTRUE, EXPR_END}, - {"if", kIF, kIF_MOD, EXPR_BEG}, - {"defined?", kDEFINED, kDEFINED, EXPR_ARG}, - {"super", kSUPER, kSUPER, EXPR_ARG}, - {"undef", kUNDEF, kUNDEF, EXPR_FNAME}, - {"break", kBREAK, kBREAK, EXPR_MID}, - {"in", kIN, kIN, EXPR_BEG}, - {"do", kDO, kDO, EXPR_BEG}, - {"nil", kNIL, kNIL, EXPR_END}, - {"until", kUNTIL, kUNTIL_MOD, EXPR_BEG}, - {"unless", kUNLESS, kUNLESS_MOD, EXPR_BEG}, - {"or", kOR, kOR, EXPR_BEG}, - {"next", kNEXT, kNEXT, EXPR_MID}, - {"when", kWHEN, kWHEN, EXPR_BEG}, - {"redo", kREDO, kREDO, EXPR_END}, - {"and", kAND, kAND, EXPR_BEG}, - {"begin", kBEGIN, kBEGIN, EXPR_BEG}, - {"__LINE__", k__LINE__, k__LINE__, EXPR_END}, - {"class", kCLASS, kCLASS, EXPR_CLASS}, - {"__FILE__", k__FILE__, k__FILE__, EXPR_END}, - {"END", klEND, klEND, EXPR_END}, - {"BEGIN", klBEGIN, klBEGIN, EXPR_END}, - {"while", kWHILE, kWHILE_MOD, EXPR_BEG}, + {"end", {kEND, kEND}, EXPR_END}, + {"else", {kELSE, kELSE}, EXPR_BEG}, + {"case", {kCASE, kCASE}, EXPR_BEG}, + {"ensure", {kENSURE, kENSURE}, EXPR_BEG}, + {"module", {kMODULE, kMODULE}, EXPR_BEG}, + {"elsif", {kELSIF, kELSIF}, EXPR_BEG}, + {"def", {kDEF, kDEF}, EXPR_FNAME}, + {"rescue", {kRESCUE, kRESCUE_MOD}, EXPR_MID}, + {"not", {kNOT, kNOT}, EXPR_BEG}, + {"then", {kTHEN, kTHEN}, EXPR_BEG}, + {"yield", {kYIELD, kYIELD}, EXPR_ARG}, + {"for", {kFOR, kFOR}, EXPR_BEG}, + {"self", {kSELF, kSELF}, EXPR_END}, + {"false", {kFALSE, kFALSE}, EXPR_END}, + {"retry", {kRETRY, kRETRY}, EXPR_END}, + {"return", {kRETURN, kRETURN}, EXPR_MID}, + {"true", {kTRUE, kTRUE}, EXPR_END}, + {"if", {kIF, kIF_MOD}, EXPR_BEG}, + {"defined?", {kDEFINED, kDEFINED}, EXPR_ARG}, + {"super", {kSUPER, kSUPER}, EXPR_ARG}, + {"undef", {kUNDEF, kUNDEF}, EXPR_FNAME}, + {"break", {kBREAK, kBREAK}, EXPR_MID}, + {"in", {kIN, kIN}, EXPR_BEG}, + {"do", {kDO, kDO}, EXPR_BEG}, + {"nil", {kNIL, kNIL}, EXPR_END}, + {"until", {kUNTIL, kUNTIL_MOD}, EXPR_BEG}, + {"unless", {kUNLESS, kUNLESS_MOD}, EXPR_BEG}, + {"or", {kOR, kOR}, EXPR_BEG}, + {"next", {kNEXT, kNEXT}, EXPR_MID}, + {"when", {kWHEN, kWHEN}, EXPR_BEG}, + {"redo", {kREDO, kREDO}, EXPR_END}, + {"and", {kAND, kAND}, EXPR_BEG}, + {"begin", {kBEGIN, kBEGIN}, EXPR_BEG}, + {"__LINE__", {k__LINE__, k__LINE__}, EXPR_END}, + {"class", {kCLASS, kCLASS}, EXPR_CLASS}, + {"__FILE__", {k__FILE__, k__FILE__}, EXPR_END}, + {"END", {klEND, klEND}, EXPR_END}, + {"BEGIN", {klBEGIN, klBEGIN}, EXPR_END}, + {"while", {kWHILE, kWHILE_MOD}, EXPR_BEG}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {"alias", kALIAS, kALIAS, EXPR_FNAME} + {"alias", {kALIAS, kALIAS}, EXPR_FNAME} }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)