%# -*- c -*- /* DO NOT EDIT THIS FILE DIRECTLY */ /********************************************************************** id.c - $Author$ created at: Wed Dec 5 02:36:10 2012 Copyright (C) 2004-2007 Koichi Sasada **********************************************************************/ <% 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) { #undef rb_intern #define rb_intern(str) rb_intern_const(str) rb_encoding *enc = rb_usascii_encoding(); % ids[:predefined].each do |token, name| REGISTER_SYMID(id<%=token%>, "<%=name%>"); % end }