depager 0.2.0 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. data/ChangeLog +4 -0
  2. data/README.en +5 -10
  3. data/bin/depager +17 -20
  4. data/examples/c89/c89.tab.rb +5632 -702
  5. data/examples/pl0d/pl0ds.dr +41 -41
  6. data/examples/pl0d/pl0ds.tab.rb +1887 -874
  7. data/examples/sample_calc/calc.action.tab.rb +243 -69
  8. data/examples/sample_calc/{calc.astl.action.dr → calc.ast.action.dr} +7 -7
  9. data/examples/sample_calc/calc.ast.action.tab.rb +755 -0
  10. data/examples/sample_calc/{calc.astl.dr → calc.ast.dr} +7 -7
  11. data/examples/sample_calc/calc.ast.tab.rb +672 -0
  12. data/examples/sample_calc/calc.astdf.dr +5 -5
  13. data/examples/sample_calc/calc.astdf.tab.rb +405 -202
  14. data/examples/sample_calc/calc.atree.tab.rb +243 -69
  15. data/examples/sample_calc/calc.cst.tab.rb +275 -109
  16. data/examples/sample_calc/calc.lex.tab.rb +210 -28
  17. data/examples/sample_calc/calc.nvaction.tab.rb +251 -77
  18. data/examples/sample_calc/calc.tab.rb +210 -28
  19. data/examples/sample_calc/calc_prec.nvaction.tab.rb +224 -50
  20. data/examples/slex_test/divreg.slex.tab.rb +97 -21
  21. data/examples/slex_test/ljoin.slex.tab.rb +128 -35
  22. data/lib/depager.rb +77 -44
  23. data/lib/depager/{ast_base.dr → ast.dr} +56 -18
  24. data/lib/depager/{ast_base.rb → ast.rb} +432 -424
  25. data/lib/depager/astdf.rb +3 -6
  26. data/lib/depager/atree.rb +54 -62
  27. data/lib/depager/cst.dr +2 -2
  28. data/lib/depager/cst.rb +64 -77
  29. data/lib/depager/grammar.rb +225 -66
  30. data/lib/depager/lex.dr +1 -1
  31. data/lib/depager/lex.rb +45 -54
  32. data/lib/depager/lr.rb +181 -262
  33. data/lib/depager/lr_put_table.rb +116 -0
  34. data/lib/depager/nvaction.rb +1 -1
  35. data/lib/depager/parser.rb +23 -2
  36. data/lib/depager/slex.dr +3 -3
  37. data/lib/depager/slex.rb +148 -169
  38. data/lib/depager/srp.rb +1 -1
  39. data/lib/depager/template/ast.erbs +69 -0
  40. data/lib/depager/template/extension_lalr_master.erb +3 -3
  41. data/lib/depager/template/extension_lalr_slave.erb +7 -7
  42. data/lib/depager/template/simple.erb +4 -2
  43. data/lib/depager/template/single_lalr_parser.erb +30 -10
  44. data/lib/depager/utils.rb +10 -9
  45. data/lib/depager/version.rb +2 -8
  46. metadata +10 -11
  47. data/examples/sample_calc/calc.astl.action.tab.rb +0 -593
  48. data/examples/sample_calc/calc.astl.tab.rb +0 -501
  49. data/lib/depager/astl.rb +0 -14
  50. data/lib/depager/template/astdf.erbs +0 -57
  51. data/lib/depager/template/astl.erbs +0 -57
@@ -3,8 +3,8 @@ begin; require 'rubygems'; rescue Exception; end
3
3
  require 'depager/parser.rb'
4
4
 
5
5
 
6
- module D4TinyCalc
7
- end
6
+ module Depager::DecoratorUtils; end
7
+ module D4TinyCalc; end
8
8
 
9
9
  class TinyCalc < Depager::LALR::Basis
10
10
 
@@ -12,14 +12,14 @@ class TinyCalc < Depager::LALR::Basis
12
12
  ### Reduce Table
