зеркало из https://github.com/github/ruby.git
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:
Родитель
200cea6326
Коммит
f7c2791c60
17
parse.y
17
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
|
||||
|
||||
%%
|
||||
|
|
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче