mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/ripper/eventids2.c (ripper_init_eventids2): separate
initializations of IDs and objects. * ext/ripper/tools/generate.rb (generate_eventids1): ditto. * parse.y (Init_ripper, InitVM_ripper): fix inversed roles. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1a3f365c50
commit
560a6c6ffa
4 changed files with 30 additions and 16 deletions
|
@ -1,3 +1,12 @@
|
|||
Tue Oct 18 23:05:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* ext/ripper/eventids2.c (ripper_init_eventids2): separate
|
||||
initializations of IDs and objects.
|
||||
|
||||
* ext/ripper/tools/generate.rb (generate_eventids1): ditto.
|
||||
|
||||
* parse.y (Init_ripper, InitVM_ripper): fix inversed roles.
|
||||
|
||||
Sun Oct 16 19:46:16 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* ext/bigdecimal/bigdecimal.gemspec (files): fixed typo, and
|
||||
|
|
|
@ -59,7 +59,7 @@ static ID ripper_id_CHAR;
|
|||
#include "eventids2table.c"
|
||||
|
||||
static void
|
||||
ripper_init_eventids2(VALUE self)
|
||||
ripper_init_eventids2(void)
|
||||
{
|
||||
ripper_id_backref = rb_intern_const("on_backref");
|
||||
ripper_id_backtick = rb_intern_const("on_backtick");
|
||||
|
@ -108,8 +108,6 @@ ripper_init_eventids2(VALUE self)
|
|||
ripper_id_heredoc_end = rb_intern_const("on_heredoc_end");
|
||||
ripper_id___end__ = rb_intern_const("on___end__");
|
||||
ripper_id_CHAR = rb_intern_const("on_CHAR");
|
||||
|
||||
ripper_init_eventids2_table(self);
|
||||
}
|
||||
|
||||
static const struct token_assoc {
|
||||
|
|
|
@ -74,15 +74,18 @@ def generate_eventids1(ids)
|
|||
end
|
||||
buf << %Q[\n]
|
||||
buf << %Q[static void\n]
|
||||
buf << %Q[ripper_init_eventids1(VALUE self)\n]
|
||||
buf << %Q[ripper_init_eventids1(void)\n]
|
||||
buf << %Q[{\n]
|
||||
buf << %Q[ VALUE h;\n]
|
||||
buf << %Q[ ID id;\n]
|
||||
ids.each do |id, arity|
|
||||
buf << %Q[ ripper_id_#{id} = rb_intern_const("on_#{id}");\n]
|
||||
end
|
||||
buf << %Q[}\n]
|
||||
buf << %Q[\n]
|
||||
buf << %Q[ h = rb_hash_new();\n]
|
||||
buf << %Q[static void\n]
|
||||
buf << %Q[ripper_init_eventids1_table(VALUE self)\n]
|
||||
buf << %Q[{\n]
|
||||
buf << %Q[ VALUE h = rb_hash_new();\n]
|
||||
buf << %Q[ ID id;\n]
|
||||
buf << %Q[ rb_define_const(self, "PARSER_EVENT_TABLE", h);\n]
|
||||
ids.each do |id, arity|
|
||||
buf << %Q[ id = rb_intern_const("#{id}");\n]
|
||||
|
|
22
parse.y
22
parse.y
|
@ -10969,17 +10969,25 @@ ripper_value(VALUE self, VALUE obj)
|
|||
|
||||
|
||||
void
|
||||
InitVM_ripper(void)
|
||||
Init_ripper(void)
|
||||
{
|
||||
parser_data_type.parent = RTYPEDDATA_TYPE(rb_parser_new());
|
||||
|
||||
ripper_id_gets = rb_intern("gets");
|
||||
ripper_init_eventids1();
|
||||
ripper_init_eventids2();
|
||||
/* ensure existing in symbol table */
|
||||
(void)rb_intern("||");
|
||||
(void)rb_intern("&&");
|
||||
|
||||
InitVM(ripper);
|
||||
}
|
||||
|
||||
void
|
||||
Init_ripper(void)
|
||||
InitVM_ripper(void)
|
||||
{
|
||||
VALUE Ripper;
|
||||
|
||||
InitVM(ripper);
|
||||
Ripper = rb_define_class("Ripper", rb_cObject);
|
||||
rb_define_const(Ripper, "Version", rb_usascii_str_new2(RIPPER_VERSION));
|
||||
rb_define_alloc_func(Ripper, ripper_s_allocate);
|
||||
|
@ -10998,12 +11006,8 @@ Init_ripper(void)
|
|||
rb_define_method(rb_mKernel, "validate_object", ripper_validate_object, 1);
|
||||
#endif
|
||||
|
||||
ripper_id_gets = rb_intern("gets");
|
||||
ripper_init_eventids1(Ripper);
|
||||
ripper_init_eventids2(Ripper);
|
||||
/* ensure existing in symbol table */
|
||||
(void)rb_intern("||");
|
||||
(void)rb_intern("&&");
|
||||
ripper_init_eventids1_table(Ripper);
|
||||
ripper_init_eventids2_table(Ripper);
|
||||
|
||||
# if 0
|
||||
/* Hack to let RDoc document SCRIPT_LINES__ */
|
||||
|
|
Loading…
Reference in a new issue