aboutsummaryrefslogtreecommitdiffstats
path: root/defs
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2022-09-08 15:25:05 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2022-09-08 18:18:56 +0900
commita977c663123f7256f51201ed8390dc84adf63cf6 (patch)
tree69690f4a84665f7e66f9d07e217fee841d9f5e6e /defs
parent7400628cb054a9a9651d69411a100fc9d518099f (diff)
downloadruby-a977c663123f7256f51201ed8390dc84adf63cf6.tar.gz
Generate token ID indexes in id.def
Separate the logic accross the tables from the template view for id.h.
Diffstat (limited to 'defs')
-rw-r--r--defs/id.def4
1 files changed, 3 insertions, 1 deletions
diff --git a/defs/id.def b/defs/id.def
index 097e34e405..94af02b12f 100644
--- a/defs/id.def
+++ b/defs/id.def
@@ -194,13 +194,14 @@ predefined.split(/^/).each_with_index do |line, num|
end << token
predefined_ids[token] = name
end
+index = 127
token_ops.split(/^/).each do |line|
next if /^#/ =~ line
line.sub!(/\s+#.*/, '')
id, op, token = line.split
next unless id and op
token ||= (id unless /\A\W\z/ =~ op)
- token_op_ids << [id, op, token]
+ token_op_ids << [id, op, token, (index += 1 if token)]
end
{
"LOCAL" => local_ids,
@@ -212,4 +213,5 @@ end
:preserved => preserved_ids,
:predefined => predefined_ids,
:token_op => token_op_ids,
+ :last_token => index,
}