13
13
  reduce_table = [
14
14
  [ -1, 1 ], # ( 0) $start : expr
15
- [ 0, 3 ], # ( 1) expr : expr + term
16
- [ 0, 3 ], # ( 2) expr : expr - term
15
+ [ 0, 3 ], # ( 1) expr : expr '+' term
16
+ [ 0, 3 ], # ( 2) expr : expr '-' term
17
17
  [ 0, 1 ], # ( 3) expr : term
18
- [ 1, 3 ], # ( 4) term : term * fact
19
- [ 1, 3 ], # ( 5) term : term / fact
18
+ [ 1, 3 ], # ( 4) term : term '*' fact
19
+ [ 1, 3 ], # ( 5) term : term '/' fact
20
20
  [ 1, 1 ], # ( 6) term : fact
21
21
  [ 2, 1 ], # ( 7) fact : NUM
22
- [ 2, 3 ], # ( 8) fact : ( expr )
22
+ [ 2, 3 ], # ( 8) fact : '(' expr ')'
23
23
  ]
24
24
  ### Extension Params
25
25
  nparams = {
@@ -50,26 +50,25 @@ class TinyCalc < Depager::LALR::Basis
50
50
  ]
51
51
  ### Action Table
52
52
  action_table = [
53
- [ nil, nil, nil, nil, nil, nil, 5, 1, nil, ],
54
- [ nil, nil, nil, nil, nil, nil, 5, 1, nil, ],
55
- [ ACC, nil, 7, 8, nil, nil, nil, nil, nil, ],
56
- [ nil, nil, nil, nil, 9, 10, nil, nil, nil, ],
53
+ [ nil, nil, nil, nil, nil, nil, 4, 5, nil, ],
54
+ [ ACC, nil, 6, 7, nil, nil, nil, nil, nil, ],
55
+ [ nil, nil, nil, nil, 8, 9, nil, nil, nil, ],
57
56
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
58
57
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
59
- [ nil, nil, 7, 8, nil, nil, nil, nil, 11, ],
60
- [ nil, nil, nil, nil, nil, nil, 5, 1, nil, ],
61
- [ nil, nil, nil, nil, nil, nil, 5, 1, nil, ],
62
- [ nil, nil, nil, nil, nil, nil, 5, 1, nil, ],
63
- [ nil, nil, nil, nil, nil, nil, 5, 1, nil, ],
58
+ [ nil, nil, nil, nil, nil, nil, 4, 5, nil, ],
59
+ [ nil, nil, nil, nil, nil, nil, 4, 5, nil, ],
60
+ [ nil, nil, nil, nil, nil, nil, 4, 5, nil, ],
61
+ [ nil, nil, nil, nil, nil, nil, 4, 5, nil, ],
62
+ [ nil, nil, nil, nil, nil, nil, 4, 5, nil, ],
63
+ [ nil, nil, 6, 7, nil, nil, nil, nil, 15, ],
64
+ [ nil, nil, nil, nil, 8, 9, nil, nil, nil, ],
65
+ [ nil, nil, nil, nil, 8, 9, nil, nil, nil, ],
64
66
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
65
- [ nil, nil, nil, nil, 9, 10, nil, nil, nil, ],
66
- [ nil, nil, nil, nil, 9, 10, nil, nil, nil, ],
67
67
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
68
68
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
69
69
  ]
70
70
  ### Default Reduce Table
71
71
  defred_table = [
72
- nil,
73
72
  nil,
74
73
  nil,
75
74
  -3,
@@ -80,17 +79,17 @@ class TinyCalc < Depager::LALR::Basis
80
79
  nil,
81
80
  nil,
82
81
  nil,
83
- -8,
82
+ nil,
84
83
  -1,
85
84
  -2,
86
85
  -4,
87
86
  -5,
87
+ -8,
88
88
  ]
89
89
  defred_after_shift_table = [
90
90
  nil,
91
91
  nil,
92
92
  nil,
93
- nil,
94
93
  -6,
95
94
  -7,
96
95
  nil,
@@ -98,11 +97,12 @@ class TinyCalc < Depager::LALR::Basis
98
97
  nil,
99
98
  nil,
100
99
  nil,
101
- -8,
100
+ nil,
102
101
  nil,
103
102
  nil,
104
103
  -4,
105
104
  -5,
105
+ -8,
106
106
  ]
107
107
  ### Nonterm to Int
108
108
  nt2i = {
@@ -118,17 +118,17 @@ class TinyCalc < Depager::LALR::Basis
118
118
  ]
119
119
  ### Goto Table
