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.
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
@@ -0,0 +1,116 @@
1
+ class Depager::LALR::Table
2
+ def state_info
3
+ @state_info
4
+ end
5
+
6
+ #puts grammar.closure.values.join("\n")
7
+ #puts "-----"
8
+ #puts grammar.memo_closure1.sort_by{|k,v| k}.map{|k,v| "#{k.inspect}:\n#{v.join("\n")}"}
9
+ #puts 'mk'; mk.each{|k, v| p "#{k}=>#{v}"}
10
+ #trn = trn.uniq
11
+ #puts 'trn',trn.map{|a| "<#{a[2].n}>#{a[0]} => <#{a[3].n}>#{a[1]}"}
12
+
13
+ def gen_state_info
14
+ g = grammar
15
+ @state_info = []
16
+ @action_table.each_with_index {|s,x|
17
+ shi, red, acc = "", "", ""
18
+ s.each_with_index {|t, y|
19
+ next unless t
20
+ hd = (" %-15s" % g.symname(y + g.nonterms.size))
21
+ if t == 'ACC'
22
+ acc = "#{hd} accept\n\n"
23
+ elsif t < 0
24
+ red << "#{hd} reduce using rule #{-t} (#{g.symname g[-t].lhs})\n"
25
+ else
26
+ shi << "#{hd} shift, and goto to state #{t}\n"
27
+ end
28
+ }
29
+ if t = @defred_table[x]
30
+ as = @defred_after_shift_table[x] ? " [after shift]" : ""
31
+ red << (" %-15s" % '$default') <<
32
+ "reduce using rule #{-t} (#{g.symname g[-t].lhs}) #{as}\n"
33
+ end
34
+
35
+ @state_info << (@states[x].to_s << "\n\n#{shi}\n#{red}\n#{acc}")
36
+ }
37
+ end
38
+
39
+ def verbose dp
40
+ g, output = grammar, []
41
+
42
+ if $MP_DEBUG.match(/f/)
43
+ output << "** FIRST1 **"
44
+ str = g.first1.map{|k, v|
45
+ "#{g.symname k} => #{v.map{|i| g.symname i}.join(' ')}"
46
+ }.join("\n")
47
+ output << "#{str}\n\n"
48
+ end
49
+
50
+ if $MP_DEBUG.match(/e/)
51
+ output << "** Empty Reduction **"
52
+ str = g.f0e.map {|k, v|
53
+ "#{g.symname k} =>\n" << v.map{|n, f|
54
+ " #{rulelist[n]} ? #{f.map{|i| g.symname i}.join(' ')}"
55
+ }.join("\n")
56
+ }.join("\n")
57
+ output << "#{str}\n\n"
58
+ end
59
+
60
+ if $MP_DEBUG.match(/s/)
61
+ output << "** SYMBOLS **"
62
+ str = g.syms.map{|k,_| "#{"%03i" % k} #{ g.symname k}"}.sort.join("\n")
63
+ output << "#{str}\n\n"
64
+ end
65
+
66
+ if $MP_DEBUG.match(/g/)
67
+ output << "*** Grammar ***"
68
+ str = g.rulelist.join("\n")
69
+ output << "#{str}\n\n"
70
+ end
71
+
72
+ if $MP_DEBUG.match(/c/)
73
+ output << "*** States ***"
74
+ output << @state_info.to_s
75
+ end
76
+
77
+ nssize = g.nonterms.size
78
+ if $MP_DEBUG.match(/t/)
79
+ output << "*** Action Table ***"
80
+ ws = (nssize...g.syms.size).map{|i| j = g.symname(i).size; j < 6 ? 6 : j}
81
+ str = " |"
82
+ (nssize...g.syms.size).each_with_index{|i, x|
83
+ str << ("%0#{ws[x]}s|" % g.symname(i))
84
+ }; str << " $default|\n"
85
+
86
+ @action_table.each_with_index{|i,x|
87
+ str << ("%03i|" % x)
88
+ i.each_with_index{|j, y|
89
+ str << ("%0#{ws[y]}s|" % j)
90
+ }
91
+ str << ("%04s,%04s|\n" % [@defred_table[x], @defred_after_shift_table[x]])
92
+ }
93
+ output << "#{str}\n\n"
94
+
95
+ output << "*** Goto Table ***"
96
+ ws = (1...nssize).map{|i| j = g.symname(i).size; j < 6 ? 6 : j}
97
+ str = " |"
98
+ (1...nssize).each_with_index{|i, x|
99
+ str << ("%0#{ws[x]}s|" % g.symname(i))
100
+ }; str << "\n"
101
+
102
+ @goto_table.each_with_index{|i,x|
103
+ str << ("%03i|" % x)
104
+ i.each_with_index{|j, y|
105
+ str << ("%0#{ws[y]}s|" % j)
106
+ }
107
+ str << "\n"
108
+ }
109
+ output << "#{str}\n\n"
110
+ end
111
+
112
+ File.open("#{File.basename(dp.files.fname, '.dr')}.output", "w"){|f|
113
+ f.write output.join("\n")
114
+ }
115
+ end
116
+ end
@@ -14,7 +14,7 @@ class NVActionExtension < ActionExtension #:nodoc:all
14
14
  '_'
