diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-08-17 08:35:12 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-08-17 08:35:12 +0000 |
commit | f7c2791c6092728077777cd6ffbc3476e5a11a42 (patch) | |
tree | 508dce1b86511f6cd5d4de9988028ff857d83369 | |
parent | 200cea63268d934e88d8b42a95e2f1172bf1b605 (diff) | |
download | ruby-f7c2791c6092728077777cd6ffbc3476e5a11a42.tar.gz |
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
-rw-r--r-- | parse.y | 17 | ||||
-rw-r--r-- | template/id.h.tmpl | 26 |
2 files changed, 26 insertions, 17 deletions
@@ -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 |