diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-11-05 04:04:00 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-11-05 04:04:00 +0000 |
commit | 72b785e07210c7419802caa3595fc03d84df2c3a (patch) | |
tree | 618b9df3d58a48193bba18ccbc56819b41c900b4 /template/id.c.tmpl | |
parent | fcd15352327bb7d6c8db952e8c3fb3ce7412cca1 (diff) | |
download | ruby-72b785e07210c7419802caa3595fc03d84df2c3a.tar.gz |
id.def: token_ops
* defs/id.def (token_ops): gather associations between IDs,
operators, and parser tokens.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'template/id.c.tmpl')
-rw-r--r-- | template/id.c.tmpl | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/template/id.c.tmpl b/template/id.c.tmpl index cac213a8fb..477a76bc26 100644 --- a/template/id.c.tmpl +++ b/template/id.c.tmpl @@ -13,7 +13,23 @@ <% defs = File.join(File.dirname(File.dirname(erb.filename)), "defs/id.def") ids = eval(File.read(defs), binding, defs) +ops = ids[:token_op].uniq {|id, op, token| token && op} %> +% ops.each do |_id, _op, token| +% next unless token +#define t<%=token%> RUBY_TOKEN(<%=token%>) +% end + +static const struct { + unsigned short token; + const char name[3], term; +} op_tbl[] = { +% ops.each do |_id, op, token| +% next unless token + {t<%=token%>, "<%=op%>"}, +% end +}; + static void Init_id(void) { |