15
15
  end
16
16
  end
17
- let_code = " #{let_code.join(', ')} = *val \n"
17
+ let_code = " #{let_code.join(', ')}, = *val \n"
18
18
  end
19
19
  return let_code << code, 1
20
20
  end
@@ -1,5 +1,4 @@
1
- require "depager/utils.rb"
2
-
1
+ module Depager; end
3
2
  #
4
3
  # Token
5
4
  #
@@ -104,6 +103,28 @@ module Depager::LALR
104
103
  end
105
104
  def reduce
106
105
  end
106
+
107
+ def enable?(act, sym)
108
+ case act
109
+ when :shift
110
+ la = @basis.t2i[sym] || @basis.t2i[false]
111
+ val = @basis.action_table[@basis.stack.last][la]
112
+ else
113
+ end
114
+ end
115
+
116
+ def enables(act, sym)
117
+ case act
118
+ when :shift
119
+ la = @basis.t2i[sym] || @basis.t2i[false]
120
+ res = []
121
+ @basis.action_table.each_with_index{|i, x|
122
+ i[la] and res.push(x)
123
+ }
124
+ return res
125
+ else
126
+ end
127
+ end
107
128
  end
108
129
 
109
130
  class Basis < Parser
@@ -106,7 +106,7 @@
106
106
  ll << %{
107
107
  def lex_#{m}(&block)
108
108
  case @line
109
- #{l.map{|i| ' '*4+i}}
109
+ #{l}
110
110
  else
111
111
  #{else_code}
112
112
  end
@@ -140,7 +140,7 @@
140
140
  | ':' ID { _ID.value }
141
141
  ;
142
142
  lexactlist:
143
- lexact { [ _lexact ] }
143
+ lexact { _lexact }
144
144
  | lexactlist lexact { _lexactlist << _lexact }
145
145
  ;
146
146
  lexact:
@@ -159,7 +159,7 @@
159
159
  ;
160
160
  lexlist:
161
161
  LEX { [ _LEX.value ] }
162
- | lexlist ',' LEX { _lexlist.push _LEX }
162
+ | lexlist ',' LEX { _lexlist.push _LEX.value }
163
163
  ;
164
164
  #end-rule
165
165
  %%
@@ -31,10 +31,10 @@ class StatefulLexerExtension #:nodoc:all
31
31
 
32
32
  @hook[1] = StatefulLexerExtension_prerhs_postsymbol.new(p, @nparam, self)
33
33
  @h2p['prerhs_postsymbol'] = @hook[1]
34
- p.postsymbol.push [@hook[1], :do_parse]
34
+ p.prerhs.push [@hook[1], :do_parse]
35
35
 
36
36
  # use @hook[1](StatefulLexerExtension_prerhs_postsymbol)
37
- p.prerhs.push [@hook[1], :do_parse]
37
+ p.postsymbol.push [@hook[1], :do_parse]
38
38
 
39
39
  regext p
40
40
  end
@@ -170,20 +170,20 @@ class StatefulLexerExtension_prerulelist < Depager::LALR::Basis #:nodoc:all
170
170
  action_table = [
171
171
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
172
172
  [ ACC, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
173
- [ nil, nil, 3, nil, nil, nil, nil, nil, nil, nil, ],
174
- [ nil, nil, nil, 5, nil, nil, nil, nil, nil, nil, ],
175
- [ nil, nil, nil, nil, nil, nil, nil, nil, 6, nil, ],
176
- [ nil, nil, nil, nil, nil, 11, nil, nil, nil, nil, ],
177
- [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
173
+ [ nil, nil, 4, nil, nil, nil, nil, nil, nil, nil, ],
174
+ [ nil, nil, nil, nil, nil, nil, nil, nil, 8, nil, ],
175
+ [ nil, nil, nil, 9, nil, nil, nil, nil, nil, nil, ],
176
+ [ nil, nil, nil, nil, nil, nil, nil, nil, 8, nil, ],
178
177
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
179
178
  [ nil, nil, nil, nil, nil, nil, nil, 12, nil, 13, ],
180
- [ nil, nil, nil, nil, nil, nil, nil, nil, 6, nil, ],
181
- [ nil, nil, nil, nil, 16, nil, nil, nil, nil, nil, ],
182
- [ nil, nil, nil, 17, nil, nil, nil, nil, nil, nil, ],
183
179
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
184
- [ nil, nil, nil, nil, nil, nil, nil, nil, 18, nil, ],
185
- [ nil, nil, nil, nil, nil, nil, 19, nil, nil, nil, ],
180
+ [ nil, nil, nil, nil, nil, 15, nil, nil, nil, nil, ],
181
+ [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
182
+ [ nil, nil, nil, nil, nil, nil, 16, nil, nil, nil, ],
186
183
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
184
+ [ nil, nil, nil, nil, nil, nil, nil, nil, 17, nil, ],
185
+ [ nil, nil, nil, nil, 18, nil, nil, nil, nil, nil, ],
186
+ [ nil, nil, nil, 19, nil, nil, nil, nil, nil, nil, ],
187
187
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
188
188
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
189
189
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
@@ -196,21 +196,21 @@ class StatefulLexerExtension_prerulelist < Depager::LALR::Basis #:nodoc:all
196
196
  -1,
197
197
  nil,
198
198
  nil,
199
- -5,
200
- -12,
199
+ -3,
201
200
  -7,
202
201
  -10,
203
- -3,
204
- nil,
202
+ -12,
203
+ -5,
204
+ -8,
205
205
  nil,
206
206
  -11,
207
207
  nil,
208
208
  nil,
209
- -8,
209
+ nil,
210
+ -9,
211
+ -13,
210
212
  -4,
211
213
  -6,
212
- -13,
213
- -9,
214
214
  ]
215
215
  defred_after_shift_table = [
216
216
  -2,
@@ -219,20 +219,20 @@ class StatefulLexerExtension_prerulelist < Depager::LALR::Basis #:nodoc:all
219
219
  nil,
220
220
  nil,
221
221
  nil,
222
- -12,
223
222
  -7,
224
223
  nil,
224
+ -12,
225
225
  nil,
226
- nil,
226
+ -8,
227
227
  nil,
228
228
  -11,
229
229
  nil,
230
230
  nil,
231
- -8,
231
+ nil,
232
+ -9,
233
+ -13,
232
234
  -4,
233
235
  -6,
234
- -13,
235
- -9,
236
236
  ]
237
237
  ### Nonterm to Int
238
238
  nt2i = {
@@ -260,14 +260,14 @@ class StatefulLexerExtension_prerulelist < Depager::LALR::Basis #:nodoc:all
260
260
  goto_table = [
261
261
  [ 1, 2, nil, nil, nil, nil, nil, nil, ],
262
262
  [ nil, nil, nil, nil, nil, nil, nil, nil, ],
263
- [ nil, nil, 4, nil, nil, nil, nil, nil, ],
263
+ [ nil, nil, 3, nil, nil, nil, nil, nil, ],
264
+ [ nil, nil, nil, 5, nil, 6, 7, nil, ],
264
265
  [ nil, nil, nil, nil, nil, nil, nil, nil, ],
265
- [ nil, nil, nil, 9, nil, 7, 8, nil, ],
266
- [ nil, nil, nil, nil, 10, nil, nil, nil, ],
266
+ [ nil, nil, nil, nil, nil, 10, 7, nil, ],
267
267
  [ nil, nil, nil, nil, nil, nil, nil, nil, ],
268
+ [ nil, nil, nil, nil, nil, nil, nil, 11, ],
268
269
  [ nil, nil, nil, nil, nil, nil, nil, nil, ],
269
- [ nil, nil, nil, nil, nil, nil, nil, 14, ],
270
- [ nil, nil, nil, nil, nil, 15, 8, nil, ],
270
+ [ nil, nil, nil, nil, 14, nil, nil, nil, ],
271
271
  [ nil, nil, nil, nil, nil, nil, nil, nil, ],
272
272
  [ nil, nil, nil, nil, nil, nil, nil, nil, ],
273
273
  [ nil, nil, nil, nil, nil, nil, nil, nil, ],
@@ -368,8 +368,7 @@ end
368
368
 
369
369
  class D4StatefulLexerExtension_prerulelist::NVAction < Depager::LALR::Action #:nodoc:all
370
370
  include Depager::DecoratorUtils
371
- include ActionParser
372
-
371
+ [" include ActionParser\n"]
373
372
  on_reduce = [
374
373
  nil,
375
374
  :_act_0,
@@ -395,9 +394,9 @@ class D4StatefulLexerExtension_prerulelist::NVAction < Depager::LALR::Action #:n
395
394
  end
396
395
 
397
396
 
398
- module_eval <<-'.,.,118754107818868.,.,', 'slex.dr', 96
399
- def _act_0 val
400
- _mode_list = *val
397
+ module_eval <<-'.,.,120998292328650.,.,', 'slex.dr', 96
398
+ def _act_0 val
399
+ _mode_list, = *val
401
400
 
402
401
  ll = ''
403
402
  _mode_list.each do |m, s, l|
@@ -409,7 +408,7 @@ module_eval <<-'.,.,118754107818868.,.,', 'slex.dr', 96
409
408
  ll << %{
410
409
  def lex_#{m}(&block)
411
410
  case @line
412
- #{l.map{|i| ' '*4+i}}
411
+ #{l}
413
412
  else
414
413
  #{else_code}
415
414
  end
@@ -430,74 +429,66 @@ module_eval <<-'.,.,118754107818868.,.,', 'slex.dr', 96
430
429
  end
431
430
  }; #code
432
431
 
433
- end
434
-
435
- .,.,118754107818868.,.,
432
+ end
433
+ .,.,120998292328650.,.,
436
434
 
437
- module_eval <<-'.,.,118754107863583.,.,', 'slex.dr', 130
438
- def _act_1 val
435
+ module_eval <<-'.,.,120998292354849.,.,', 'slex.dr', 130
436
+ def _act_1 val
439
437
  [ ]
440
438
 
441
- end
442
-
443
- .,.,118754107863583.,.,
439
+ end
440
+ .,.,120998292354849.,.,
444
441
 
445
- module_eval <<-'.,.,118754107817072.,.,', 'slex.dr', 131
446
- def _act_2 val
447
- _mode_list, _mode, _lexactlist = *val
442
+ module_eval <<-'.,.,120998292352082.,.,', 'slex.dr', 131
443
+ def _act_2 val
444
+ _mode_list, _mode, _lexactlist, = *val
448
445
  _mode_list << [_mode[0], _mode[1], _lexactlist]
449
446
 
450
- end
451
-
452
- .,.,118754107817072.,.,
447
+ end
448
+ .,.,120998292352082.,.,
453
449
 
454
- module_eval <<-'.,.,118754107816434.,.,', 'slex.dr', 134
455
- def _act_3 val
456
- _, _ID, _opt_super, _ = *val
450
+ module_eval <<-'.,.,12099829232991.,.,', 'slex.dr', 134
451
+ def _act_3 val
452
+ _, _ID, _opt_super, _, = *val
457
453
  [ _ID.value, _opt_super ]
458
454
 
459
- end
460
-
461
- .,.,118754107816434.,.,
455
+ end
456
+ .,.,12099829232991.,.,
462
457
 
463
- module_eval <<-'.,.,118754107840777.,.,', 'slex.dr', 137
464
- def _act_4 val
458
+ module_eval <<-'.,.,12099829237562.,.,', 'slex.dr', 137
459
+ def _act_4 val
465
460
  nil
466
461
 
467
- end
468
-
469
- .,.,118754107840777.,.,
462
+ end
463
+ .,.,12099829237562.,.,
470
464
 
471
- module_eval <<-'.,.,118754107819808.,.,', 'slex.dr', 138
472
- def _act_5 val
473
- _, _ID = *val
465
+ module_eval <<-'.,.,120998292348892.,.,', 'slex.dr', 138
466
+ def _act_5 val
467
+ _, _ID, = *val
474
468
  _ID.value
475
469
 
476
- end
477
-
478
- .,.,118754107819808.,.,
470
+ end
471
+ .,.,120998292348892.,.,
479
472
 
480
- module_eval <<-'.,.,118754107825523.,.,', 'slex.dr', 141
481
- def _act_6 val
482
- _lexact = *val
483
- [ _lexact ]
473
+ module_eval <<-'.,.,120998292360134.,.,', 'slex.dr', 141
474
+ def _act_6 val
475
+ _lexact, = *val
476
+ _lexact
484
477
 
485
- end
486
-
487
- .,.,118754107825523.,.,
478
+ end
479
+ .,.,120998292360134.,.,
488
480
 
489
- module_eval <<-'.,.,11875410787826.,.,', 'slex.dr', 142
490
- def _act_7 val
491
- _lexactlist, _lexact = *val
481
+ module_eval <<-'.,.,120998292332012.,.,', 'slex.dr', 142
482
+ def _act_7 val
483
+ _lexactlist, _lexact, = *val
492
484
  _lexactlist << _lexact
493
485
 
494
- end
495
-
496
- .,.,11875410787826.,.,
486
+ end
487
+ .,.,120998292332012.,.,
497
488
 
498
- module_eval <<-'.,.,118754107820340.,.,', 'slex.dr', 146
499
- def _act_8 val
500
- _lexlist, _opt_noskip, _ACTION = *val
489
+ module_eval <<-'.,.,12099829232968.,.,', 'slex.dr', 146
490
+ def _act_8 val
491
+ _lexlist, _opt_noskip, _ACTION, = *val
501
492
 
502
493
  %{
503
494
  when #{_lexlist.join(', ')}
@@ -505,44 +496,39 @@ module_eval <<-'.,.,118754107820340.,.,', 'slex.dr', 146
505
496
  #{ _ACTION.value }
506
497
  }; #code
507
498
 
508
- end
509
-
510
- .,.,118754107820340.,.,
499
+ end
500
+ .,.,12099829232968.,.,
511
501
 
512
- module_eval <<-'.,.,118754107818518.,.,', 'slex.dr', 155
513
- def _act_9 val
502
+ module_eval <<-'.,.,120998292350935.,.,', 'slex.dr', 155
503
+ def _act_9 val
514
504
  false
515
505
 
516
- end
517
-
518
- .,.,118754107818518.,.,
506
+ end
507
+ .,.,120998292350935.,.,
519
508
 
520
- module_eval <<-'.,.,118754107850066.,.,', 'slex.dr', 156
521
- def _act_10 val
522
- _ = *val
509
+ module_eval <<-'.,.,120998292356440.,.,', 'slex.dr', 156
510
+ def _act_10 val
511
+ _, = *val
523
512
  true
524
513
 
525
- end
526
-
527
- .,.,118754107850066.,.,
514
+ end
515
+ .,.,120998292356440.,.,
528
516
 
529
- module_eval <<-'.,.,118754107825362.,.,', 'slex.dr', 159
530
- def _act_11 val
531
- _LEX = *val
517
+ module_eval <<-'.,.,120998292318605.,.,', 'slex.dr', 159
518
+ def _act_11 val
519
+ _LEX, = *val
532
520
  [ _LEX.value ]
533
521
 
534
- end
535
-
536
- .,.,118754107825362.,.,
522
+ end
523
+ .,.,120998292318605.,.,
537
524
 
538
- module_eval <<-'.,.,118754107856852.,.,', 'slex.dr', 160
539
- def _act_12 val
540
- _lexlist, _, _LEX = *val
541
- _lexlist.push _LEX
542
-
543
- end
525
+ module_eval <<-'.,.,120998292362428.,.,', 'slex.dr', 160
526
+ def _act_12 val
527
+ _lexlist, _, _LEX, = *val
528
+ _lexlist.push _LEX.value
544
529
 
545
- .,.,118754107856852.,.,
530
+ end
531
+ .,.,120998292362428.,.,
546
532
 
547
533
  end
548
534
 
@@ -598,21 +584,21 @@ class StatefulLexerExtension_prerhs_postsymbol < Depager::LALR::Basis #:nodoc:al
598
584
  ]
599
585
  ### Action Table
600
586
  action_table = [
601
- [ nil, nil, 1, nil, nil, nil, nil, nil, nil, ],
602
- [ nil, nil, nil, nil, nil, 7, nil, 3, 4, ],
587
+ [ nil, nil, 2, nil, nil, nil, nil, nil, nil, ],
603
588
  [ ACC, nil, nil, nil, nil, nil, nil, nil, nil, ],
604
- [ nil, nil, nil, nil, nil, nil, 8, nil, nil, ],
605
- [ nil, nil, nil, nil, nil, nil, 9, nil, nil, ],
606
- [ nil, nil, nil, 10, 11, 7, nil, 3, 4, ],
589
+ [ nil, nil, nil, nil, nil, 5, nil, 6, 7, ],
590
+ [ nil, nil, nil, 8, 10, 5, nil, 6, 7, ],
607
591
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
592
+ [ nil, nil, nil, nil, nil, nil, 11, nil, nil, ],
593
+ [ nil, nil, nil, nil, nil, nil, 12, nil, nil, ],
608
594
  [ nil, nil, nil, nil, nil, nil, 13, nil, nil, ],
609
595
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
610
596
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
611
- [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
612
597
  [ nil, nil, nil, 14, nil, nil, nil, nil, nil, ],
613
598
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
614
599
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
615
600
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
601
+ [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
616
602
  ]
617
603
  ### Default Reduce Table
618
604
  defred_table = [
@@ -620,16 +606,16 @@ class StatefulLexerExtension_prerhs_postsymbol < Depager::LALR::Basis #:nodoc:al
620
606
  nil,
621
607
  nil,
622
608
  nil,
609
+ -3,
623
610
  nil,
624
611
  nil,
625
- -3,
626
612
  nil,
627
- -6,
628
- -7,
629
613
  -1,
630
- nil,
631
614
  -4,
615
+ nil,
632
616
  -5,
617
+ -6,
618
+ -7,
633
619
  -2,
634
620
  ]
635
621
  defred_after_shift_table = [
@@ -637,16 +623,16 @@ class StatefulLexerExtension_prerhs_postsymbol < Depager::LALR::Basis #:nodoc:al
637
623
  nil,
638
624
  nil,
639
625
  nil,
626
+ -3,
640
627
  nil,
641
628
  nil,
642
- -3,
643
629
  nil,
644
- -6,
645
- -7,
646
630
  -1,
647
- nil,
648
631
  -4,
632
+ nil,
649
633
  -5,
634
+ -6,
635
+ -7,
650
636
  -2,
651
637
  ]
652
638
  ### Nonterm to Int
@@ -663,12 +649,12 @@ class StatefulLexerExtension_prerhs_postsymbol < Depager::LALR::Basis #:nodoc:al
663
649
  ]
664
650
  ### Goto Table
665
651
  goto_table = [
666
- [ 2, nil, nil, ],
667
- [ nil, 5, 6, ],
652
+ [ 1, nil, nil, ],
668
653
  [ nil, nil, nil, ],
654
+ [ nil, 3, 4, ],
655
+ [ nil, nil, 9, ],
669
656
  [ nil, nil, nil, ],
670
657
  [ nil, nil, nil, ],
671
- [ nil, nil, 12, ],
672
658
  [ nil, nil, nil, ],
673
659
  [ nil, nil, nil, ],
674
660
  [ nil, nil, nil, ],
@@ -750,7 +736,7 @@ end
750
736
 
751
737
  class D4StatefulLexerExtension_prerhs_postsymbol::NVAction < Depager::LALR::Action #:nodoc:all
752
738
  include Depager::DecoratorUtils
753
-
739
+ []
754
740
  on_reduce = [
755
741
  nil,
756
742
  :_act_0,
@@ -770,70 +756,63 @@ class D4StatefulLexerExtension_prerhs_postsymbol::NVAction < Depager::LALR::Acti
770
756
  end
771
757
 
772
758
 
773
- module_eval <<-'.,.,11875410786796.,.,', 'slex.dr', 180
774
- def _act_0 val
775
- _, _option_list, _ = *val
759
+ module_eval <<-'.,.,120998292310380.,.,', 'slex.dr', 180
760
+ def _act_0 val
761
+ _, _option_list, _, = *val
776
762
 
777
763
  master.ins.push [g_parser.rhs.size, _option_list, false]
778
764
 
779
- end
780
-
781
- .,.,11875410786796.,.,
765
+ end
766
+ .,.,120998292310380.,.,
782
767
 
783
- module_eval <<-'.,.,118754107862281.,.,', 'slex.dr', 184
784
- def _act_1 val
785
- _, _option_list, _, _ = *val
768
+ module_eval <<-'.,.,120998292354182.,.,', 'slex.dr', 184
769
+ def _act_1 val
770
+ _, _option_list, _, _, = *val
786
771
 
787
772
  master.ins.push [g_parser.rhs.size, _option_list, true]
788
773
 
789
- end
790
-
791
- .,.,118754107862281.,.,
774
+ end
775
+ .,.,120998292354182.,.,
792
776
 
793
- module_eval <<-'.,.,118754107859502.,.,', 'slex.dr', 190
794
- def _act_2 val
795
- _option = *val
777
+ module_eval <<-'.,.,120998292345458.,.,', 'slex.dr', 190
778
+ def _act_2 val
779
+ _option, = *val
796
780
  [_option]
797
781
 
798
- end
799
-
800
- .,.,118754107859502.,.,
782
+ end
783
+ .,.,120998292345458.,.,
801
784
 
802
- module_eval <<-'.,.,118754107825820.,.,', 'slex.dr', 191
803
- def _act_3 val
804
- _option_list, _option = *val
785
+ module_eval <<-'.,.,120998292359833.,.,', 'slex.dr', 191
786
+ def _act_3 val
787
+ _option_list, _option, = *val
805
788
  _option_list << _option
806
789
 
807
- end
808
-
809
- .,.,118754107825820.,.,
790
+ end
791
+ .,.,120998292359833.,.,
810
792
 
811
- module_eval <<-'.,.,118754107852027.,.,', 'slex.dr', 194
812
- def _act_4 val
813
- _, _SYMBOL = *val
793
+ module_eval <<-'.,.,120998292340459.,.,', 'slex.dr', 194
794
+ def _act_4 val
795
+ _, _SYMBOL, = *val
814
796
  [:GOTO, _SYMBOL.value]
815
797
 
816
- end
817
-
818
- .,.,118754107852027.,.,
798
+ end
799
+ .,.,120998292340459.,.,
819
800
 
820
- module_eval <<-'.,.,118754107811272.,.,', 'slex.dr', 195
821
- def _act_5 val
822
- _, _SYMBOL = *val
801
+ module_eval <<-'.,.,120998292339947.,.,', 'slex.dr', 195
802
+ def _act_5 val
803
+ _, _SYMBOL, = *val
823
804
  [:ADD, _SYMBOL.value]
824
805
 
825
- end
826
-
827
- .,.,118754107811272.,.,
806
+ end
807
+ .,.,120998292339947.,.,
828
808
 
829
- module_eval <<-'.,.,118754107839236.,.,', 'slex.dr', 196
830
- def _act_6 val
831
- _, _SYMBOL = *val
809
+ module_eval <<-'.,.,120998292319195.,.,', 'slex.dr', 196
810
+ def _act_6 val
811
+ _, _SYMBOL, = *val
832
812
  [:SUB, _SYMBOL.value]
833
813
 
834
- end
835
-
836
- .,.,118754107839236.,.,
814
+ end
815
+ .,.,120998292319195.,.,
837
816
 
838
817
  end
839
818