depager 0.2.0 → 0.2.2
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/ChangeLog +4 -0
- data/README.en +5 -10
- data/bin/depager +17 -20
- data/examples/c89/c89.tab.rb +5632 -702
- data/examples/pl0d/pl0ds.dr +41 -41
- data/examples/pl0d/pl0ds.tab.rb +1887 -874
- data/examples/sample_calc/calc.action.tab.rb +243 -69
- data/examples/sample_calc/{calc.astl.action.dr → calc.ast.action.dr} +7 -7
- data/examples/sample_calc/calc.ast.action.tab.rb +755 -0
- data/examples/sample_calc/{calc.astl.dr → calc.ast.dr} +7 -7
- data/examples/sample_calc/calc.ast.tab.rb +672 -0
- data/examples/sample_calc/calc.astdf.dr +5 -5
- data/examples/sample_calc/calc.astdf.tab.rb +405 -202
- data/examples/sample_calc/calc.atree.tab.rb +243 -69
- data/examples/sample_calc/calc.cst.tab.rb +275 -109
- data/examples/sample_calc/calc.lex.tab.rb +210 -28
- data/examples/sample_calc/calc.nvaction.tab.rb +251 -77
- data/examples/sample_calc/calc.tab.rb +210 -28
- data/examples/sample_calc/calc_prec.nvaction.tab.rb +224 -50
- data/examples/slex_test/divreg.slex.tab.rb +97 -21
- data/examples/slex_test/ljoin.slex.tab.rb +128 -35
- data/lib/depager.rb +77 -44
- data/lib/depager/{ast_base.dr → ast.dr} +56 -18
- data/lib/depager/{ast_base.rb → ast.rb} +432 -424
- data/lib/depager/astdf.rb +3 -6
- data/lib/depager/atree.rb +54 -62
- data/lib/depager/cst.dr +2 -2
- data/lib/depager/cst.rb +64 -77
- data/lib/depager/grammar.rb +225 -66
- data/lib/depager/lex.dr +1 -1
- data/lib/depager/lex.rb +45 -54
- data/lib/depager/lr.rb +181 -262
- data/lib/depager/lr_put_table.rb +116 -0
- data/lib/depager/nvaction.rb +1 -1
- data/lib/depager/parser.rb +23 -2
- data/lib/depager/slex.dr +3 -3
- data/lib/depager/slex.rb +148 -169
- data/lib/depager/srp.rb +1 -1
- data/lib/depager/template/ast.erbs +69 -0
- data/lib/depager/template/extension_lalr_master.erb +3 -3
- data/lib/depager/template/extension_lalr_slave.erb +7 -7
- data/lib/depager/template/simple.erb +4 -2
- data/lib/depager/template/single_lalr_parser.erb +30 -10
- data/lib/depager/utils.rb +10 -9
- data/lib/depager/version.rb +2 -8
- metadata +10 -11
- data/examples/sample_calc/calc.astl.action.tab.rb +0 -593
- data/examples/sample_calc/calc.astl.tab.rb +0 -501
- data/lib/depager/astl.rb +0 -14
- data/lib/depager/template/astdf.erbs +0 -57
- data/lib/depager/template/astl.erbs +0 -57
data/lib/depager/astdf.rb
CHANGED
@@ -1,10 +1,7 @@
|
|
1
|
-
require 'depager/
|
2
|
-
class ASTBuilderDepthFirstExtension <
|
3
|
-
def modify_action_code code, nodes=[]
|
4
|
-
code.gsub(/~([a-z_])/, 'node.\1')
|
5
|
-
end
|
1
|
+
require 'depager/ast.rb'
|
2
|
+
class ASTBuilderDepthFirstExtension < ASTBuilderExtension #:nodoc:all
|
6
3
|
def gen_accept_code sym
|
7
4
|
" @#{sym}.accept(v)\n"
|
8
5
|
end
|
9
|
-
Template =
|
6
|
+
Template = superclass::Template
|
10
7
|
end
|
data/lib/depager/atree.rb
CHANGED
@@ -102,14 +102,14 @@ class ATreeBuilderExtension_postrhs < Depager::LALR::Basis #:nodoc:all
|
|
102
102
|
[ nil, nil, nil, 4, nil, nil, nil, nil, ],
|
103
103
|
[ nil, nil, nil, nil, nil, nil, nil, nil, ],
|
104
104
|
[ nil, nil, nil, nil, 5, nil, nil, nil, ],
|
105
|
-
[ nil, nil, nil,
|
105
|
+
[ nil, nil, nil, 9, nil, 6, nil, 10, ],
|
106
106
|
[ nil, nil, nil, nil, nil, nil, nil, nil, ],
|
107
|
+
[ nil, nil, nil, nil, nil, 11, 12, nil, ],
|
107
108
|
[ nil, nil, nil, nil, nil, nil, nil, nil, ],
|
108
|
-
[ nil, nil, nil, nil, nil, 12, 11, nil, ],
|
109
109
|
[ nil, nil, nil, nil, nil, nil, nil, nil, ],
|
110
110
|
[ nil, nil, nil, nil, nil, nil, nil, nil, ],
|
111
|
-
[ nil, nil, nil, 7, nil, nil, nil, 6, ],
|
112
111
|
[ nil, nil, nil, nil, nil, nil, nil, nil, ],
|
112
|
+
[ nil, nil, nil, 9, nil, nil, nil, 10, ],
|
113
113
|
[ nil, nil, nil, nil, nil, nil, nil, nil, ],
|
114
114
|
]
|
115
115
|
### Default Reduce Table
|
@@ -120,13 +120,13 @@ class ATreeBuilderExtension_postrhs < Depager::LALR::Basis #:nodoc:all
|
|
120
120
|
-1,
|
121
121
|
-4,
|
122
122
|
nil,
|
123
|
-
-8,
|
124
|
-
-7,
|
125
|
-
nil,
|
126
|
-
-5,
|
127
123
|
-2,
|
128
124
|
nil,
|
125
|
+
-5,
|
126
|
+
-7,
|
127
|
+
-8,
|
129
128
|
-3,
|
129
|
+
nil,
|
130
130
|
-6,
|
131
131
|
]
|
132
132
|
defred_after_shift_table = [
|
@@ -136,13 +136,13 @@ class ATreeBuilderExtension_postrhs < Depager::LALR::Basis #:nodoc:all
|
|
136
136
|
-1,
|
137
137
|
nil,
|
138
138
|
nil,
|
139
|
-
-8,
|
140
|
-
-7,
|
141
|
-
nil,
|
142
|
-
-5,
|
143
139
|
-2,
|
144
140
|
nil,
|
141
|
+
-5,
|
142
|
+
-7,
|
143
|
+
-8,
|
145
144
|
-3,
|
145
|
+
nil,
|
146
146
|
-6,
|
147
147
|
]
|
148
148
|
### Nonterm to Int
|
@@ -166,14 +166,14 @@ class ATreeBuilderExtension_postrhs < Depager::LALR::Basis #:nodoc:all
|
|
166
166
|
[ nil, 3, nil, nil, ],
|
167
167
|
[ nil, nil, nil, nil, ],
|
168
168
|
[ nil, nil, nil, nil, ],
|
169
|
-
[ nil, nil,
|
169
|
+
[ nil, nil, 7, 8, ],
|
170
170
|
[ nil, nil, nil, nil, ],
|
171
171
|
[ nil, nil, nil, nil, ],
|
172
172
|
[ nil, nil, nil, nil, ],
|
173
173
|
[ nil, nil, nil, nil, ],
|
174
174
|
[ nil, nil, nil, nil, ],
|
175
|
-
[ nil, nil, nil, 13, ],
|
176
175
|
[ nil, nil, nil, nil, ],
|
176
|
+
[ nil, nil, nil, 13, ],
|
177
177
|
[ nil, nil, nil, nil, ],
|
178
178
|
]
|
179
179
|
|
@@ -253,7 +253,7 @@ end
|
|
253
253
|
|
254
254
|
class D4ATreeBuilderExtension_postrhs::NVAction < Depager::LALR::Action #:nodoc:all
|
255
255
|
include Depager::DecoratorUtils
|
256
|
-
|
256
|
+
[]
|
257
257
|
on_reduce = [
|
258
258
|
nil,
|
259
259
|
:_act_0,
|
@@ -274,81 +274,73 @@ class D4ATreeBuilderExtension_postrhs::NVAction < Depager::LALR::Action #:nodoc:
|
|
274
274
|
end
|
275
275
|
|
276
276
|
|
277
|
-
module_eval <<-'.,.,
|
278
|
-
|
279
|
-
_EG, _ast = *val
|
277
|
+
module_eval <<-'.,.,120998292334355.,.,', 'atree.dr', 32
|
278
|
+
def _act_0 val
|
279
|
+
_EG, _ast, = *val
|
280
280
|
|
281
281
|
n = master.nrules
|
282
282
|
master.optouter <<
|
283
283
|
master.gen_defm_code("_atree_#{n} val", _ast, _EG.lineno)
|
284
284
|
master.on_reduce[n] = ":_atree_#{n}"
|
285
285
|
|
286
|
-
|
287
|
-
|
288
|
-
.,.,118754107734084.,.,
|
286
|
+
end
|
287
|
+
.,.,120998292334355.,.,
|
289
288
|
|
290
|
-
module_eval <<-'.,.,
|
291
|
-
|
292
|
-
_ID, _, _ = *val
|
289
|
+
module_eval <<-'.,.,120998292322383.,.,', 'atree.dr', 40
|
290
|
+
def _act_1 val
|
291
|
+
_ID, _, _, = *val
|
293
292
|
"[:#{_ID.value}]"
|
294
293
|
|
295
|
-
|
296
|
-
|
297
|
-
.,.,11875410773078.,.,
|
294
|
+
end
|
295
|
+
.,.,120998292322383.,.,
|
298
296
|
|
299
|
-
module_eval <<-'.,.,
|
300
|
-
|
301
|
-
_ID, _, _fact_list, _ = *val
|
297
|
+
module_eval <<-'.,.,120998292327560.,.,', 'atree.dr', 41
|
298
|
+
def _act_2 val
|
299
|
+
_ID, _, _fact_list, _, = *val
|
302
300
|
"[:#{_ID.value}, #{_fact_list.join(',')}]"
|
303
301
|
|
304
|
-
|
305
|
-
|
306
|
-
.,.,118754107728685.,.,
|
302
|
+
end
|
303
|
+
.,.,120998292327560.,.,
|
307
304
|
|
308
|
-
module_eval <<-'.,.,
|
309
|
-
|
310
|
-
_ID = *val
|
305
|
+
module_eval <<-'.,.,120998292335893.,.,', 'atree.dr', 42
|
306
|
+
def _act_3 val
|
307
|
+
_ID, = *val
|
311
308
|
"val[#{g_parser.name_to_rhs_index(_ID.value)}]"
|
312
309
|
|
313
|
-
|
314
|
-
|
315
|
-
.,.,118754107760030.,.,
|
310
|
+
end
|
311
|
+
.,.,120998292335893.,.,
|
316
312
|
|
317
|
-
module_eval <<-'.,.,
|
318
|
-
|
319
|
-
_fact = *val
|
313
|
+
module_eval <<-'.,.,120998292340950.,.,', 'atree.dr', 45
|
314
|
+
def _act_4 val
|
315
|
+
_fact, = *val
|
320
316
|
[ _fact ]
|
321
317
|
|
322
|
-
|
323
|
-
|
324
|
-
.,.,118754107732642.,.,
|
318
|
+
end
|
319
|
+
.,.,120998292340950.,.,
|
325
320
|
|
326
|
-
module_eval <<-'.,.,
|
327
|
-
|
328
|
-
_fact_list, _, _fact = *val
|
321
|
+
module_eval <<-'.,.,120998292327661.,.,', 'atree.dr', 46
|
322
|
+
def _act_5 val
|
323
|
+
_fact_list, _, _fact, = *val
|
329
324
|
_fact_list.push _fact
|
330
325
|
|
331
|
-
|
332
|
-
|
333
|
-
.,.,118754107753843.,.,
|
326
|
+
end
|
327
|
+
.,.,120998292327661.,.,
|
334
328
|
|
335
|
-
module_eval <<-'.,.,
|
336
|
-
|
337
|
-
_ID = *val
|
329
|
+
module_eval <<-'.,.,120998292362107.,.,', 'atree.dr', 49
|
330
|
+
def _act_6 val
|
331
|
+
_ID, = *val
|
338
332
|
"val[#{g_parser.name_to_rhs_index(_ID.value)}]"
|
339
333
|
|
340
|
-
|
341
|
-
|
342
|
-
.,.,118754107752237.,.,
|
334
|
+
end
|
335
|
+
.,.,120998292362107.,.,
|
343
336
|
|
344
|
-
module_eval <<-'.,.,
|
345
|
-
|
346
|
-
_STR = *val
|
337
|
+
module_eval <<-'.,.,120998292336597.,.,', 'atree.dr', 50
|
338
|
+
def _act_7 val
|
339
|
+
_STR, = *val
|
347
340
|
"'#{_STR.value}'"
|
348
341
|
|
349
|
-
|
350
|
-
|
351
|
-
.,.,118754107722958.,.,
|
342
|
+
end
|
343
|
+
.,.,120998292336597.,.,
|
352
344
|
|
353
345
|
end
|
354
346
|
|
data/lib/depager/cst.dr
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
nodes = g_parser.rhs.map do |i|
|
34
34
|
x = g_parser.int_to_sym(i)
|
35
35
|
if x.class == String
|
36
|
-
"tx#{x[0]
|
36
|
+
"tx#{x.unpack("H*")[0]}"
|
37
37
|
else
|
38
38
|
x = x.to_s
|
39
39
|
accept << "#{x}.accept(v); " if x =~ /\A[a-z_]+\Z/
|
@@ -82,7 +82,7 @@
|
|
82
82
|
end
|
83
83
|
}; #code
|
84
84
|
g_parser.optouter <<
|
85
|
-
code.sub!('$$!!@ CST @!!$$', @visitor_code.
|
85
|
+
code.sub!('$$!!@ CST @!!$$', @visitor_code.join) <<
|
86
86
|
unindent(@nodes_code) <<
|
87
87
|
gen_action_decorator_code(target_name, paramkey,
|
88
88
|
@on_reduce, @optouter)
|
data/lib/depager/cst.rb
CHANGED
@@ -66,7 +66,7 @@ class CSTBuilderExtension #:nodoc:all
|
|
66
66
|
nodes = g_parser.rhs.map do |i|
|
67
67
|
x = g_parser.int_to_sym(i)
|
68
68
|
if x.class == String
|
69
|
-
"tx#{x[0]
|
69
|
+
"tx#{x.unpack("H*")[0]}"
|
70
70
|
else
|
71
71
|
x = x.to_s
|
72
72
|
accept << "#{x}.accept(v); " if x =~ /\A[a-z_]+\Z/
|
@@ -115,7 +115,7 @@ class CSTBuilderExtension #:nodoc:all
|
|
115
115
|
end
|
116
116
|
}; #code
|
117
117
|
g_parser.optouter <<
|
118
|
-
code.sub!('$$!!@ CST @!!$$', @visitor_code.
|
118
|
+
code.sub!('$$!!@ CST @!!$$', @visitor_code.join) <<
|
119
119
|
unindent(@nodes_code) <<
|
120
120
|
gen_action_decorator_code(target_name, paramkey,
|
121
121
|
@on_reduce, @optouter)
|
@@ -167,10 +167,10 @@ class CSTBuilderExtension_prerulelist < Depager::LALR::Basis #:nodoc:all
|
|
167
167
|
]
|
168
168
|
### Action Table
|
169
169
|
action_table = [
|
170
|
-
[ nil, nil,
|
171
|
-
[ nil, nil, nil, 4, nil, ],
|
170
|
+
[ nil, nil, 3, nil, nil, ],
|
172
171
|
[ ACC, nil, nil, nil, nil, ],
|
173
172
|
[ nil, nil, nil, nil, 5, ],
|
173
|
+
[ nil, nil, nil, 6, nil, ],
|
174
174
|
[ nil, nil, nil, nil, nil, ],
|
175
175
|
[ nil, nil, nil, 7, nil, ],
|
176
176
|
[ nil, nil, nil, nil, nil, ],
|
@@ -180,11 +180,11 @@ class CSTBuilderExtension_prerulelist < Depager::LALR::Basis #:nodoc:all
|
|
180
180
|
defred_table = [
|
181
181
|
-2,
|
182
182
|
nil,
|
183
|
-
nil,
|
184
183
|
-4,
|
185
|
-
-3,
|
186
184
|
nil,
|
187
185
|
-1,
|
186
|
+
nil,
|
187
|
+
-3,
|
188
188
|
-5,
|
189
189
|
]
|
190
190
|
defred_after_shift_table = [
|
@@ -192,9 +192,9 @@ class CSTBuilderExtension_prerulelist < Depager::LALR::Basis #:nodoc:all
|
|
192
192
|
nil,
|
193
193
|
nil,
|
194
194
|
nil,
|
195
|
-
-3,
|
196
|
-
nil,
|
197
195
|
-1,
|
196
|
+
nil,
|
197
|
+
-3,
|
198
198
|
-5,
|
199
199
|
]
|
200
200
|
### Nonterm to Int
|
@@ -211,10 +211,10 @@ class CSTBuilderExtension_prerulelist < Depager::LALR::Basis #:nodoc:all
|
|
211
211
|
]
|
212
212
|
### Goto Table
|
213
213
|
goto_table = [
|
214
|
-
[
|
214
|
+
[ 1, 2, nil, ],
|
215
215
|
[ nil, nil, nil, ],
|
216
|
+
[ nil, nil, 4, ],
|
216
217
|
[ nil, nil, nil, ],
|
217
|
-
[ nil, nil, 6, ],
|
218
218
|
[ nil, nil, nil, ],
|
219
219
|
[ nil, nil, nil, ],
|
220
220
|
[ nil, nil, nil, ],
|
@@ -291,9 +291,7 @@ end
|
|
291
291
|
|
292
292
|
class D4CSTBuilderExtension_prerulelist::NVAction < Depager::LALR::Action #:nodoc:all
|
293
293
|
include Depager::DecoratorUtils
|
294
|
-
|
295
|
-
include ActionParser
|
296
|
-
|
294
|
+
[" include ActionParser\n", " include ActionParser\n"]
|
297
295
|
on_reduce = [
|
298
296
|
nil,
|
299
297
|
:_act_0,
|
@@ -311,9 +309,9 @@ include ActionParser
|
|
311
309
|
end
|
312
310
|
|
313
311
|
|
314
|
-
module_eval <<-'.,.,
|
315
|
-
|
316
|
-
_opt_node, _opt_visitor = *val
|
312
|
+
module_eval <<-'.,.,120998292315579.,.,', 'cst.dr', 104
|
313
|
+
def _act_0 val
|
314
|
+
_opt_node, _opt_visitor, = *val
|
317
315
|
|
318
316
|
code = %{
|
319
317
|
class Node
|
@@ -327,43 +325,38 @@ module_eval <<-'.,.,118754107719806.,.,', 'cst.dr', 104
|
|
327
325
|
code.sub!('$$!!@ NODE @!!$$', _opt_node) \
|
328
326
|
.sub!('$$!!@ VISITOR @!!$$', _opt_visitor)
|
329
327
|
|
330
|
-
|
331
|
-
|
332
|
-
.,.,118754107719806.,.,
|
328
|
+
end
|
329
|
+
.,.,120998292315579.,.,
|
333
330
|
|
334
|
-
module_eval <<-'.,.,
|
335
|
-
|
331
|
+
module_eval <<-'.,.,120998292321982.,.,', 'cst.dr', 119
|
332
|
+
def _act_1 val
|
336
333
|
''
|
337
334
|
|
338
|
-
|
339
|
-
|
340
|
-
.,.,118754107715644.,.,
|
335
|
+
end
|
336
|
+
.,.,120998292321982.,.,
|
341
337
|
|
342
|
-
module_eval <<-'.,.,
|
343
|
-
|
344
|
-
_NODE, _ACTION = *val
|
338
|
+
module_eval <<-'.,.,120998292319798.,.,', 'cst.dr', 120
|
339
|
+
def _act_2 val
|
340
|
+
_NODE, _ACTION, = *val
|
345
341
|
_ACTION.value
|
346
342
|
|
347
|
-
|
348
|
-
|
349
|
-
.,.,118754107752569.,.,
|
343
|
+
end
|
344
|
+
.,.,120998292319798.,.,
|
350
345
|
|
351
|
-
module_eval <<-'.,.,
|
352
|
-
|
346
|
+
module_eval <<-'.,.,120998292317944.,.,', 'cst.dr', 123
|
347
|
+
def _act_3 val
|
353
348
|
''
|
354
349
|
|
355
|
-
|
356
|
-
|
357
|
-
.,.,118754107761602.,.,
|
350
|
+
end
|
351
|
+
.,.,120998292317944.,.,
|
358
352
|
|
359
|
-
module_eval <<-'.,.,
|
360
|
-
|
361
|
-
_VISITOR, _ACTION = *val
|
353
|
+
module_eval <<-'.,.,120998292323044.,.,', 'cst.dr', 124
|
354
|
+
def _act_4 val
|
355
|
+
_VISITOR, _ACTION, = *val
|
362
356
|
_ACTION.value
|
363
357
|
|
364
|
-
|
365
|
-
|
366
|
-
.,.,118754107741735.,.,
|
358
|
+
end
|
359
|
+
.,.,120998292323044.,.,
|
367
360
|
|
368
361
|
end
|
369
362
|
|
@@ -416,9 +409,9 @@ class CSTBuilderExtension_postlhs < Depager::LALR::Basis #:nodoc:all
|
|
416
409
|
]
|
417
410
|
### Action Table
|
418
411
|
action_table = [
|
419
|
-
[ nil, nil,
|
420
|
-
[ nil, nil, nil, nil, nil, 5, nil, nil, ],
|
412
|
+
[ nil, nil, 2, nil, nil, nil, nil, nil, ],
|
421
413
|
[ ACC, nil, nil, nil, nil, nil, nil, nil, ],
|
414
|
+
[ nil, nil, nil, nil, nil, 5, nil, nil, ],
|
422
415
|
[ nil, nil, nil, 6, 7, nil, nil, nil, ],
|
423
416
|
[ nil, nil, nil, nil, nil, nil, nil, nil, ],
|
424
417
|
[ nil, nil, nil, nil, nil, nil, 8, nil, ],
|
@@ -469,9 +462,9 @@ class CSTBuilderExtension_postlhs < Depager::LALR::Basis #:nodoc:all
|
|
469
462
|
]
|
470
463
|
### Goto Table
|
471
464
|
goto_table = [
|
472
|
-
[
|
473
|
-
[ nil, 3, 4, ],
|
465
|
+
[ 1, nil, nil, ],
|
474
466
|
[ nil, nil, nil, ],
|
467
|
+
[ nil, 3, 4, ],
|
475
468
|
[ nil, nil, nil, ],
|
476
469
|
[ nil, nil, nil, ],
|
477
470
|
[ nil, nil, nil, ],
|
@@ -561,8 +554,7 @@ end
|
|
561
554
|
|
562
555
|
class D4CSTBuilderExtension_postlhs::NVAction < Depager::LALR::Action #:nodoc:all
|
563
556
|
include Depager::DecoratorUtils
|
564
|
-
|
565
|
-
|
557
|
+
[" include ActionParser\n"]
|
566
558
|
on_reduce = [
|
567
559
|
nil,
|
568
560
|
:_act_0,
|
@@ -580,9 +572,9 @@ class D4CSTBuilderExtension_postlhs::NVAction < Depager::LALR::Action #:nodoc:al
|
|
580
572
|
end
|
581
573
|
|
582
574
|
|
583
|
-
module_eval <<-'.,.,
|
584
|
-
|
585
|
-
_, _pair, _ = *val
|
575
|
+
module_eval <<-'.,.,120998292354439.,.,', 'cst.dr', 155
|
576
|
+
def _act_0 val
|
577
|
+
_, _pair, _, = *val
|
586
578
|
|
587
579
|
args = []; code = ''
|
588
580
|
_pair.each do |id, lit|
|
@@ -600,45 +592,40 @@ module_eval <<-'.,.,118754107847682.,.,', 'cst.dr', 155
|
|
600
592
|
end
|
601
593
|
}; #code
|
602
594
|
|
603
|
-
|
604
|
-
|
605
|
-
.,.,118754107847682.,.,
|
595
|
+
end
|
596
|
+
.,.,120998292354439.,.,
|
606
597
|
|
607
|
-
module_eval <<-'.,.,
|
608
|
-
|
609
|
-
_expr = *val
|
598
|
+
module_eval <<-'.,.,120998292355813.,.,', 'cst.dr', 174
|
599
|
+
def _act_1 val
|
600
|
+
_expr, = *val
|
610
601
|
[ _expr ]
|
611
602
|
|
612
|
-
|
613
|
-
|
614
|
-
.,.,118754107817648.,.,
|
603
|
+
end
|
604
|
+
.,.,120998292355813.,.,
|
615
605
|
|
616
|
-
module_eval <<-'.,.,
|
617
|
-
|
618
|
-
_pair, _, _expr = *val
|
606
|
+
module_eval <<-'.,.,120998292324404.,.,', 'cst.dr', 175
|
607
|
+
def _act_2 val
|
608
|
+
_pair, _, _expr, = *val
|
619
609
|
_pair << _expr
|
620
610
|
|
621
|
-
|
622
|
-
|
623
|
-
.,.,118754107822421.,.,
|
611
|
+
end
|
612
|
+
.,.,120998292324404.,.,
|
624
613
|
|
625
|
-
module_eval <<-'.,.,
|
626
|
-
|
627
|
-
_ID = *val
|
614
|
+
module_eval <<-'.,.,12099829236180.,.,', 'cst.dr', 178
|
615
|
+
def _act_3 val
|
616
|
+
_ID, = *val
|
628
617
|
[ _ID.value, nil]
|
629
618
|
|
630
|
-
|
631
|
-
|
632
|
-
.,.,118754107863218.,.,
|
619
|
+
end
|
620
|
+
.,.,12099829236180.,.,
|
633
621
|
|
634
|
-
module_eval <<-'.,.,
|
635
|
-
|
636
|
-
_ID, _, _LIT = *val
|
622
|
+
module_eval <<-'.,.,12099829233028.,.,', 'cst.dr', 179
|
623
|
+
def _act_4 val
|
624
|
+
_ID, _, _LIT, = *val
|
637
625
|
[ _ID.value, _LIT.value ]
|
638
626
|
|
639
|
-
|
640
|
-
|
641
|
-
.,.,118754107828193.,.,
|
627
|
+
end
|
628
|
+
.,.,12099829233028.,.,
|
642
629
|
|
643
630
|
end
|
644
631
|
|