120
120
  goto_table = [
121
- [ 2, 3, 4, ],
122
- [ 6, 3, 4, ],
121
+ [ 1, 2, 3, ],
123
122
  [ nil, nil, nil, ],
124
123
  [ nil, nil, nil, ],
125
124
  [ nil, nil, nil, ],
126
125
  [ nil, nil, nil, ],
127
- [ nil, nil, nil, ],
128
- [ nil, 12, 4, ],
129
- [ nil, 13, 4, ],
126
+ [ 10, 2, 3, ],
127
+ [ nil, 11, 3, ],
128
+ [ nil, 12, 3, ],
129
+ [ nil, nil, 13, ],
130
130
  [ nil, nil, 14, ],
131
- [ nil, nil, 15, ],
131
+ [ nil, nil, nil, ],
132
132
  [ nil, nil, nil, ],
133
133
  [ nil, nil, nil, ],
134
134
  [ nil, nil, nil, ],
@@ -136,6 +136,188 @@ class TinyCalc < Depager::LALR::Basis
136
136
  [ nil, nil, nil, ],
137
137
  ]
138
138
 
139
+
140
+ alias orig_error error
141
+ def error
142
+ orig_error
143
+ warn "current state: #{StateInfo[@stack.last]}"
144
+ end
145
+
146
+ ### States
147
+ StateInfo = [
148
+ <<'----------',
149
+ I000 =
150
+ ( 0) $start : _ expr
151
+
152
+ NUM shift, and goto to state 4
153
+ '(' shift, and goto to state 5
154
+
155
+
156
+ ----------
157
+
158
+ <<'----------',
159
+ I001 =
160
+ ( 0) $start : expr _
161
+ ( 1) expr : expr _ '+' term
162
+ ( 2) expr : expr _ '-' term
163
+
164
+ '+' shift, and goto to state 6
165
+ '-' shift, and goto to state 7
166
+
167
+
168
+ $end accept
169
+
170
+ ----------
171
+
172
+ <<'----------',
173
+ I002 =
174
+ ( 3) expr : term _
175
+ ( 4) term : term _ '*' fact
176
+ ( 5) term : term _ '/' fact
177
+
178
+ '*' shift, and goto to state 8
179
+ '/' shift, and goto to state 9
180
+
181
+ $default reduce using rule 3 (expr)
182
+
183
+ ----------
184
+
185
+ <<'----------',
186
+ I003 =
187
+ ( 6) term : fact _
188
+
189
+
190
+ $default reduce using rule 6 (term) [after shift]
191
+
192
+ ----------
193
+
194
+ <<'----------',
195
+ I004 =
196
+ ( 7) fact : NUM _
197
+
198
+
199
+ $default reduce using rule 7 (fact) [after shift]
200
+
201
+ ----------
202
+
203
+ <<'----------',
204
+ I005 =
205
+ ( 8) fact : '(' _ expr ')'
206
+
207
+ NUM shift, and goto to state 4
208
+ '(' shift, and goto to state 5
209
+
210
+
211
+ ----------
212
+
213
+ <<'----------',
214
+ I006 =
215
+ ( 1) expr : expr '+' _ term
216
+
217
+ NUM shift, and goto to state 4
218
+ '(' shift, and goto to state 5
219
+
220
+
221
+ ----------
222
+
223
+ <<'----------',
224
+ I007 =
225
+ ( 2) expr : expr '-' _ term
226
+
227
+ NUM shift, and goto to state 4
228
+ '(' shift, and goto to state 5
229
+
230
+
231
+ ----------
232
+
233
+ <<'----------',
234
+ I008 =
235
+ ( 4) term : term '*' _ fact
236
+
237
+ NUM shift, and goto to state 4
238
+ '(' shift, and goto to state 5
239
+
240
+
241
+ ----------
242
+
243
+ <<'----------',
244
+ I009 =
245
+ ( 5) term : term '/' _ fact
246
+
247
+ NUM shift, and goto to state 4
248
+ '(' shift, and goto to state 5
249
+
250
+
251
+ ----------
252
+
253
+ <<'----------',
254
+ I010 =
255
+ ( 8) fact : '(' expr _ ')'
256
+ ( 1) expr : expr _ '+' term
257
+ ( 2) expr : expr _ '-' term
258
+
259
+ '+' shift, and goto to state 6
260
+ '-' shift, and goto to state 7
261
+ ')' shift, and goto to state 15
262
+
263
+
264
+ ----------
265
+
266
+ <<'----------',
267
+ I011 =
268
+ ( 1) expr : expr '+' term _
269
+ ( 4) term : term _ '*' fact
270
+ ( 5) term : term _ '/' fact
271
+
272
+ '*' shift, and goto to state 8
273
+ '/' shift, and goto to state 9
274
+
275
+ $default reduce using rule 1 (expr)
276
+
277
+ ----------
278
+
279
+ <<'----------',
280
+ I012 =
281
+ ( 2) expr : expr '-' term _
282
+ ( 4) term : term _ '*' fact
283
+ ( 5) term : term _ '/' fact
284
+
285
+ '*' shift, and goto to state 8
286
+ '/' shift, and goto to state 9
287
+
288
+ $default reduce using rule 2 (expr)
289
+
290
+ ----------
291
+
292
+ <<'----------',
293
+ I013 =
294
+ ( 4) term : term '*' fact _
295
+
296
+
297
+ $default reduce using rule 4 (term) [after shift]
298
+
299
+ ----------
300
+
301
+ <<'----------',
302
+ I014 =
303
+ ( 5) term : term '/' fact _
304
+
305
+
306
+ $default reduce using rule 5 (term) [after shift]
307
+
308
+ ----------
309
+
310
+ <<'----------',
311
+ I015 =
312
+ ( 8) fact : '(' expr ')' _
313
+
314
+
315
+ $default reduce using rule 8 (fact) [after shift]
316
+
317
+ ----------
318
+ ]
319
+
320
+
139
321
  Tables = [ reduce_table, nparams, action_table,
140
322
  defred_table, defred_after_shift_table, goto_table,
141
323
  t2i, i2t, nt2i, i2nt ]
