summaryrefslogtreecommitdiff
path: root/template
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-04 17:36:19 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-04 17:36:19 +0000
commit28ee4c296680e9131c6d7869d0fd523738af2b89 (patch)
tree86f96a97921bbdde51cb6e7f312c881eec766408 /template
parent01380620bdbe1afe848e91fc953dc345a39a1188 (diff)
id.c: generate
* common.mk, defs/id.def, template/id.c.tmpl: generate id.c as well as id.h. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'template')
-rw-r--r--template/id.c.tmpl28
-rw-r--r--template/id.h.tmpl40
2 files changed, 32 insertions, 36 deletions
diff --git a/template/id.c.tmpl b/template/id.c.tmpl
new file mode 100644
index 0000000000..4f54f8b4a0
--- /dev/null
+++ b/template/id.c.tmpl
@@ -0,0 +1,28 @@
+%# -*- 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
+
+**********************************************************************/
+<%
+predefined_ids = nil
+defs = File.join(File.dirname(erb.filename), "../defs/id.def")
+eval(File.read(defs), binding, defs)
+%>
+static void
+Init_id(void)
+{
+#undef rb_intern
+#define rb_intern(str) rb_intern_const(str)
+ rb_encoding *enc = rb_usascii_encoding();
+
+% predefined_ids.each_pair do |token, name|
+ REGISTER_SYMID(id<%=token%>, "<%=name%>");
+% end
+}
diff --git a/template/id.h.tmpl b/template/id.h.tmpl
index fdbcf812e0..b918bb8953 100644
--- a/template/id.h.tmpl
+++ b/template/id.h.tmpl
@@ -15,48 +15,16 @@ require 'optparse'
op_id_offset = 128
-attr_ids = %w[
- Intern
- MethodMissing
- Length
- Size
- Gets
- Succ
- Each
- Lambda
- Send
- __send__
- Initialize
- Initialize_copy
- Initialize_clone
- Initialize_dup
- UScore
-]
-
token_op_ids = %w[
tDOT2 tDOT3 tUPLUS tUMINUS tPOW tDSTAR tCMP tLSHFT tRSHFT
tLEQ tGEQ tEQ tEQQ tNEQ tMATCH tNMATCH tAREF tASET
tCOLON2 tCOLON3
]
-preserved_ids = %w[
- NULL
- EmptyP
- Respond_to
- Respond_to_missing
- IFUNC
- CFUNC
- _core_set_method_alias
- _core_set_variable_alias
- _core_undef_method
- _core_define_method
- _core_define_singleton_method
- _core_set_postexe
- _core_hash_from_ary
- _core_hash_merge_ary
- _core_hash_merge_ptr
- _core_hash_merge_kwd
-]
+preserved_ids = nil
+attr_ids = nil
+defs = File.join(File.dirname(erb.filename), "../defs/id.def")
+eval(File.read(defs), binding, defs)
%>
#ifndef RUBY_ID_H
#define RUBY_ID_H