From f7c2791c6092728077777cd6ffbc3476e5a11a42 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 17 Aug 2012 08:35:12 +0000 Subject: [PATCH] id.h.tmpl: preserved ids * template/id.h.tmpl (preserved_ids): move from parse.y. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 17 +---------------- template/id.h.tmpl | 26 +++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/parse.y b/parse.y index b5c24228cc..0ec91f8c38 100644 --- a/parse.y +++ b/parse.y @@ -48,7 +48,7 @@ static ID register_symid_str(ID, VALUE); #include "id.c" #endif -#define is_notop_id(id) ((id)>tLAST_TOKEN) +#define is_notop_id(id) ((id)>tLAST_OP_ID) #define is_local_id(id) (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_LOCAL) #define is_global_id(id) (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_GLOBAL) #define is_instance_id(id) (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_INSTANCE) @@ -800,21 +800,6 @@ static void token_info_pop(struct parser_params*, const char *token); %right tPOW %right '!' '~' tUPLUS -%nonassoc idNULL -%nonassoc idRespond_to -%nonassoc idIFUNC -%nonassoc idCFUNC -%nonassoc id_core_set_method_alias -%nonassoc id_core_set_variable_alias -%nonassoc id_core_undef_method -%nonassoc id_core_define_method -%nonassoc id_core_define_singleton_method -%nonassoc id_core_set_postexe -%nonassoc id_core_hash_from_ary -%nonassoc id_core_hash_merge_ary -%nonassoc id_core_hash_merge_ptr -%nonassoc id_core_hash_merge_kwd - %token tLAST_TOKEN %% diff --git a/template/id.h.tmpl b/template/id.h.tmpl index 9389887acb..15eb25baed 100644 --- a/template/id.h.tmpl +++ b/template/id.h.tmpl @@ -14,6 +14,7 @@ require 'optparse' vpath = ["."] input = nil + opt = OptionParser.new do |o| o.on('-v', '--vpath=DIR') {|dirs| vpath.concat dirs.split(File::PATH_SEPARATOR)} input, = o.order!(ARGV) @@ -48,6 +49,23 @@ method_ids = %w[ Bitblt Answer ] + +preserved_ids = %w[ + NULL + Respond_to + 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 +] %> #ifndef RUBY_ID_H #define RUBY_ID_H @@ -105,7 +123,13 @@ enum ruby_method_ids { idNeqTilde = tNMATCH, idAREF = tAREF, idASET = tASET, - idLAST_TOKEN = tLAST_TOKEN >> ID_SCOPE_SHIFT, + tPRESERVED_ID_BEGIN = tLAST_TOKEN-1, +% preserved_ids.each do |token| + id<%=token%>, +% end + tPRESERVED_ID_END, + tLAST_OP_ID = tPRESERVED_ID_END-1, + idLAST_OP_ID = tLAST_OP_ID >> ID_SCOPE_SHIFT, % method_ids.each do |token| t<%=token%>, % end