@@ -3,8 +3,8 @@ begin; require 'rubygems'; rescue Exception; end
3
3
  require 'depager/parser.rb'
4
4
 
5
5
 
6
- module D4TinyCalc
7
- end
6
+ module Depager::DecoratorUtils; end
7
+ module D4TinyCalc; end
8
8
 
9
9
  class TinyCalc < Depager::LALR::Basis
10
10
 
@@ -12,14 +12,14 @@ class TinyCalc < Depager::LALR::Basis
12
12
  ### Reduce Table
13
13
  reduce_table = [
14
14
  [ -1, 1 ], # ( 0) $start : expr
15
- [ 0, 3 ], # ( 1) expr : expr + term
16
- [ 0, 3 ], # ( 2) expr : expr - term
15
+ [ 0, 3 ], # ( 1) expr : expr '+' term
16
+ [ 0, 3 ], # ( 2) expr : expr '-' term
17
17
  [ 0, 1 ], # ( 3) expr : term
18
- [ 1, 3 ], # ( 4) term : term * fact
19
- [ 1, 3 ], # ( 5) term : term / fact
18
+ [ 1, 3 ], # ( 4) term : term '*' fact
19
+ [ 1, 3 ], # ( 5) term : term '/' fact
20
20
  [ 1, 1 ], # ( 6) term : fact
21
21
  [ 2, 1 ], # ( 7) fact : NUM
22
- [ 2, 3 ], # ( 8) fact : ( expr )
22
+ [ 2, 3 ], # ( 8) fact : '(' expr ')'
23
23
  ]
24
24
  ### Extension Params
25
25
  nparams = {
@@ -51,26 +51,25 @@ class TinyCalc < Depager::LALR::Basis
51
51
  ]
52
52
  ### Action Table
53
53
  action_table = [
54
- [ nil, nil, nil, nil, nil, nil, 5, 1, nil, ],
55
- [ nil, nil, nil, nil, nil, nil, 5, 1, nil, ],
56
- [ ACC, nil, 7, 8, nil, nil, nil, nil, nil, ],
57
- [ nil, nil, nil, nil, 9, 10, nil, nil, nil, ],
54
+ [ nil, nil, nil, nil, nil, nil, 4, 5, nil, ],
55
+ [ ACC, nil, 6, 7, nil, nil, nil, nil, nil, ],
56
+ [ nil, nil, nil, nil, 8, 9, nil, nil, nil, ],
58
57
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
59
58
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
60
- [ nil, nil, 7, 8, nil, nil, nil, nil, 11, ],
61
- [ nil, nil, nil, nil, nil, nil, 5, 1, nil, ],
62
- [ nil, nil, nil, nil, nil, nil, 5, 1, nil, ],
63
- [ nil, nil, nil, nil, nil, nil, 5, 1, nil, ],
64
- [ nil, nil, nil, nil, nil, nil, 5, 1, nil, ],
59
+ [ nil, nil, nil, nil, nil, nil, 4, 5, nil, ],
60
+ [ nil, nil, nil, nil, nil, nil, 4, 5, nil, ],
61
+ [ nil, nil, nil, nil, nil, nil, 4, 5, nil, ],
62
+ [ nil, nil, nil, nil, nil, nil, 4, 5, nil, ],
63
+ [ nil, nil, nil, nil, nil, nil, 4, 5, nil, ],
64
+ [ nil, nil, 6, 7, nil, nil, nil, nil, 15, ],
65
+ [ nil, nil, nil, nil, 8, 9, nil, nil, nil, ],
66
+ [ nil, nil, nil, nil, 8, 9, nil, nil, nil, ],
65
67
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
66
- [ nil, nil, nil, nil, 9, 10, nil, nil, nil, ],
67
- [ nil, nil, nil, nil, 9, 10, nil, nil, nil, ],
68
68
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
69
69
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
70
70
  ]
