ripper 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Rakefile CHANGED
@@ -2,12 +2,12 @@ require 'rubygems'
2
2
  require 'rake/gempackagetask'
3
3
  require 'rake/testtask'
4
4
 
5
- WINDOWS = (PLATFORM =~ /win32|cygwin/ ? true : false) rescue false
5
+ WINDOWS = (PLATFORM =~ /mingw|win32|cygwin/ ? true : false) rescue false
6
6
  SUDO = WINDOWS ? '' : 'sudo'
7
7
 
8
8
  desc "Builds the gem"
9
9
  task :gem do
10
- sh "cd ext; make clean; rm Makefile; echo"
10
+ sh "cd ext && make clean && rm -f Makefile" and puts if File.exists? './ext/Makefile'
11
11
  load 'ripper.gemspec'
12
12
  Gem::Builder.new(SPEC).build
13
13
  end
@@ -0,0 +1,195 @@
1
+
2
+ SHELL = /bin/sh
3
+
4
+ #### Start of system configuration section. ####
5
+
6
+ srcdir = .
7
+ topdir = /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin11.0
8
+ hdrdir = $(topdir)
9
+ VPATH = $(srcdir):$(topdir):$(hdrdir)
10
+ exec_prefix = $(prefix)
11
+ prefix = $(DESTDIR)/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr
12
+ sharedstatedir = $(prefix)/com
13
+ mandir = $(DESTDIR)/usr/share/man
14
+ psdir = $(docdir)
15
+ oldincludedir = $(DESTDIR)/usr/include
16
+ localedir = $(datarootdir)/locale
17
+ bindir = $(exec_prefix)/bin
18
+ libexecdir = $(exec_prefix)/libexec
19
+ sitedir = $(DESTDIR)/Library/Ruby/Site
20
+ htmldir = $(docdir)
21
+ vendorarchdir = $(vendorlibdir)/$(sitearch)
22
+ includedir = $(prefix)/include
23
+ infodir = $(DESTDIR)/usr/share/info
24
+ vendorlibdir = $(vendordir)/$(ruby_version)
25
+ sysconfdir = $(prefix)/etc
26
+ libdir = $(exec_prefix)/lib
27
+ sbindir = $(exec_prefix)/sbin
28
+ rubylibdir = $(libdir)/ruby/$(ruby_version)
29
+ docdir = $(datarootdir)/doc/$(PACKAGE)
30
+ dvidir = $(docdir)
31
+ vendordir = $(libdir)/ruby/vendor_ruby
32
+ datarootdir = $(prefix)/share
33
+ pdfdir = $(docdir)
34
+ archdir = $(rubylibdir)/$(arch)
35
+ sitearchdir = $(sitelibdir)/$(sitearch)
36
+ datadir = $(datarootdir)
37
+ localstatedir = $(prefix)/var
38
+ sitelibdir = $(sitedir)/$(ruby_version)
39
+
40
+ CC = gcc
41
+ LIBRUBY = $(LIBRUBY_SO)
42
+ LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
43
+ LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
44
+ LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)
45
+
46
+ RUBY_EXTCONF_H =
47
+ CFLAGS = -fno-common -arch i386 -arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE -fno-common -pipe -fno-common $(cflags)
48
+ INCFLAGS = -I. -I$(topdir) -I$(hdrdir) -I$(srcdir) -I$(srcdir)/backports
49
+ DEFS =
50
+ CPPFLAGS = -DRIPPER -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE $(DEFS) $(cppflags)
51
+ CXXFLAGS = $(CFLAGS)
52
+ ldflags = -L. -arch i386 -arch x86_64
53
+ dldflags =
54
+ archflag =
55
+ DLDFLAGS = $(ldflags) $(dldflags) $(archflag)
56
+ LDSHARED = cc -arch i386 -arch x86_64 -pipe -bundle -undefined dynamic_lookup
57
+ AR = ar
58
+ EXEEXT =
59
+
60
+ RUBY_INSTALL_NAME = ruby
61
+ RUBY_SO_NAME = ruby
62
+ arch = universal-darwin11.0
63
+ sitearch = universal-darwin11.0
64
+ ruby_version = 1.8
65
+ ruby = /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
66
+ RUBY = $(ruby)
67
+ RM = rm -f
68
+ MAKEDIRS = mkdir -p
69
+ INSTALL = /usr/bin/install -c
70
+ INSTALL_PROG = $(INSTALL) -m 0755
71
+ INSTALL_DATA = $(INSTALL) -m 644
72
+ COPY = cp
73
+
74
+ #### End of system configuration section. ####
75
+
76
+ preload =
77
+
78
+ libpath = . $(libdir)
79
+ LIBPATH = -L. -L$(libdir)
80
+ DEFFILE =
81
+
82
+ CLEANFILES = mkmf.log ripper.y ripper.c ripper.E ripper.output y.output eventids1.c eventids2table.c
83
+ DISTCLEANFILES =
84
+
85
+ extout =
86
+ extout_prefix =
87
+ target_prefix =
88
+ LOCAL_LIBS =
89
+ LIBS = $(LIBRUBYARG_SHARED) -lpthread -ldl
90
+ SRCS = ripper.c
91
+ OBJS = ripper.o
92
+ TARGET = ripper
93
+ DLLIB = $(TARGET).bundle
94
+ EXTSTATIC =
95
+ STATIC_LIB =
96
+
97
+ BINDIR = $(bindir)
98
+ RUBYCOMMONDIR = $(sitedir)$(target_prefix)
99
+ RUBYLIBDIR = $(sitelibdir)$(target_prefix)
100
+ RUBYARCHDIR = $(sitearchdir)$(target_prefix)
101
+
102
+ TARGET_SO = $(DLLIB)
103
+ CLEANLIBS = $(TARGET).bundle $(TARGET).il? $(TARGET).tds $(TARGET).map
104
+ CLEANOBJS = *.o *.a *.s[ol] *.pdb *.exp *.bak
105
+
106
+ all: $(DLLIB)
107
+ static: $(STATIC_LIB)
108
+
109
+ clean:
110
+ @-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES)
111
+
112
+ distclean: clean
113
+ @-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
114
+ @-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
115
+
116
+ realclean: distclean
117
+ install: install-so install-rb
118
+
119
+ install-so: $(RUBYARCHDIR)
120
+ install-so: $(RUBYARCHDIR)/$(DLLIB)
121
+ $(RUBYARCHDIR)/$(DLLIB): $(DLLIB)
122
+ $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
123
+ install-rb: pre-install-rb install-rb-default
124
+ install-rb-default: pre-install-rb-default
125
+ pre-install-rb: Makefile
126
+ pre-install-rb-default: Makefile
127
+ $(RUBYARCHDIR):
128
+ $(MAKEDIRS) $@
129
+
130
+ site-install: site-install-so site-install-rb
131
+ site-install-so: install-so
132
+ site-install-rb: install-rb
133
+
134
+ .SUFFIXES: .c .m .cc .cxx .cpp .C .o
135
+
136
+ .cc.o:
137
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
138
+
139
+ .cxx.o:
140
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
141
+
142
+ .cpp.o:
143
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
144
+
145
+ .C.o:
146
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
147
+
148
+ .c.o:
149
+ $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) -c $<
150
+
151
+ $(DLLIB): $(OBJS) Makefile
152
+ @-$(RM) $@
153
+ $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
154
+
155
+
156
+
157
+ ###
158
+ .SUFFIXES: .y .c
159
+
160
+ GEN = $(srcdir)/tools/generate.rb
161
+ SRC1 = parse.y
162
+ SRC2 = $(srcdir)/eventids2.c
163
+ BISON = bison
164
+
165
+ .SUFFIXES: .y
166
+
167
+ src: ripper.c eventids1.c eventids2table.c
168
+
169
+ ripper.o: ripper.c lex.c eventids1.c eventids2.c eventids2table.c
170
+
171
+ .y.c:
172
+ $(BISON) -t -v -oy.tab.c $<
173
+ sed -f tools/ytab.sed -e "/^#/s!y\.tab\.c!$@!" y.tab.c > $@
174
+ @$(RM) y.tab.c
175
+
176
+ all: check
177
+ static: check
178
+
179
+ ripper.y: $(srcdir)/tools/preproc.rb parse.y
180
+ $(RUBY) $(srcdir)/tools/preproc.rb parse.y --output=$@
181
+
182
+ check: $(GEN) $(SRC1) $(SRC2)
183
+ $(RUBY) $(GEN) --mode=check --ids1src=$(SRC1) --ids2src=$(SRC2)
184
+
185
+ eventids1.c: tools/generate.rb $(SRC1)
186
+ $(RUBY) $(GEN) --mode=eventids1 --ids1src=$(SRC1) --output=$@
187
+
188
+ eventids2table.c: tools/generate.rb $(SRC2)
189
+ $(RUBY) $(GEN) --mode=eventids2table --ids2src=$(SRC2) --output=$@
190
+
191
+ # Entries for Ripper maintainer
192
+
193
+ preproc: ripper.E
194
+ ripper.E: ripper.c
195
+ $(CC) -E $(CPPFLAGS) ripper.c | $(RUBY) $(srcdir)/tools/strip.rb > $@
@@ -22,7 +22,8 @@ typedef struct rb_encoding_s {
22
22
 
23
23
  static rb_encoding __default_encoding_s = {1, 1, "default"};
24
24
  static rb_encoding *__default_encoding = &__default_encoding_s;
25
- int rb_char_to_option_kcode(int c, int *option, int *kcode) { return 0; }
25
+ int rb_char_to_option_kcode(int c, int *option, int *kcode) { *option=0; *kcode=-1; return 0; }
26
+ int __default_rb_enc_mbcput(int c, char *p, rb_encoding *enc) { do *p++ = (char) (c & 0xff); while (c >> 8); return c; }
26
27
 
27
28
  #define ENC_CODERANGE_7BIT 0
28
29
  #define ENC_CODERANGE_UNKNOWN -1
@@ -38,6 +39,8 @@ int rb_char_to_option_kcode(int c, int *option, int *kcode) { return 0; }
38
39
  #define rb_enc_mbminlen(enc) (enc)->min_enc_len
39
40
  #define rb_enc_mbmaxlen(enc) (enc)->max_enc_len
40
41
  #define rb_enc_mbclen(p,e,enc) 1
42
+ #define rb_enc_codelen(c,enc) (((c) & 0xffffff00) ? ((c) & 0xffff0000) ? ((c) & 0xff000000) ? 4 : 3 : 2 : 1)
43
+ #define rb_enc_mbcput(c,p,enc) __default_rb_enc_mbcput(c,(void*)p,enc)
41
44
  #define rb_enc_fast_mbclen(p,e,enc) 1
42
45
  #define rb_enc_isascii(c,enc) isascii(c)
43
46
  #define rb_enc_isalpha(c,enc) isalpha(c)
@@ -54,6 +57,7 @@ int rb_char_to_option_kcode(int c, int *option, int *kcode) { return 0; }
54
57
  #define rb_enc_from_encoding(e) Qnil
55
58
  #define rb_enc_precise_mbclen(s,l,e) 1
56
59
  #define rb_enc_unicode_p(e) 0
60
+ #define rb_ascii8bit_encindex(e) 1
57
61
  #define rb_ascii8bit_encoding() __default_encoding
58
62
  #define rb_utf8_encoding() __default_encoding
59
63
  #define rb_usascii_encoding() __default_encoding
@@ -0,0 +1,514 @@
1
+ static ID ripper_id_BEGIN;
2
+ static ID ripper_id_END;
3
+ static ID ripper_id_alias;
4
+ static ID ripper_id_alias_error;
5
+ static ID ripper_id_aref;
6
+ static ID ripper_id_aref_field;
7
+ static ID ripper_id_arg_ambiguous;
8
+ static ID ripper_id_arg_paren;
9
+ static ID ripper_id_args_add;
10
+ static ID ripper_id_args_add_block;
11
+ static ID ripper_id_args_add_star;
12
+ static ID ripper_id_args_new;
13
+ static ID ripper_id_array;
14
+ static ID ripper_id_assign;
15
+ static ID ripper_id_assign_error;
16
+ static ID ripper_id_assoc_new;
17
+ static ID ripper_id_assoclist_from_args;
18
+ static ID ripper_id_bare_assoc_hash;
19
+ static ID ripper_id_begin;
20
+ static ID ripper_id_binary;
21
+ static ID ripper_id_block_var;
22
+ static ID ripper_id_block_var_add_block;
23
+ static ID ripper_id_block_var_add_star;
24
+ static ID ripper_id_blockarg;
25
+ static ID ripper_id_bodystmt;
26
+ static ID ripper_id_brace_block;
27
+ static ID ripper_id_break;
28
+ static ID ripper_id_call;
29
+ static ID ripper_id_case;
30
+ static ID ripper_id_class;
31
+ static ID ripper_id_class_name_error;
32
+ static ID ripper_id_command;
33
+ static ID ripper_id_command_call;
34
+ static ID ripper_id_const_path_field;
35
+ static ID ripper_id_const_path_ref;
36
+ static ID ripper_id_const_ref;
37
+ static ID ripper_id_def;
38
+ static ID ripper_id_defined;
39
+ static ID ripper_id_defs;
40
+ static ID ripper_id_do_block;
41
+ static ID ripper_id_dot2;
42
+ static ID ripper_id_dot3;
43
+ static ID ripper_id_dyna_symbol;
44
+ static ID ripper_id_else;
45
+ static ID ripper_id_elsif;
46
+ static ID ripper_id_ensure;
47
+ static ID ripper_id_excessed_comma;
48
+ static ID ripper_id_fcall;
49
+ static ID ripper_id_field;
50
+ static ID ripper_id_for;
51
+ static ID ripper_id_hash;
52
+ static ID ripper_id_if;
53
+ static ID ripper_id_if_mod;
54
+ static ID ripper_id_ifop;
55
+ static ID ripper_id_lambda;
56
+ static ID ripper_id_magic_comment;
57
+ static ID ripper_id_massign;
58
+ static ID ripper_id_method_add_arg;
59
+ static ID ripper_id_method_add_block;
60
+ static ID ripper_id_mlhs_add;
61
+ static ID ripper_id_mlhs_add_star;
62
+ static ID ripper_id_mlhs_new;
63
+ static ID ripper_id_mlhs_paren;
64
+ static ID ripper_id_module;
65
+ static ID ripper_id_mrhs_add;
66
+ static ID ripper_id_mrhs_add_star;
67
+ static ID ripper_id_mrhs_new;
68
+ static ID ripper_id_mrhs_new_from_args;
69
+ static ID ripper_id_next;
70
+ static ID ripper_id_opassign;
71
+ static ID ripper_id_operator_ambiguous;
72
+ static ID ripper_id_param_error;
73
+ static ID ripper_id_params;
74
+ static ID ripper_id_paren;
75
+ static ID ripper_id_parse_error;
76
+ static ID ripper_id_program;
77
+ static ID ripper_id_qwords_add;
78
+ static ID ripper_id_qwords_new;
79
+ static ID ripper_id_redo;
80
+ static ID ripper_id_regexp_add;
81
+ static ID ripper_id_regexp_literal;
82
+ static ID ripper_id_regexp_new;
83
+ static ID ripper_id_rescue;
84
+ static ID ripper_id_rescue_mod;
85
+ static ID ripper_id_rest_param;
86
+ static ID ripper_id_retry;
87
+ static ID ripper_id_return;
88
+ static ID ripper_id_return0;
89
+ static ID ripper_id_sclass;
90
+ static ID ripper_id_stmts_add;
91
+ static ID ripper_id_stmts_new;
92
+ static ID ripper_id_string_add;
93
+ static ID ripper_id_string_concat;
94
+ static ID ripper_id_string_content;
95
+ static ID ripper_id_string_dvar;
96
+ static ID ripper_id_string_embexpr;
97
+ static ID ripper_id_string_literal;
98
+ static ID ripper_id_super;
99
+ static ID ripper_id_symbol;
100
+ static ID ripper_id_symbol_literal;
101
+ static ID ripper_id_top_const_field;
102
+ static ID ripper_id_top_const_ref;
103
+ static ID ripper_id_unary;
104
+ static ID ripper_id_undef;
105
+ static ID ripper_id_unless;
106
+ static ID ripper_id_unless_mod;
107
+ static ID ripper_id_until;
108
+ static ID ripper_id_until_mod;
109
+ static ID ripper_id_var_alias;
110
+ static ID ripper_id_var_field;
111
+ static ID ripper_id_var_ref;
112
+ static ID ripper_id_vcall;
113
+ static ID ripper_id_void_stmt;
114
+ static ID ripper_id_when;
115
+ static ID ripper_id_while;
116
+ static ID ripper_id_while_mod;
117
+ static ID ripper_id_word_add;
118
+ static ID ripper_id_word_new;
119
+ static ID ripper_id_words_add;
120
+ static ID ripper_id_words_new;
121
+ static ID ripper_id_xstring_add;
122
+ static ID ripper_id_xstring_literal;
123
+ static ID ripper_id_xstring_new;
124
+ static ID ripper_id_yield;
125
+ static ID ripper_id_yield0;
126
+ static ID ripper_id_zsuper;
127
+
128
+ static void
129
+ ripper_init_eventids1(VALUE self)
130
+ {
131
+ VALUE h;
132
+ ID id;
133
+ ripper_id_BEGIN = rb_intern_const("on_BEGIN");
134
+ ripper_id_END = rb_intern_const("on_END");
135
+ ripper_id_alias = rb_intern_const("on_alias");
136
+ ripper_id_alias_error = rb_intern_const("on_alias_error");
137
+ ripper_id_aref = rb_intern_const("on_aref");
138
+ ripper_id_aref_field = rb_intern_const("on_aref_field");
139
+ ripper_id_arg_ambiguous = rb_intern_const("on_arg_ambiguous");
140
+ ripper_id_arg_paren = rb_intern_const("on_arg_paren");
141
+ ripper_id_args_add = rb_intern_const("on_args_add");
142
+ ripper_id_args_add_block = rb_intern_const("on_args_add_block");
143
+ ripper_id_args_add_star = rb_intern_const("on_args_add_star");
144
+ ripper_id_args_new = rb_intern_const("on_args_new");
145
+ ripper_id_array = rb_intern_const("on_array");
146
+ ripper_id_assign = rb_intern_const("on_assign");
147
+ ripper_id_assign_error = rb_intern_const("on_assign_error");
148
+ ripper_id_assoc_new = rb_intern_const("on_assoc_new");
149
+ ripper_id_assoclist_from_args = rb_intern_const("on_assoclist_from_args");
150
+ ripper_id_bare_assoc_hash = rb_intern_const("on_bare_assoc_hash");
151
+ ripper_id_begin = rb_intern_const("on_begin");
152
+ ripper_id_binary = rb_intern_const("on_binary");
153
+ ripper_id_block_var = rb_intern_const("on_block_var");
154
+ ripper_id_block_var_add_block = rb_intern_const("on_block_var_add_block");
155
+ ripper_id_block_var_add_star = rb_intern_const("on_block_var_add_star");
156
+ ripper_id_blockarg = rb_intern_const("on_blockarg");
157
+ ripper_id_bodystmt = rb_intern_const("on_bodystmt");
158
+ ripper_id_brace_block = rb_intern_const("on_brace_block");
159
+ ripper_id_break = rb_intern_const("on_break");
160
+ ripper_id_call = rb_intern_const("on_call");
161
+ ripper_id_case = rb_intern_const("on_case");
162
+ ripper_id_class = rb_intern_const("on_class");
163
+ ripper_id_class_name_error = rb_intern_const("on_class_name_error");
164
+ ripper_id_command = rb_intern_const("on_command");
165
+ ripper_id_command_call = rb_intern_const("on_command_call");
166
+ ripper_id_const_path_field = rb_intern_const("on_const_path_field");
167
+ ripper_id_const_path_ref = rb_intern_const("on_const_path_ref");
168
+ ripper_id_const_ref = rb_intern_const("on_const_ref");
169
+ ripper_id_def = rb_intern_const("on_def");
170
+ ripper_id_defined = rb_intern_const("on_defined");
171
+ ripper_id_defs = rb_intern_const("on_defs");
172
+ ripper_id_do_block = rb_intern_const("on_do_block");
173
+ ripper_id_dot2 = rb_intern_const("on_dot2");
174
+ ripper_id_dot3 = rb_intern_const("on_dot3");
175
+ ripper_id_dyna_symbol = rb_intern_const("on_dyna_symbol");
176
+ ripper_id_else = rb_intern_const("on_else");
177
+ ripper_id_elsif = rb_intern_const("on_elsif");
178
+ ripper_id_ensure = rb_intern_const("on_ensure");
179
+ ripper_id_excessed_comma = rb_intern_const("on_excessed_comma");
180
+ ripper_id_fcall = rb_intern_const("on_fcall");
181
+ ripper_id_field = rb_intern_const("on_field");
182
+ ripper_id_for = rb_intern_const("on_for");
183
+ ripper_id_hash = rb_intern_const("on_hash");
184
+ ripper_id_if = rb_intern_const("on_if");
185
+ ripper_id_if_mod = rb_intern_const("on_if_mod");
186
+ ripper_id_ifop = rb_intern_const("on_ifop");
187
+ ripper_id_lambda = rb_intern_const("on_lambda");
188
+ ripper_id_magic_comment = rb_intern_const("on_magic_comment");
189
+ ripper_id_massign = rb_intern_const("on_massign");
190
+ ripper_id_method_add_arg = rb_intern_const("on_method_add_arg");
191
+ ripper_id_method_add_block = rb_intern_const("on_method_add_block");
192
+ ripper_id_mlhs_add = rb_intern_const("on_mlhs_add");
193
+ ripper_id_mlhs_add_star = rb_intern_const("on_mlhs_add_star");
194
+ ripper_id_mlhs_new = rb_intern_const("on_mlhs_new");
195
+ ripper_id_mlhs_paren = rb_intern_const("on_mlhs_paren");
196
+ ripper_id_module = rb_intern_const("on_module");
197
+ ripper_id_mrhs_add = rb_intern_const("on_mrhs_add");
198
+ ripper_id_mrhs_add_star = rb_intern_const("on_mrhs_add_star");
199
+ ripper_id_mrhs_new = rb_intern_const("on_mrhs_new");
200
+ ripper_id_mrhs_new_from_args = rb_intern_const("on_mrhs_new_from_args");
201
+ ripper_id_next = rb_intern_const("on_next");
202
+ ripper_id_opassign = rb_intern_const("on_opassign");
203
+ ripper_id_operator_ambiguous = rb_intern_const("on_operator_ambiguous");
204
+ ripper_id_param_error = rb_intern_const("on_param_error");
205
+ ripper_id_params = rb_intern_const("on_params");
206
+ ripper_id_paren = rb_intern_const("on_paren");
207
+ ripper_id_parse_error = rb_intern_const("on_parse_error");
208
+ ripper_id_program = rb_intern_const("on_program");
209
+ ripper_id_qwords_add = rb_intern_const("on_qwords_add");
210
+ ripper_id_qwords_new = rb_intern_const("on_qwords_new");
211
+ ripper_id_redo = rb_intern_const("on_redo");
212
+ ripper_id_regexp_add = rb_intern_const("on_regexp_add");
213
+ ripper_id_regexp_literal = rb_intern_const("on_regexp_literal");
214
+ ripper_id_regexp_new = rb_intern_const("on_regexp_new");
215
+ ripper_id_rescue = rb_intern_const("on_rescue");
216
+ ripper_id_rescue_mod = rb_intern_const("on_rescue_mod");
217
+ ripper_id_rest_param = rb_intern_const("on_rest_param");
218
+ ripper_id_retry = rb_intern_const("on_retry");
219
+ ripper_id_return = rb_intern_const("on_return");
220
+ ripper_id_return0 = rb_intern_const("on_return0");
221
+ ripper_id_sclass = rb_intern_const("on_sclass");
222
+ ripper_id_stmts_add = rb_intern_const("on_stmts_add");
223
+ ripper_id_stmts_new = rb_intern_const("on_stmts_new");
224
+ ripper_id_string_add = rb_intern_const("on_string_add");
225
+ ripper_id_string_concat = rb_intern_const("on_string_concat");
226
+ ripper_id_string_content = rb_intern_const("on_string_content");
227
+ ripper_id_string_dvar = rb_intern_const("on_string_dvar");
228
+ ripper_id_string_embexpr = rb_intern_const("on_string_embexpr");
229
+ ripper_id_string_literal = rb_intern_const("on_string_literal");
230
+ ripper_id_super = rb_intern_const("on_super");
231
+ ripper_id_symbol = rb_intern_const("on_symbol");
232
+ ripper_id_symbol_literal = rb_intern_const("on_symbol_literal");
233
+ ripper_id_top_const_field = rb_intern_const("on_top_const_field");
234
+ ripper_id_top_const_ref = rb_intern_const("on_top_const_ref");
235
+ ripper_id_unary = rb_intern_const("on_unary");
236
+ ripper_id_undef = rb_intern_const("on_undef");
237
+ ripper_id_unless = rb_intern_const("on_unless");
238
+ ripper_id_unless_mod = rb_intern_const("on_unless_mod");
239
+ ripper_id_until = rb_intern_const("on_until");
240
+ ripper_id_until_mod = rb_intern_const("on_until_mod");
241
+ ripper_id_var_alias = rb_intern_const("on_var_alias");
242
+ ripper_id_var_field = rb_intern_const("on_var_field");
243
+ ripper_id_var_ref = rb_intern_const("on_var_ref");
244
+ ripper_id_vcall = rb_intern_const("on_vcall");
245
+ ripper_id_void_stmt = rb_intern_const("on_void_stmt");
246
+ ripper_id_when = rb_intern_const("on_when");
247
+ ripper_id_while = rb_intern_const("on_while");
248
+ ripper_id_while_mod = rb_intern_const("on_while_mod");
249
+ ripper_id_word_add = rb_intern_const("on_word_add");
250
+ ripper_id_word_new = rb_intern_const("on_word_new");
251
+ ripper_id_words_add = rb_intern_const("on_words_add");
252
+ ripper_id_words_new = rb_intern_const("on_words_new");
253
+ ripper_id_xstring_add = rb_intern_const("on_xstring_add");
254
+ ripper_id_xstring_literal = rb_intern_const("on_xstring_literal");
255
+ ripper_id_xstring_new = rb_intern_const("on_xstring_new");
256
+ ripper_id_yield = rb_intern_const("on_yield");
257
+ ripper_id_yield0 = rb_intern_const("on_yield0");
258
+ ripper_id_zsuper = rb_intern_const("on_zsuper");
259
+
260
+ h = rb_hash_new();
261
+ rb_define_const(self, "PARSER_EVENT_TABLE", h);
262
+ id = rb_intern_const("BEGIN");
263
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
264
+ id = rb_intern_const("END");
265
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
266
+ id = rb_intern_const("alias");
267
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
268
+ id = rb_intern_const("alias_error");
269
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
270
+ id = rb_intern_const("aref");
271
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
272
+ id = rb_intern_const("aref_field");
273
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
274
+ id = rb_intern_const("arg_ambiguous");
275
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
276
+ id = rb_intern_const("arg_paren");
277
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
278
+ id = rb_intern_const("args_add");
279
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
280
+ id = rb_intern_const("args_add_block");
281
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
282
+ id = rb_intern_const("args_add_star");
283
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
284
+ id = rb_intern_const("args_new");
285
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
286
+ id = rb_intern_const("array");
287
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
288
+ id = rb_intern_const("assign");
289
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
290
+ id = rb_intern_const("assign_error");
291
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
292
+ id = rb_intern_const("assoc_new");
293
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
294
+ id = rb_intern_const("assoclist_from_args");
295
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
296
+ id = rb_intern_const("bare_assoc_hash");
297
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
298
+ id = rb_intern_const("begin");
299
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
300
+ id = rb_intern_const("binary");
301
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(3));
302
+ id = rb_intern_const("block_var");
303
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
304
+ id = rb_intern_const("block_var_add_block");
305
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
306
+ id = rb_intern_const("block_var_add_star");
307
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
308
+ id = rb_intern_const("blockarg");
309
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
310
+ id = rb_intern_const("bodystmt");
311
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(4));
312
+ id = rb_intern_const("brace_block");
313
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
314
+ id = rb_intern_const("break");
315
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
316
+ id = rb_intern_const("call");
317
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(3));
318
+ id = rb_intern_const("case");
319
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
320
+ id = rb_intern_const("class");
321
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(3));
322
+ id = rb_intern_const("class_name_error");
323
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
324
+ id = rb_intern_const("command");
325
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
326
+ id = rb_intern_const("command_call");
327
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(4));
328
+ id = rb_intern_const("const_path_field");
329
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
330
+ id = rb_intern_const("const_path_ref");
331
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
332
+ id = rb_intern_const("const_ref");
333
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
334
+ id = rb_intern_const("def");
335
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(3));
336
+ id = rb_intern_const("defined");
337
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
338
+ id = rb_intern_const("defs");
339
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(5));
340
+ id = rb_intern_const("do_block");
341
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
342
+ id = rb_intern_const("dot2");
343
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
344
+ id = rb_intern_const("dot3");
345
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
346
+ id = rb_intern_const("dyna_symbol");
347
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
348
+ id = rb_intern_const("else");
349
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
350
+ id = rb_intern_const("elsif");
351
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(3));
352
+ id = rb_intern_const("ensure");
353
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
354
+ id = rb_intern_const("excessed_comma");
355
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
356
+ id = rb_intern_const("fcall");
357
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
358
+ id = rb_intern_const("field");
359
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(3));
360
+ id = rb_intern_const("for");
361
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(3));
362
+ id = rb_intern_const("hash");
363
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
364
+ id = rb_intern_const("if");
365
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(3));
366
+ id = rb_intern_const("if_mod");
367
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
368
+ id = rb_intern_const("ifop");
369
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(3));
370
+ id = rb_intern_const("lambda");
371
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
372
+ id = rb_intern_const("magic_comment");
373
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
374
+ id = rb_intern_const("massign");
375
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
376
+ id = rb_intern_const("method_add_arg");
377
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
378
+ id = rb_intern_const("method_add_block");
379
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
380
+ id = rb_intern_const("mlhs_add");
381
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
382
+ id = rb_intern_const("mlhs_add_star");
383
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
384
+ id = rb_intern_const("mlhs_new");
385
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
386
+ id = rb_intern_const("mlhs_paren");
387
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
388
+ id = rb_intern_const("module");
389
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
390
+ id = rb_intern_const("mrhs_add");
391
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
392
+ id = rb_intern_const("mrhs_add_star");
393
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
394
+ id = rb_intern_const("mrhs_new");
395
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
396
+ id = rb_intern_const("mrhs_new_from_args");
397
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
398
+ id = rb_intern_const("next");
399
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
400
+ id = rb_intern_const("opassign");
401
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(3));
402
+ id = rb_intern_const("operator_ambiguous");
403
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
404
+ id = rb_intern_const("param_error");
405
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
406
+ id = rb_intern_const("params");
407
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(5));
408
+ id = rb_intern_const("paren");
409
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
410
+ id = rb_intern_const("parse_error");
411
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
412
+ id = rb_intern_const("program");
413
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
414
+ id = rb_intern_const("qwords_add");
415
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
416
+ id = rb_intern_const("qwords_new");
417
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
418
+ id = rb_intern_const("redo");
419
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
420
+ id = rb_intern_const("regexp_add");
421
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
422
+ id = rb_intern_const("regexp_literal");
423
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
424
+ id = rb_intern_const("regexp_new");
425
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
426
+ id = rb_intern_const("rescue");
427
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(4));
428
+ id = rb_intern_const("rescue_mod");
429
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
430
+ id = rb_intern_const("rest_param");
431
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
432
+ id = rb_intern_const("retry");
433
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
434
+ id = rb_intern_const("return");
435
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
436
+ id = rb_intern_const("return0");
437
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
438
+ id = rb_intern_const("sclass");
439
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
440
+ id = rb_intern_const("stmts_add");
441
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
442
+ id = rb_intern_const("stmts_new");
443
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
444
+ id = rb_intern_const("string_add");
445
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
446
+ id = rb_intern_const("string_concat");
447
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
448
+ id = rb_intern_const("string_content");
449
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
450
+ id = rb_intern_const("string_dvar");
451
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
452
+ id = rb_intern_const("string_embexpr");
453
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
454
+ id = rb_intern_const("string_literal");
455
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
456
+ id = rb_intern_const("super");
457
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
458
+ id = rb_intern_const("symbol");
459
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
460
+ id = rb_intern_const("symbol_literal");
461
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
462
+ id = rb_intern_const("top_const_field");
463
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
464
+ id = rb_intern_const("top_const_ref");
465
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
466
+ id = rb_intern_const("unary");
467
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
468
+ id = rb_intern_const("undef");
469
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
470
+ id = rb_intern_const("unless");
471
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(3));
472
+ id = rb_intern_const("unless_mod");
473
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
474
+ id = rb_intern_const("until");
475
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
476
+ id = rb_intern_const("until_mod");
477
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
478
+ id = rb_intern_const("var_alias");
479
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
480
+ id = rb_intern_const("var_field");
481
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
482
+ id = rb_intern_const("var_ref");
483
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
484
+ id = rb_intern_const("vcall");
485
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
486
+ id = rb_intern_const("void_stmt");
487
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
488
+ id = rb_intern_const("when");
489
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(3));
490
+ id = rb_intern_const("while");
491
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
492
+ id = rb_intern_const("while_mod");
493
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
494
+ id = rb_intern_const("word_add");
495
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
496
+ id = rb_intern_const("word_new");
497
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
498
+ id = rb_intern_const("words_add");
499
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
500
+ id = rb_intern_const("words_new");
501
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
502
+ id = rb_intern_const("xstring_add");
503
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(2));
504
+ id = rb_intern_const("xstring_literal");
505
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
506
+ id = rb_intern_const("xstring_new");
507
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
508
+ id = rb_intern_const("yield");
509
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(1));
510
+ id = rb_intern_const("yield0");
511
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
512
+ id = rb_intern_const("zsuper");
513
+ rb_hash_aset(h, ID2SYM(id), INT2NUM(0));
514
+ }