racc 1.4.15-java → 1.4.16-java
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.
- checksums.yaml +4 -4
- data/COPYING +22 -515
- data/Manifest.txt +3 -9
- data/README.ja.rdoc +3 -4
- data/README.rdoc +4 -4
- data/Rakefile +13 -55
- data/bin/racc +2 -4
- data/ext/racc/{cparse.c → cparse/cparse.c} +64 -31
- data/ext/racc/cparse/extconf.rb +8 -0
- data/lib/racc/cparse-jruby.jar +0 -0
- data/lib/racc/exception.rb +3 -5
- data/lib/racc/grammar.rb +5 -7
- data/lib/racc/grammarfileparser.rb +4 -3
- data/lib/racc/info.rb +4 -6
- data/lib/racc/iset.rb +2 -2
- data/lib/racc/logfilegenerator.rb +2 -2
- data/lib/racc/parser-text.rb +14 -11
- data/lib/racc/parser.rb +14 -11
- data/lib/racc/parserfilegenerator.rb +5 -7
- data/lib/racc/state.rb +11 -13
- data/test/assets/intp.y +4 -4
- data/test/assets/mailp.y +27 -27
- data/test/assets/mof.y +12 -12
- data/test/assets/nullbug2.y +2 -2
- data/test/assets/recv.y +20 -20
- data/test/assets/syntax.y +1 -1
- data/test/assets/twowaysql.y +1 -1
- data/test/helper.rb +65 -54
- data/test/regress/cadenza +60 -60
- data/test/regress/cast +8 -8
- data/test/regress/csspool +167 -167
- data/test/regress/edtf +115 -115
- data/test/regress/huia +75 -75
- data/test/regress/journey +12 -12
- data/test/regress/liquor +54 -54
- data/test/regress/machete +37 -37
- data/test/regress/mediacloth +83 -83
- data/test/regress/mof +60 -60
- data/test/regress/namae +29 -29
- data/test/regress/nasl +174 -174
- data/test/regress/nokogiri-css +59 -59
- data/test/regress/opal +352 -352
- data/test/regress/php_serialization +20 -20
- data/test/regress/riml +261 -261
- data/test/regress/ruby18 +353 -353
- data/test/regress/ruby22 +433 -433
- data/test/regress/tp_plus +125 -125
- data/test/regress/twowaysql +30 -30
- data/test/test_chk_y.rb +1 -0
- data/test/test_racc_command.rb +5 -24
- data/test/test_scan_y.rb +1 -0
- data/test/testscanner.rb +1 -1
- metadata +8 -75
- data/ext/racc/depend +0 -1
- data/ext/racc/extconf.rb +0 -7
- data/test/assets/bibtex.y +0 -141
- data/test/assets/rdblockparser.y +0 -576
- data/test/assets/rdinlineparser.y +0 -561
- data/test/regress/bibtex +0 -474
- data/test/regress/rdblockparser +0 -1061
- data/test/regress/rdinlineparser +0 -1243
data/Manifest.txt
CHANGED
@@ -10,9 +10,9 @@ bin/racc
|
|
10
10
|
bin/racc2y
|
11
11
|
bin/y2racc
|
12
12
|
ext/racc/MANIFEST
|
13
|
-
ext/racc/cparse.c
|
14
|
-
ext/racc/depend
|
15
|
-
ext/racc/extconf.rb
|
13
|
+
ext/racc/cparse/cparse.c
|
14
|
+
ext/racc/cparse/depend
|
15
|
+
ext/racc/cparse/extconf.rb
|
16
16
|
ext/racc/com/headius/racc/Cparse.java
|
17
17
|
fastcache/extconf.rb
|
18
18
|
fastcache/fastcache.c
|
@@ -56,7 +56,6 @@ sample/yyerr.y
|
|
56
56
|
setup.rb
|
57
57
|
tasks/doc.rb
|
58
58
|
tasks/email.rb
|
59
|
-
test/assets/bibtex.y
|
60
59
|
test/assets/cadenza.y
|
61
60
|
test/assets/cast.y
|
62
61
|
test/assets/chk.y
|
@@ -93,8 +92,6 @@ test/assets/opal.y
|
|
93
92
|
test/assets/opt.y
|
94
93
|
test/assets/percent.y
|
95
94
|
test/assets/php_serialization.y
|
96
|
-
test/assets/rdblockparser.y
|
97
|
-
test/assets/rdinlineparser.y
|
98
95
|
test/assets/recv.y
|
99
96
|
test/assets/riml.y
|
100
97
|
test/assets/rrconf.y
|
@@ -113,7 +110,6 @@ test/assets/yyerr.y
|
|
113
110
|
test/bench.y
|
114
111
|
test/helper.rb
|
115
112
|
test/infini.y
|
116
|
-
test/regress/bibtex
|
117
113
|
test/regress/cadenza
|
118
114
|
test/regress/cast
|
119
115
|
test/regress/csspool
|
@@ -129,8 +125,6 @@ test/regress/nasl
|
|
129
125
|
test/regress/nokogiri-css
|
130
126
|
test/regress/opal
|
131
127
|
test/regress/php_serialization
|
132
|
-
test/regress/rdblockparser
|
133
|
-
test/regress/rdinlineparser
|
134
128
|
test/regress/riml
|
135
129
|
test/regress/ruby18
|
136
130
|
test/regress/ruby22
|
data/README.ja.rdoc
CHANGED
@@ -76,10 +76,9 @@
|
|
76
76
|
== ライセンス
|
77
77
|
|
78
78
|
このパッケージに付属するファイルの著作権は青木峰郎が保持します。
|
79
|
-
ライセンスは
|
80
|
-
|
81
|
-
|
82
|
-
ください。
|
79
|
+
ライセンスは Ruby ライセンスです。ただしユーザが書いた規則
|
80
|
+
ファイルや、Racc がそこから生成した Ruby スクリプトはその対象
|
81
|
+
外です。好きなライセンスで配布してください。
|
83
82
|
|
84
83
|
|
85
84
|
== バグなど
|
data/README.rdoc
CHANGED
@@ -68,10 +68,10 @@
|
|
68
68
|
|
69
69
|
== License
|
70
70
|
|
71
|
-
Racc is distributed under the terms of
|
72
|
-
|
73
|
-
|
74
|
-
files under any licenses you want.
|
71
|
+
Racc is distributed under the same terms of ruby.
|
72
|
+
(see the file COPYING). Note that you do NOT need to follow
|
73
|
+
ruby license for your own parser (racc outputs).
|
74
|
+
You can distribute those files under any licenses you want.
|
75
75
|
|
76
76
|
|
77
77
|
== Bug Reports
|
data/Rakefile
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# -*- ruby -*-
|
2
2
|
|
3
|
-
require '
|
4
|
-
require 'hoe'
|
3
|
+
require 'rake/testtask'
|
5
4
|
|
5
|
+
Rake::TestTask.new(:test) do |t|
|
6
|
+
t.test_files = FileList["test/**/test_*.rb"]
|
7
|
+
end
|
6
8
|
gem 'rake-compiler', '>= 0.4.1'
|
7
9
|
|
8
|
-
Hoe.plugin :debugging, :doofus, :git, :isolate, :gemspec
|
9
|
-
|
10
10
|
def java?
|
11
11
|
/java/ === RUBY_PLATFORM
|
12
12
|
end
|
@@ -14,40 +14,6 @@ def jruby?
|
|
14
14
|
Object.const_defined?(:RUBY_ENGINE) and 'jruby' == RUBY_ENGINE
|
15
15
|
end
|
16
16
|
|
17
|
-
HOE = Hoe.spec 'racc' do
|
18
|
-
developer 'Aaron Patterson', 'aaron@tenderlovemaking.com'
|
19
|
-
license "MIT"
|
20
|
-
|
21
|
-
self.extra_rdoc_files = Dir['*.rdoc']
|
22
|
-
self.history_file = 'ChangeLog'
|
23
|
-
self.readme_file = 'README.rdoc'
|
24
|
-
|
25
|
-
dependency 'rake-compiler', '>= 0.4.1', :developer
|
26
|
-
dependency 'minitest', '~> 4.7', :developer # stick to stdlib's version
|
27
|
-
|
28
|
-
if java?
|
29
|
-
self.spec_extras[:platform] = 'java'
|
30
|
-
else
|
31
|
-
self.spec_extras[:extensions] = %w[ext/racc/extconf.rb]
|
32
|
-
end
|
33
|
-
|
34
|
-
self.clean_globs << "lib/#{self.name}/*.{so,bundle,dll,jar}" # from hoe/compiler
|
35
|
-
|
36
|
-
end
|
37
|
-
|
38
|
-
def add_file_to_gem relative_path
|
39
|
-
target_path = File.join gem_build_path, relative_path
|
40
|
-
target_dir = File.dirname(target_path)
|
41
|
-
mkdir_p target_dir unless File.directory?(target_dir)
|
42
|
-
rm_f target_path
|
43
|
-
safe_ln relative_path, target_path
|
44
|
-
HOE.spec.files += [relative_path]
|
45
|
-
end
|
46
|
-
|
47
|
-
def gem_build_path
|
48
|
-
File.join 'pkg', HOE.spec.full_name
|
49
|
-
end
|
50
|
-
|
51
17
|
file 'lib/racc/parser-text.rb' => ['lib/racc/parser.rb'] do |t|
|
52
18
|
source = 'lib/racc/parser.rb'
|
53
19
|
|
@@ -62,20 +28,10 @@ end
|
|
62
28
|
}
|
63
29
|
end
|
64
30
|
|
65
|
-
|
66
|
-
# MRI
|
67
|
-
require "rake/extensiontask"
|
68
|
-
Rake::ExtensionTask.new "cparse", HOE.spec do |ext|
|
69
|
-
ext.lib_dir = File.join 'lib', 'racc'
|
70
|
-
ext.ext_dir = File.join 'ext', 'racc'
|
71
|
-
end
|
72
|
-
|
73
|
-
task :compile => 'lib/racc/parser-text.rb'
|
74
|
-
#
|
75
|
-
else
|
31
|
+
if jruby?
|
76
32
|
# JRUBY
|
77
33
|
require "rake/javaextensiontask"
|
78
|
-
Rake::JavaExtensionTask.new("cparse"
|
34
|
+
Rake::JavaExtensionTask.new("cparse") do |ext|
|
79
35
|
jruby_home = RbConfig::CONFIG['prefix']
|
80
36
|
ext.lib_dir = File.join 'lib', 'racc'
|
81
37
|
ext.ext_dir = File.join 'ext', 'racc'
|
@@ -88,13 +44,15 @@ else
|
|
88
44
|
end
|
89
45
|
|
90
46
|
task :compile => ['lib/racc/parser-text.rb']
|
91
|
-
|
92
|
-
|
93
|
-
|
47
|
+
else
|
48
|
+
# MRI
|
49
|
+
require "rake/extensiontask"
|
50
|
+
Rake::ExtensionTask.new "cparse" do |ext|
|
51
|
+
ext.lib_dir = File.join 'lib', 'racc'
|
52
|
+
ext.ext_dir = File.join 'ext', 'racc', 'cparse'
|
94
53
|
end
|
95
54
|
|
55
|
+
task :compile => 'lib/racc/parser-text.rb'
|
96
56
|
end
|
97
57
|
|
98
58
|
task :test => :compile
|
99
|
-
|
100
|
-
Hoe.add_include_dirs('.:lib/racc')
|
data/bin/racc
CHANGED
@@ -5,10 +5,8 @@
|
|
5
5
|
# Copyright (c) 1999-2006 Minero Aoki
|
6
6
|
#
|
7
7
|
# This program is free software.
|
8
|
-
# You can distribute/modify this program under the terms of
|
9
|
-
# the
|
10
|
-
# For details of LGPL, see the file "COPYING".
|
11
|
-
#
|
8
|
+
# You can distribute/modify this program under the same terms of ruby.
|
9
|
+
# see the file "COPYING".
|
12
10
|
|
13
11
|
require 'racc/static'
|
14
12
|
require 'optparse'
|
@@ -1,9 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
|
3
3
|
cparse.c -- Racc Runtime Core
|
4
|
-
|
4
|
+
|
5
5
|
Copyright (c) 1999-2006 Minero Aoki
|
6
|
-
|
6
|
+
|
7
7
|
This library is free software.
|
8
8
|
You can distribute/modify this program under the same terms of ruby.
|
9
9
|
|
@@ -13,6 +13,13 @@
|
|
13
13
|
|
14
14
|
#include <ruby.h>
|
15
15
|
|
16
|
+
#ifndef FALSE
|
17
|
+
#define FALSE 0
|
18
|
+
#endif
|
19
|
+
#ifndef TRUE
|
20
|
+
#define TRUE 1
|
21
|
+
#endif
|
22
|
+
|
16
23
|
/* -----------------------------------------------------------------------
|
17
24
|
Important Constants
|
18
25
|
----------------------------------------------------------------------- */
|
@@ -189,7 +196,7 @@ static VALUE racc_yyparse _((VALUE parser, VALUE lexer, VALUE lexmid,
|
|
189
196
|
VALUE arg, VALUE sysdebug));
|
190
197
|
|
191
198
|
static void call_lexer _((struct cparse_params *v));
|
192
|
-
static VALUE lexer_i _((
|
199
|
+
static VALUE lexer_i _((RB_BLOCK_CALL_FUNC_ARGLIST(block_args, data)));
|
193
200
|
|
194
201
|
static VALUE assert_array _((VALUE a));
|
195
202
|
static long assert_integer _((VALUE n));
|
@@ -197,6 +204,7 @@ static VALUE assert_hash _((VALUE h));
|
|
197
204
|
static VALUE initialize_params _((VALUE vparams, VALUE parser, VALUE arg,
|
198
205
|
VALUE lexer, VALUE lexmid));
|
199
206
|
static void cparse_params_mark _((void *ptr));
|
207
|
+
static size_t cparse_params_memsize _((const void *ptr));
|
200
208
|
|
201
209
|
static void parse_main _((struct cparse_params *v,
|
202
210
|
VALUE tok, VALUE val, int resume));
|
@@ -204,7 +212,7 @@ static void extract_user_token _((struct cparse_params *v,
|
|
204
212
|
VALUE block_args, VALUE *tok, VALUE *val));
|
205
213
|
static void shift _((struct cparse_params* v, long act, VALUE tok, VALUE val));
|
206
214
|
static int reduce _((struct cparse_params* v, long act));
|
207
|
-
static
|
215
|
+
static rb_block_call_func reduce0;
|
208
216
|
|
209
217
|
#ifdef DEBUG
|
210
218
|
# define D_puts(msg) if (v->sys_debug) puts(msg)
|
@@ -214,35 +222,52 @@ static VALUE reduce0 _((VALUE block_args, VALUE data, VALUE self));
|
|
214
222
|
# define D_printf(fmt,arg)
|
215
223
|
#endif
|
216
224
|
|
225
|
+
#undef RUBY_UNTYPED_DATA_WARNING
|
226
|
+
#define RUBY_UNTYPED_DATA_WARNING 1
|
227
|
+
|
228
|
+
static const rb_data_type_t cparse_params_type = {
|
229
|
+
"racc/cparse",
|
230
|
+
{
|
231
|
+
cparse_params_mark,
|
232
|
+
RUBY_TYPED_DEFAULT_FREE,
|
233
|
+
cparse_params_memsize,
|
234
|
+
},
|
235
|
+
#ifdef RUBY_TYPED_FREE_IMMEDIATELY
|
236
|
+
0, 0,
|
237
|
+
RUBY_TYPED_FREE_IMMEDIATELY,
|
238
|
+
#endif
|
239
|
+
};
|
240
|
+
|
217
241
|
static VALUE
|
218
242
|
racc_cparse(VALUE parser, VALUE arg, VALUE sysdebug)
|
219
243
|
{
|
220
|
-
|
244
|
+
VALUE vparams;
|
221
245
|
struct cparse_params *v;
|
222
246
|
|
223
|
-
vparams =
|
224
|
-
|
247
|
+
vparams = TypedData_Make_Struct(CparseParams, struct cparse_params,
|
248
|
+
&cparse_params_type, v);
|
225
249
|
D_puts("starting cparse");
|
226
250
|
v->sys_debug = RTEST(sysdebug);
|
227
251
|
vparams = initialize_params(vparams, parser, arg, Qnil, Qnil);
|
228
|
-
v->lex_is_iterator =
|
252
|
+
v->lex_is_iterator = FALSE;
|
229
253
|
parse_main(v, Qnil, Qnil, 0);
|
230
254
|
|
255
|
+
RB_GC_GUARD(vparams);
|
231
256
|
return v->retval;
|
232
257
|
}
|
233
258
|
|
234
259
|
static VALUE
|
235
260
|
racc_yyparse(VALUE parser, VALUE lexer, VALUE lexmid, VALUE arg, VALUE sysdebug)
|
236
261
|
{
|
237
|
-
|
262
|
+
VALUE vparams;
|
238
263
|
struct cparse_params *v;
|
239
264
|
|
240
|
-
vparams =
|
241
|
-
|
265
|
+
vparams = TypedData_Make_Struct(CparseParams, struct cparse_params,
|
266
|
+
&cparse_params_type, v);
|
242
267
|
v->sys_debug = RTEST(sysdebug);
|
243
268
|
D_puts("start C yyparse");
|
244
269
|
vparams = initialize_params(vparams, parser, arg, lexer, lexmid);
|
245
|
-
v->lex_is_iterator =
|
270
|
+
v->lex_is_iterator = TRUE;
|
246
271
|
D_puts("params initialized");
|
247
272
|
parse_main(v, Qnil, Qnil, 0);
|
248
273
|
call_lexer(v);
|
@@ -251,6 +276,7 @@ racc_yyparse(VALUE parser, VALUE lexer, VALUE lexmid, VALUE arg, VALUE sysdebug)
|
|
251
276
|
rb_id2name(v->lexmid));
|
252
277
|
}
|
253
278
|
|
279
|
+
RB_GC_GUARD(vparams);
|
254
280
|
return v->retval;
|
255
281
|
}
|
256
282
|
|
@@ -264,9 +290,8 @@ call_lexer(struct cparse_params *v)
|
|
264
290
|
static VALUE
|
265
291
|
lexer_iter(VALUE data)
|
266
292
|
{
|
267
|
-
struct cparse_params *v;
|
293
|
+
struct cparse_params *v = rb_check_typeddata(data, &cparse_params_type);
|
268
294
|
|
269
|
-
Data_Get_Struct(data, struct cparse_params, v);
|
270
295
|
rb_funcall(v->lexer, v->lexmid, 0);
|
271
296
|
return Qnil;
|
272
297
|
}
|
@@ -279,18 +304,17 @@ call_lexer(struct cparse_params *v)
|
|
279
304
|
#endif
|
280
305
|
|
281
306
|
static VALUE
|
282
|
-
lexer_i(
|
307
|
+
lexer_i(RB_BLOCK_CALL_FUNC_ARGLIST(block_args, data))
|
283
308
|
{
|
284
|
-
struct cparse_params *v;
|
309
|
+
struct cparse_params *v = rb_check_typeddata(data, &cparse_params_type);
|
285
310
|
VALUE tok, val;
|
286
311
|
|
287
|
-
Data_Get_Struct(data, struct cparse_params, v);
|
288
312
|
if (v->fin)
|
289
313
|
rb_raise(rb_eArgError, "extra token after EndOfToken");
|
290
314
|
extract_user_token(v, block_args, &tok, &val);
|
291
315
|
parse_main(v, tok, val, 1);
|
292
316
|
if (v->fin && v->fin != CP_FIN_ACCEPT)
|
293
|
-
rb_iter_break();
|
317
|
+
rb_iter_break();
|
294
318
|
return Qnil;
|
295
319
|
}
|
296
320
|
|
@@ -317,9 +341,8 @@ assert_integer(VALUE n)
|
|
317
341
|
static VALUE
|
318
342
|
initialize_params(VALUE vparams, VALUE parser, VALUE arg, VALUE lexer, VALUE lexmid)
|
319
343
|
{
|
320
|
-
struct cparse_params *v;
|
344
|
+
struct cparse_params *v = rb_check_typeddata(vparams, &cparse_params_type);
|
321
345
|
|
322
|
-
Data_Get_Struct(vparams, struct cparse_params, v);
|
323
346
|
v->value_v = vparams;
|
324
347
|
v->parser = parser;
|
325
348
|
v->lexer = lexer;
|
@@ -348,7 +371,7 @@ initialize_params(VALUE vparams, VALUE parser, VALUE arg, VALUE lexer, VALUE lex
|
|
348
371
|
v->use_result_var = RTEST(rb_ary_entry(arg, 13));
|
349
372
|
}
|
350
373
|
else {
|
351
|
-
v->use_result_var =
|
374
|
+
v->use_result_var = TRUE;
|
352
375
|
}
|
353
376
|
|
354
377
|
v->tstack = v->debug ? NEW_STACK() : Qnil;
|
@@ -364,7 +387,7 @@ initialize_params(VALUE vparams, VALUE parser, VALUE arg, VALUE lexer, VALUE lex
|
|
364
387
|
v->retval = Qnil;
|
365
388
|
v->fin = 0;
|
366
389
|
|
367
|
-
v->lex_is_iterator =
|
390
|
+
v->lex_is_iterator = FALSE;
|
368
391
|
|
369
392
|
rb_iv_set(parser, "@vstack", v->vstack);
|
370
393
|
if (v->debug) {
|
@@ -402,6 +425,12 @@ cparse_params_mark(void *ptr)
|
|
402
425
|
rb_gc_mark(v->retval);
|
403
426
|
}
|
404
427
|
|
428
|
+
static size_t
|
429
|
+
cparse_params_memsize(const void *ptr)
|
430
|
+
{
|
431
|
+
return sizeof(struct cparse_params);
|
432
|
+
}
|
433
|
+
|
405
434
|
static void
|
406
435
|
extract_user_token(struct cparse_params *v, VALUE block_args,
|
407
436
|
VALUE *tok, VALUE *val)
|
@@ -413,12 +442,12 @@ extract_user_token(struct cparse_params *v, VALUE block_args,
|
|
413
442
|
return;
|
414
443
|
}
|
415
444
|
|
416
|
-
if (
|
445
|
+
if (!RB_TYPE_P(block_args, T_ARRAY)) {
|
417
446
|
rb_raise(rb_eTypeError,
|
418
|
-
"%s() %s %
|
447
|
+
"%s() %s %"PRIsVALUE" (must be Array[2])",
|
419
448
|
v->lex_is_iterator ? rb_id2name(v->lexmid) : "next_token",
|
420
449
|
v->lex_is_iterator ? "yielded" : "returned",
|
421
|
-
|
450
|
+
rb_obj_class(block_args));
|
422
451
|
}
|
423
452
|
if (RARRAY_LEN(block_args) != 2) {
|
424
453
|
rb_raise(rb_eArgError,
|
@@ -457,7 +486,7 @@ parse_main(struct cparse_params *v, VALUE tok, VALUE val, int resume)
|
|
457
486
|
|
458
487
|
if (resume)
|
459
488
|
goto resume;
|
460
|
-
|
489
|
+
|
461
490
|
while (1) {
|
462
491
|
D_puts("");
|
463
492
|
D_puts("---- enter new loop ----");
|
@@ -516,7 +545,7 @@ parse_main(struct cparse_params *v, VALUE tok, VALUE val, int resume)
|
|
516
545
|
act_fixed:
|
517
546
|
D_printf("act=%ld\n", act);
|
518
547
|
goto handle_act;
|
519
|
-
|
548
|
+
|
520
549
|
notfound:
|
521
550
|
D_puts("(act) not found: use default");
|
522
551
|
act_value = AREF(v->action_default, v->curstate);
|
@@ -617,7 +646,7 @@ parse_main(struct cparse_params *v, VALUE tok, VALUE val, int resume)
|
|
617
646
|
|
618
647
|
D_puts("(err) found: can handle error token");
|
619
648
|
break;
|
620
|
-
|
649
|
+
|
621
650
|
error_pop:
|
622
651
|
D_puts("(err) act not found: can't handle error token; pop");
|
623
652
|
|
@@ -679,9 +708,9 @@ reduce(struct cparse_params *v, long act)
|
|
679
708
|
}
|
680
709
|
|
681
710
|
static VALUE
|
682
|
-
reduce0(
|
711
|
+
reduce0(RB_BLOCK_CALL_FUNC_ARGLIST(_, data))
|
683
712
|
{
|
684
|
-
struct cparse_params *v;
|
713
|
+
struct cparse_params *v = rb_check_typeddata(data, &cparse_params_type);
|
685
714
|
VALUE reduce_to, reduce_len, method_id;
|
686
715
|
long len;
|
687
716
|
ID mid;
|
@@ -689,7 +718,6 @@ reduce0(VALUE val, VALUE data, VALUE self)
|
|
689
718
|
long i, k1, k2;
|
690
719
|
VALUE goto_state;
|
691
720
|
|
692
|
-
Data_Get_Struct(data, struct cparse_params, v);
|
693
721
|
reduce_len = rb_ary_entry(v->reduce_table, v->ruleno);
|
694
722
|
reduce_to = rb_ary_entry(v->reduce_table, v->ruleno+1);
|
695
723
|
method_id = rb_ary_entry(v->reduce_table, v->ruleno+2);
|
@@ -791,6 +819,8 @@ reduce0(VALUE val, VALUE data, VALUE self)
|
|
791
819
|
void
|
792
820
|
Init_cparse(void)
|
793
821
|
{
|
822
|
+
#undef rb_intern
|
823
|
+
#define rb_intern(str) rb_intern_const(str)
|
794
824
|
VALUE Racc, Parser;
|
795
825
|
ID id_racc = rb_intern("Racc");
|
796
826
|
|
@@ -810,6 +840,9 @@ Init_cparse(void)
|
|
810
840
|
rb_str_new2("$originalId: cparse.c,v 1.8 2006/07/06 11:39:46 aamine Exp $"));
|
811
841
|
|
812
842
|
CparseParams = rb_define_class_under(Racc, "CparseParams", rb_cObject);
|
843
|
+
rb_undef_alloc_func(CparseParams);
|
844
|
+
rb_undef_method(CparseParams, "initialize");
|
845
|
+
rb_undef_method(CparseParams, "initialize_copy");
|
813
846
|
|
814
847
|
RaccBug = rb_eRuntimeError;
|
815
848
|
|