71
71
  ### Default Reduce Table
72
72
  defred_table = [
73
- nil,
74
73
  nil,
75
74
  nil,
76
75
  -3,
@@ -81,17 +80,17 @@ class TinyCalc < Depager::LALR::Basis
81
80
  nil,
82
81
  nil,
83
82
  nil,
84
- -8,
83
+ nil,
85
84
  -1,
86
85
  -2,
87
86
  -4,
88
87
  -5,
88
+ -8,
89
89
  ]
90
90
  defred_after_shift_table = [
91
91
  nil,
92
92
  nil,
93
93
  nil,
94
- nil,
95
94
  -6,
96
95
  -7,
97
96
  nil,
@@ -99,11 +98,12 @@ class TinyCalc < Depager::LALR::Basis
99
98
  nil,
100
99
  nil,
101
100
  nil,
102
- -8,
101
+ nil,
103
102
  nil,
104
103
  nil,
105
104
  -4,
106
105
  -5,
106
+ -8,
107
107
  ]
108
108
  ### Nonterm to Int
109
109
  nt2i = {
@@ -119,24 +119,206 @@ class TinyCalc < Depager::LALR::Basis
119
119
  ]
120
120
  ### Goto Table
121
121
  goto_table = [
122
- [ 2, 3, 4, ],
123
- [ 6, 3, 4, ],
122
+ [ 1, 2, 3, ],
124
123
  [ nil, nil, nil, ],
125
124
  [ nil, nil, nil, ],
126
125
  [ nil, nil, nil, ],
127
126
  [ nil, nil, nil, ],
128
- [ nil, nil, nil, ],
129
- [ nil, 12, 4, ],
130
- [ nil, 13, 4, ],
127
+ [ 10, 2, 3, ],
128
+ [ nil, 11, 3, ],
129
+ [ nil, 12, 3, ],
130
+ [ nil, nil, 13, ],
131
131
  [ nil, nil, 14, ],
132
- [ nil, nil, 15, ],
133
132
  [ nil, nil, nil, ],
134
133
  [ nil, nil, nil, ],
135
134
  [ nil, nil, nil, ],
136
135
  [ nil, nil, nil, ],
137
136
  [ nil, nil, nil, ],
137
+ [ nil, nil, nil, ],
138
+ ]
139
+
140
+
141
+ alias orig_error error
142
+ def error
143
+ orig_error
144
+ warn "current state: #{StateInfo[@stack.last]}"
145
+ end
146
+
147
+ ### States
148
+ StateInfo = [
149
+ <<'----------',
150
+ I000 =
151
+ ( 0) $start : _ expr
152
+
153
+ NUM shift, and goto to state 4
154
+ '(' shift, and goto to state 5
155
+
156
+
157
+ ----------
158
+
159
+ <<'----------',
160
+ I001 =
161
+ ( 0) $start : expr _
162
+ ( 1) expr : expr _ '+' term
163
+ ( 2) expr : expr _ '-' term
164
+
165
+ '+' shift, and goto to state 6
166
+ '-' shift, and goto to state 7
167
+
168
+
169
+ $end accept
170
+
171
+ ----------
172
+
173
+ <<'----------',
174
+ I002 =
175
+ ( 3) expr : term _
176
+ ( 4) term : term _ '*' fact
177
+ ( 5) term : term _ '/' fact
178
+
179
+ '*' shift, and goto to state 8
180
+ '/' shift, and goto to state 9
181
+
182
+ $default reduce using rule 3 (expr)
183
+
184
+ ----------
185
+
186
+ <<'----------',
187
+ I003 =
188
+ ( 6) term : fact _
189
+
190
+
191
+ $default reduce using rule 6 (term) [after shift]
192
+
193
+ ----------
194
+
195
+ <<'----------',
196
+ I004 =
197
+ ( 7) fact : NUM _
198
+
199
+
200
+ $default reduce using rule 7 (fact) [after shift]
201
+
202
+ ----------
203
+
204
+ <<'----------',
205
+ I005 =
206
+ ( 8) fact : '(' _ expr ')'
207
+
208
+ NUM shift, and goto to state 4
209
+ '(' shift, and goto to state 5
210
+
211
+
212
+ ----------
213
+
214
+ <<'----------',
215
+ I006 =
216
+ ( 1) expr : expr '+' _ term
217
+
218
+ NUM shift, and goto to state 4
219
+ '(' shift, and goto to state 5
220
+
221
+
222
+ ----------
223
+
224
+ <<'----------',
225
+ I007 =
226
+ ( 2) expr : expr '-' _ term
227
+
228
+ NUM shift, and goto to state 4
229
+ '(' shift, and goto to state 5
230
+
231
+
232
+ ----------
233
+
234
+ <<'----------',
235
+ I008 =
236
+ ( 4) term : term '*' _ fact
237
+
238
+ NUM shift, and goto to state 4
239
+ '(' shift, and goto to state 5
240
+
241
+
242
+ ----------
243
+
244
+ <<'----------',
245
+ I009 =
246
+ ( 5) term : term '/' _ fact
247
+
248
+ NUM shift, and goto to state 4
249
+ '(' shift, and goto to state 5
250
+
251
+
252
+ ----------
253
+
254
+ <<'----------',
255
+ I010 =
256
+ ( 8) fact : '(' expr _ ')'
257
+ ( 1) expr : expr _ '+' term
258
+ ( 2) expr : expr _ '-' term
259
+
260
+ '+' shift, and goto to state 6
261
+ '-' shift, and goto to state 7
262
+ ')' shift, and goto to state 15
263
+
264
+
265
+ ----------
266
+
267
+ <<'----------',
268
+ I011 =
269
+ ( 1) expr : expr '+' term _
270
+ ( 4) term : term _ '*' fact
271
+ ( 5) term : term _ '/' fact
272
+
273
+ '*' shift, and goto to state 8
274
+ '/' shift, and goto to state 9
275
+
276
+ $default reduce using rule 1 (expr)
277
+
278
+ ----------
279
+
280
+ <<'----------',
281
+ I012 =
282
+ ( 2) expr : expr '-' term _
283
+ ( 4) term : term _ '*' fact
284
+ ( 5) term : term _ '/' fact
285
+
286
+ '*' shift, and goto to state 8
287
+ '/' shift, and goto to state 9
288
+
289
+ $default reduce using rule 2 (expr)
290
+
291
+ ----------
292
+
293
+ <<'----------',
294
+ I013 =
295
+ ( 4) term : term '*' fact _
296
+
297
+
298
+ $default reduce using rule 4 (term) [after shift]
299
+
300
+ ----------
301
+
302
+ <<'----------',
303
+ I014 =
304
+ ( 5) term : term '/' fact _
305
+
306
+
307
+ $default reduce using rule 5 (term) [after shift]
308
+
309
+ ----------
310
+
311
+ <<'----------',
312
+ I015 =
313
+ ( 8) fact : '(' expr ')' _
314
+
315
+
316
+ $default reduce using rule 8 (fact) [after shift]
317
+
318
+ ----------
138
319
  ]
