From 28ee4c296680e9131c6d7869d0fd523738af2b89 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 4 Dec 2012 17:36:19 +0000 Subject: 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 --- template/id.c.tmpl | 28 ++++++++++++++++++++++++++++ template/id.h.tmpl | 40 ++++------------------------------------ 2 files changed, 32 insertions(+), 36 deletions(-) create mode 100644 template/id.c.tmpl (limited to 'template') 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 -- cgit v1.2.3