1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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
This commit is contained in:
nobu 2012-08-17 08:35:12 +00:00
parent 200cea6326
commit f7c2791c60
2 changed files with 26 additions and 17 deletions

17
parse.y
View file

@ -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
%%

View file

@ -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