139
320
 
321
+
140
322
  Tables = [ reduce_table, nparams, action_table,
141
323
  defred_table, defred_after_shift_table, goto_table,
142
324
  t2i, i2t, nt2i, i2nt ]
@@ -181,7 +363,7 @@ end
181
363
 
182
364
  class D4TinyCalc::NVAction < Depager::LALR::Action #:nodoc:all
183
365
  include Depager::DecoratorUtils
184
-
366
+ []
185
367
  on_reduce = [
186
368
  nil,
187
369
  :_act_0,
@@ -202,77 +384,69 @@ class D4TinyCalc::NVAction < Depager::LALR::Action #:nodoc:all
202
384
  end
203
385
 
204
386
 
205
- module_eval <<-'.,.,11875410918262.,.,', 'sample_calc/calc.nvaction.dr', 14
206
- def _act_0 val
207
- _expr, _, _term = *val
387
+ module_eval <<-'.,.,120998293534507.,.,', 'sample_calc/calc.nvaction.dr', 14
388
+ def _act_0 val
389
+ _expr, _, _term, = *val
208
390
  _expr + _term
209
391
 
210
- end
211
-
212
- .,.,11875410918262.,.,
392
+ end
393
+ .,.,120998293534507.,.,
213
394
 
214
- module_eval <<-'.,.,1187541091927.,.,', 'sample_calc/calc.nvaction.dr', 15
215
- def _act_1 val
216
- _expr, _, _term = *val
395
+ module_eval <<-'.,.,120998293543793.,.,', 'sample_calc/calc.nvaction.dr', 15
396
+ def _act_1 val
397
+ _expr, _, _term, = *val
217
398
  _expr - _term
218
399
 
219
- end
220
-
221
- .,.,1187541091927.,.,
400
+ end
401
+ .,.,120998293543793.,.,
222
402
 
223
- module_eval <<-'.,.,118754109144413.,.,', 'sample_calc/calc.nvaction.dr', 16
224
- def _act_2 val
225
- _term = *val
403
+ module_eval <<-'.,.,12099829356139.,.,', 'sample_calc/calc.nvaction.dr', 16
404
+ def _act_2 val
405
+ _term, = *val
226
406
  _term
227
407
 
228
- end
229
-
230
- .,.,118754109144413.,.,
408
+ end
409
+ .,.,12099829356139.,.,
231
410
 
232
- module_eval <<-'.,.,118754109140027.,.,', 'sample_calc/calc.nvaction.dr', 19
233
- def _act_3 val
234
- _term, _, _fact = *val
411
+ module_eval <<-'.,.,120998293556044.,.,', 'sample_calc/calc.nvaction.dr', 19
412
+ def _act_3 val
413
+ _term, _, _fact, = *val
235
414
  _term * _fact
236
415
 
237
- end
238
-
239
- .,.,118754109140027.,.,
416
+ end
417
+ .,.,120998293556044.,.,
240
418
 
241
- module_eval <<-'.,.,118754109114448.,.,', 'sample_calc/calc.nvaction.dr', 20
242
- def _act_4 val
243
- _term, _, _fact = *val
419
+ module_eval <<-'.,.,120998293536062.,.,', 'sample_calc/calc.nvaction.dr', 20
420
+ def _act_4 val
421
+ _term, _, _fact, = *val
244
422
  _term / _fact
245
423
 
246
- end
247
-
248
- .,.,118754109114448.,.,
424
+ end
425
+ .,.,120998293536062.,.,
249
426
 
250
- module_eval <<-'.,.,11875410913851.,.,', 'sample_calc/calc.nvaction.dr', 21
251
- def _act_5 val
252
- _fact = *val
427
+ module_eval <<-'.,.,12099829353784.,.,', 'sample_calc/calc.nvaction.dr', 21
428
+ def _act_5 val
429
+ _fact, = *val
253
430
  _fact
254
431
 
255
- end
256
-
257
- .,.,11875410913851.,.,
432
+ end
433
+ .,.,12099829353784.,.,
258
434
 
259
- module_eval <<-'.,.,118754109131622.,.,', 'sample_calc/calc.nvaction.dr', 24
260
- def _act_6 val
261
- _NUM = *val
435
+ module_eval <<-'.,.,120998293538888.,.,', 'sample_calc/calc.nvaction.dr', 24
436
+ def _act_6 val
437
+ _NUM, = *val
262
438
  _NUM.value
263
439
 
264
- end
265
-
266
- .,.,118754109131622.,.,
440
+ end
441
+ .,.,120998293538888.,.,
267
442
 
268
- module_eval <<-'.,.,118754109111174.,.,', 'sample_calc/calc.nvaction.dr', 25
269
- def _act_7 val
270
- _, _expr, _ = *val
443
+ module_eval <<-'.,.,120998293537392.,.,', 'sample_calc/calc.nvaction.dr', 25
444
+ def _act_7 val
445
+ _, _expr, _, = *val
271
446
  _expr
272
447
 
273
- end
274
-
275
- .,.,118754109111174.,.,
448
+ end
449
+ .,.,120998293537392.,.,
276
450
 
277
451
  end
278
452