summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--keywords80
-rw-r--r--lex.c80
3 files changed, 84 insertions, 80 deletions
diff --git a/ChangeLog b/ChangeLog
index f0dd3a2..d1773cd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sat Sep 28 20:06:36 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
+
+ * keywords: add braces around initializers.
+
Sat Sep 28 13:19:29 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
* hash.c (rb_hash_become): should check self-assignment after
diff --git a/keywords b/keywords
index 6ba1be4..04be992 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 67f1337..79d9448 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)