dbc 1.2.2 → 1.2.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.
@@ -22,8 +22,9 @@ module DBC
22
22
  end
23
23
 
24
24
  def DBC.get_ocl(str)
25
- str =~ /\A\/\*\*[ \t]*[\r\n]+(\s*(?:inv|pre|post|context).+)[ \t]*\*\/\Z/m
26
- $1
25
+ str =~ /\A\/\*\*[ \t]*[\r\n]+(\s*\*?\s*(?:inv|pre|post|context).+)[ \t]*\*\/\Z/m
26
+
27
+ $1
27
28
  end
28
29
 
29
30
  class Cache < CTokenizer::LexerBase
@@ -98,7 +99,7 @@ module DBC
98
99
  if t[0] == :COMMENT and tokens.start_of_line? and str = DBC.get_ocl(t[1])
99
100
  context = nil
100
101
  # take out context information
101
- str.gsub!(/^[ \t]*context[ \t]+(.+)$/) do
102
+ str.gsub!(/^[ \t]*\*?[ \t]*context[ \t]+(.+)$/) do
102
103
  if context
103
104
  source.error("multiple contexts given: '#{context.to_s}' and '#{$1}'")
104
105
  end
@@ -106,12 +107,22 @@ module DBC
106
107
  context = context.first
107
108
  '' # replace with an empty string
108
109
  end
110
+
111
+ # remove all leading '*'s when there is at least one
112
+ # leading '*' in front of the ocl command
113
+ if str =~ /^[ \t]*\*[ \t]*(?:pre|post|inv)[^:]*:/
114
+ str.gsub!(/^([ \t]*)\*/, '\1')
115
+ end
116
+
109
117
  conditions = []
110
118
  str.scan(/^[ \t]*(pre|post|inv)[ \t]*([^:]*):|\Z/) do
111
- conditions.push([$1, $2]) if $1
119
+ conditions.push([$1, $2]) if $1 # skip 'end of string'
112
120
  end
121
+
113
122
  statements = str.split(/^[ \t]*(?:pre|post|inv)[^:]*:|\Z/)
114
- statements.shift # remove first element
123
+ statements.shift # first element is whitespace before first condition
124
+
125
+ #raise "check failed" if conditions.length != statements.length
115
126
  conditions.zip(statements) do |cond, stmt|
116
127
  cond.push(stmt)
117
128
  end
@@ -16,8 +16,8 @@ module Preprocessor
16
16
 
17
17
  class Define < Racc::Parser
18
18
 
19
- module_eval <<'..end src/define.y modeval..idbc0a52f69c', 'src/define.y', 75
20
-
19
+ module_eval <<'..end src/define.y modeval..id5b00a44be7', 'src/define.y', 74
20
+
21
21
  def initialize(params, tokens)
22
22
  if params and not params.class == Parameters
23
23
  @params = Parameters.new
@@ -57,6 +57,11 @@ module_eval <<'..end src/define.y modeval..idbc0a52f69c', 'src/define.y', 75
57
57
 
58
58
  protected
59
59
 
60
+ tmp = '#'.freeze
61
+ STRINGIFY_TOKEN = [tmp, tmp].freeze
62
+ tmp = '##'.freeze
63
+ PASTE_TOKEN = [tmp, tmp].freeze
64
+
60
65
  def evaluate(args)
61
66
  scanner = CTokenizer::Lexer.new(@value)
62
67
  @q = []
@@ -64,13 +69,13 @@ protected
64
69
  @q.push( case
65
70
  # this works because all spaces, comments and newlines were
66
71
  # replaced by a single space by the preprocessor
67
- when m = scanner.scan(/[ \t]*##[ \t]*/)
68
- ['##', m].freeze
72
+ when scanner.scan(/[ \t]*##[ \t]*/)
73
+ PASTE_TOKEN
69
74
  when scanner.scan(/#[ \t]*/)
70
- ['#', '#'].freeze
75
+ STRINGIFY_TOKEN
71
76
  else
72
77
  t = scanner.shift
73
- if (args and t[0] == :IDENTIFIER and idx = @params.index(t[1]))
78
+ if args and t[0] == :IDENTIFIER and idx = @params.index(t[1])
74
79
  [:PARAMETER, args[idx]].freeze
75
80
  else
76
81
  t
@@ -87,72 +92,69 @@ protected
87
92
  @q.shift
88
93
  end
89
94
 
90
- ..end src/define.y modeval..idbc0a52f69c
95
+ ..end src/define.y modeval..id5b00a44be7
91
96
 
92
97
  ##### racc 1.4.4 generates ###
93
98
 
94
99
  racc_reduce_table = [
95
100
  0, 0, :racc_error,
96
- 1, 15, :_reduce_none,
97
- 1, 15, :_reduce_none,
98
- 0, 17, :_reduce_3,
99
- 1, 16, :_reduce_4,
100
- 2, 16, :_reduce_5,
101
- 1, 18, :_reduce_none,
101
+ 1, 14, :_reduce_none,
102
+ 1, 14, :_reduce_none,
103
+ 0, 16, :_reduce_3,
104
+ 1, 15, :_reduce_4,
105
+ 2, 15, :_reduce_5,
106
+ 1, 17, :_reduce_none,
107
+ 1, 17, :_reduce_none,
108
+ 1, 17, :_reduce_none,
102
109
  1, 18, :_reduce_none,
103
- 1, 18, :_reduce_none,
104
- 1, 19, :_reduce_none,
105
- 3, 19, :_reduce_10,
106
- 1, 22, :_reduce_none,
107
- 1, 22, :_reduce_none,
108
- 1, 22, :_reduce_none,
110
+ 3, 18, :_reduce_10,
111
+ 1, 21, :_reduce_none,
112
+ 1, 21, :_reduce_none,
113
+ 1, 21, :_reduce_none,
114
+ 1, 21, :_reduce_none,
115
+ 1, 21, :_reduce_none,
116
+ 1, 21, :_reduce_none,
117
+ 1, 21, :_reduce_none,
118
+ 1, 21, :_reduce_none,
119
+ 2, 20, :_reduce_19,
109
120
  1, 22, :_reduce_none,
110
- 1, 22, :_reduce_none,
111
- 1, 22, :_reduce_none,
112
- 1, 22, :_reduce_none,
113
- 1, 22, :_reduce_none,
114
- 1, 22, :_reduce_none,
115
- 2, 21, :_reduce_20,
116
- 1, 23, :_reduce_none,
117
- 1, 20, :_reduce_none ]
121
+ 1, 19, :_reduce_none ]
118
122
 
119
- racc_reduce_n = 23
123
+ racc_reduce_n = 22
120
124
 
121
- racc_shift_n = 27
125
+ racc_shift_n = 26
122
126
 
123
127
  racc_action_table = [
124
- 5, 6, 8, 10, 12, 14, 16, 18, 1, 23,
125
- 4, 5, 6, 8, 10, 12, 14, 16, 18, 1,
126
- 1, 4, 6, 8, 10, 12, 14, 16, 18, 1,
127
- 24, 26, 21 ]
128
+ 3, 5, 7, 9, 11, 13, 15, 17, 22, 2,
129
+ 3, 5, 7, 9, 11, 13, 15, 17, 17, 2,
130
+ 5, 7, 9, 11, 13, 15, 17, 23, 24, 20 ]
128
131
 
129
132
  racc_action_check = [
130
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
131
- 0, 9, 9, 9, 9, 9, 9, 9, 9, 9,
132
- 4, 9, 23, 23, 23, 23, 23, 23, 23, 23,
133
- 21, 23, 7 ]
133
+ 0, 0, 0, 0, 0, 0, 0, 0, 12, 0,
134
+ 6, 6, 6, 6, 6, 6, 6, 6, 2, 6,
135
+ 22, 22, 22, 22, 22, 22, 22, 20, 22, 4 ]
134
136
 
135
137
  racc_action_pointer = [
136
- -3, nil, nil, nil, 9, nil, nil, 32, nil, 8,
137
- nil, nil, nil, nil, nil, -3, nil, nil, nil, nil,
138
- nil, 30, nil, 18, nil, nil, nil ]
138
+ -3, nil, 8, nil, 29, nil, 7, nil, nil, nil,
139
+ nil, nil, -3, nil, nil, nil, nil, nil, nil, nil,
140
+ 27, nil, 16, nil, nil, nil ]
139
141
 
140
142
  racc_action_default = [
141
- -3, -21, -9, -18, -19, -22, -11, -23, -17, -1,
142
- -12, -2, -13, -4, -14, -6, -15, -7, -16, -8,
143
- -20, -23, -5, -23, 27, -10, -19 ]
143
+ -3, -17, -18, -21, -22, -11, -1, -16, -2, -12,
144
+ -4, -13, -6, -14, -7, -15, -8, -20, -9, -19,
145
+ -22, -5, -22, 26, -18, -10 ]
144
146
 
145
147
  racc_goto_table = [
146
- 13, 7, 11, 9, 25, 20, nil, nil, nil, 22 ]
148
+ 10, 4, 8, 6, 25, 19, 21 ]
147
149
 
148
150
  racc_goto_check = [
149
- 4, 1, 3, 2, 8, 9, nil, nil, nil, 4 ]
151
+ 4, 1, 3, 2, 8, 9, 4 ]
150
152
 
151
153
  racc_goto_pointer = [
152
- nil, 1, 3, 2, 0, nil, nil, nil, -19, 1 ]
154
+ nil, 1, 3, 2, 0, nil, nil, nil, -18, 3 ]
153
155
 
154
156
  racc_goto_default = [
155
- nil, nil, nil, nil, nil, 15, 17, 19, 2, 3 ]
157
+ nil, nil, nil, nil, nil, 12, 14, 16, 18, 1 ]
156
158
 
157
159
  racc_token_table = {
158
160
  false => 0,
@@ -163,16 +165,15 @@ racc_token_table = {
163
165
  :UNKNOWN => 5,
164
166
  :CHARACTER => 6,
165
167
  :STRING => 7,
166
- :FLOAT => 8,
167
- :INTEGER => 9,
168
- :IDENTIFIER => 10,
169
- :PARAMETER => 11,
170
- "##" => 12,
171
- "#" => 13 }
168
+ :CONSTANT => 8,
169
+ :IDENTIFIER => 9,
170
+ :PARAMETER => 10,
171
+ "##" => 11,
172
+ "#" => 12 }
172
173
 
173
174
  racc_use_result_var = true
174
175
 
175
- racc_nt_base = 14
176
+ racc_nt_base = 13
176
177
 
177
178
  Racc_arg = [
178
179
  racc_action_table,
@@ -199,8 +200,7 @@ Racc_token_to_s_table = [
199
200
  'UNKNOWN',
200
201
  'CHARACTER',
201
202
  'STRING',
202
- 'FLOAT',
203
- 'INTEGER',
203
+ 'CONSTANT',
204
204
  'IDENTIFIER',
205
205
  'PARAMETER',
206
206
  '"##"',
@@ -278,18 +278,16 @@ module_eval <<'.,.,', 'src/define.y', 39
278
278
 
279
279
  # reduce 18 omitted
280
280
 
281
- # reduce 19 omitted
282
-
283
- module_eval <<'.,.,', 'src/define.y', 56
284
- def _reduce_20( val, _values, result )
281
+ module_eval <<'.,.,', 'src/define.y', 55
282
+ def _reduce_19( val, _values, result )
285
283
  result = "\"#{val[1]}\""
286
284
  result
287
285
  end
288
286
  .,.,
289
287
 
290
- # reduce 21 omitted
288
+ # reduce 20 omitted
291
289
 
292
- # reduce 22 omitted
290
+ # reduce 21 omitted
293
291
 
294
292
  def _reduce_none( val, _values, result )
295
293
  result
@@ -120,7 +120,7 @@ module OCL
120
120
  def to_cexp
121
121
  "(#{@expression})"
122
122
  end
123
- end # Parens
123
+ end # Paren
124
124
 
125
125
  class Implies < Block
126
126
  def initialize(condition, implication)
@@ -254,13 +254,13 @@ module OCL
254
254
  def cexp?; true end
255
255
  end
256
256
 
257
- class SizeOf < Block
257
+ class SizeOf < Paren
258
258
  def initialize(exp)
259
259
  raise ParseError, "cannot take the size of a condition" unless exp.cexp?
260
260
  super
261
261
  end
262
262
  def to_cexp
263
- "sizeof(#{expression})"
263
+ "sizeof(#{@expression})"
264
264
  end
265
265
  end # SizeOf
266
266
 
@@ -413,11 +413,7 @@ module OCL
413
413
 
414
414
  class Parser < Racc::Parser
415
415
 
416
- module_eval <<'..end src/ocl.y modeval..ida1d027bef5', 'src/ocl.y', 849
417
-
418
- def Parser.reserved_word?(str)
419
- str =~ /\A(?:context|forall|exists|in|and|or|implies|not|xor)\Z/
420
- end
416
+ module_eval <<'..end src/ocl.y modeval..id6957183bdb', 'src/ocl.y', 848
421
417
 
422
418
  def initialize(str, file, line)
423
419
  @line = line
@@ -444,6 +440,16 @@ module_eval <<'..end src/ocl.y modeval..ida1d027bef5', 'src/ocl.y', 849
444
440
  protected
445
441
  include ParseErrorHandler
446
442
 
443
+ # Use C Lexer reserved word and symbols, plus a few more
444
+ RESERVED = CTokenizer::C_RESERVED.dup
445
+ [ 'context','forall','exists','in',
446
+ 'and','or','implies','not','xor'
447
+ ].each do |t|
448
+ t.freeze
449
+ RESERVED[t] = [t, t].freeze
450
+ end
451
+ RESERVED.freeze
452
+
447
453
  END_TOKEN = [:END_OF_STATEMENT, false].freeze
448
454
 
449
455
  def add_old(identifier)
@@ -462,11 +468,18 @@ protected
462
468
 
463
469
  def get_tokens(scanner)
464
470
  @q = []
471
+ # IDEA: when parsing a comment and we come along a leading
472
+ # asterisk, then a leading asterisk will be removed from
473
+ # all lines of this comment
474
+ has_leading_asterisk = scanner.scan(/[ \t]*\*[ \t]*/)
465
475
  until scanner.empty?
466
476
  case
467
477
  when m = scanner.scan(/@[ \t]*pre/)
468
- @q.push ['@pre', m]
478
+ @q.push(['@pre', m])
469
479
 
480
+ when has_leading_asterisk && scanner.scan(/[\n\r]+[ \t]*\*[ \t]*/)
481
+ # just consume it
482
+
470
483
  when scanner.scan(/(inv|pre|post)(?:[ \t]+([^:]+))?[ \t]*:/)
471
484
  @q.push(END_TOKEN) unless @q.empty?
472
485
  s_type = scanner[1] # like $1
@@ -479,22 +492,14 @@ protected
479
492
  else
480
493
  # get C token
481
494
  t = scanner.shift
482
- str = t[1]
483
- case t[0]
484
- when :SYMBOL
485
- t = [str, str]
486
- when :IDENTIFIER
487
- if CTokenizer::CLexer.reserved_word?(str) or Parser.reserved_word?(str)
488
- t = [str, str]
489
- elsif tdef = CType[t[1]]
490
- t = [:TYPEDEF_NAME, tdef]
491
- end
492
- when :COMMENT # this shouldn't happen
493
- raise ParseError, "comment embedded inside a comment"
494
- when :SPACE
495
- next # skip
496
- end
497
- @q.push(t)
495
+ t_sym = t.at(0)
496
+ @q.push( if t_sym == :SYMBOL
497
+ RESERVED.fetch(t.at(1), t)
498
+ elsif t_sym == :IDENTIFIER
499
+ RESERVED.fetch(t.at(1)) { CType.convert_token(t) }
500
+ else
501
+ t
502
+ end ) unless t_sym == :SPACE # skip spaces
498
503
  end # case
499
504
  end # until
500
505
 
@@ -511,656 +516,651 @@ protected
511
516
  t
512
517
  end
513
518
 
514
- ..end src/ocl.y modeval..ida1d027bef5
519
+ ..end src/ocl.y modeval..id6957183bdb
515
520
 
516
521
  ##### racc 1.4.4 generates ###
517
522
 
518
523
  racc_reduce_table = [
519
524
  0, 0, :racc_error,
525
+ 1, 68, :_reduce_none,
520
526
  1, 69, :_reduce_none,
521
- 1, 70, :_reduce_none,
522
- 2, 70, :_reduce_3,
523
- 1, 70, :_reduce_4,
524
- 1, 71, :_reduce_5,
525
- 2, 71, :_reduce_6,
526
- 3, 72, :_reduce_7,
527
- 1, 74, :_reduce_none,
528
- 1, 74, :_reduce_none,
529
- 3, 73, :_reduce_10,
530
- 2, 77, :_reduce_11,
527
+ 2, 69, :_reduce_3,
528
+ 1, 69, :_reduce_4,
529
+ 1, 70, :_reduce_5,
530
+ 2, 70, :_reduce_6,
531
+ 3, 71, :_reduce_7,
532
+ 1, 73, :_reduce_none,
533
+ 1, 73, :_reduce_none,
534
+ 3, 72, :_reduce_10,
535
+ 2, 76, :_reduce_11,
536
+ 1, 78, :_reduce_none,
537
+ 1, 78, :_reduce_none,
538
+ 1, 78, :_reduce_none,
531
539
  1, 79, :_reduce_none,
532
540
  1, 79, :_reduce_none,
533
541
  1, 79, :_reduce_none,
542
+ 1, 79, :_reduce_none,
543
+ 3, 79, :_reduce_19,
544
+ 1, 75, :_reduce_none,
545
+ 1, 75, :_reduce_21,
546
+ 1, 75, :_reduce_none,
547
+ 1, 75, :_reduce_none,
534
548
  1, 80, :_reduce_none,
535
- 1, 80, :_reduce_none,
536
- 1, 80, :_reduce_none,
537
- 1, 80, :_reduce_none,
538
- 1, 80, :_reduce_none,
539
- 3, 80, :_reduce_20,
540
- 1, 76, :_reduce_none,
541
- 1, 76, :_reduce_22,
542
- 1, 76, :_reduce_none,
543
- 1, 76, :_reduce_none,
549
+ 4, 80, :_reduce_25,
550
+ 4, 80, :_reduce_26,
551
+ 3, 80, :_reduce_27,
552
+ 3, 80, :_reduce_28,
553
+ 3, 80, :_reduce_29,
554
+ 1, 82, :_reduce_none,
555
+ 2, 82, :_reduce_31,
544
556
  1, 81, :_reduce_none,
545
- 4, 81, :_reduce_26,
546
- 4, 81, :_reduce_27,
547
- 3, 81, :_reduce_28,
548
- 3, 81, :_reduce_29,
549
- 3, 81, :_reduce_30,
557
+ 3, 81, :_reduce_33,
550
558
  1, 83, :_reduce_none,
551
- 2, 83, :_reduce_32,
552
- 1, 82, :_reduce_none,
553
- 3, 82, :_reduce_34,
554
- 1, 84, :_reduce_none,
555
- 1, 84, :_reduce_none,
559
+ 1, 83, :_reduce_none,
560
+ 1, 85, :_reduce_none,
561
+ 2, 85, :_reduce_37,
562
+ 2, 85, :_reduce_38,
563
+ 2, 85, :_reduce_39,
564
+ 2, 85, :_reduce_40,
565
+ 2, 85, :_reduce_41,
566
+ 2, 85, :_reduce_42,
567
+ 4, 85, :_reduce_43,
568
+ 6, 85, :_reduce_44,
569
+ 6, 85, :_reduce_45,
556
570
  1, 86, :_reduce_none,
557
- 2, 86, :_reduce_38,
558
- 2, 86, :_reduce_39,
559
- 2, 86, :_reduce_40,
560
- 2, 86, :_reduce_41,
561
- 2, 86, :_reduce_42,
562
- 2, 86, :_reduce_43,
563
- 4, 86, :_reduce_44,
564
- 6, 86, :_reduce_45,
565
- 6, 86, :_reduce_46,
566
- 1, 87, :_reduce_none,
567
- 4, 87, :_reduce_48,
571
+ 4, 86, :_reduce_47,
572
+ 1, 88, :_reduce_none,
573
+ 3, 88, :_reduce_49,
574
+ 3, 88, :_reduce_50,
575
+ 3, 88, :_reduce_51,
568
576
  1, 89, :_reduce_none,
569
- 3, 89, :_reduce_50,
570
- 3, 89, :_reduce_51,
571
- 3, 89, :_reduce_52,
577
+ 3, 89, :_reduce_53,
578
+ 3, 89, :_reduce_54,
572
579
  1, 90, :_reduce_none,
573
- 3, 90, :_reduce_54,
574
- 3, 90, :_reduce_55,
575
- 1, 91, :_reduce_none,
576
- 3, 91, :_reduce_57,
580
+ 3, 90, :_reduce_56,
581
+ 1, 92, :_reduce_none,
582
+ 3, 92, :_reduce_58,
583
+ 3, 92, :_reduce_59,
584
+ 3, 92, :_reduce_60,
585
+ 3, 92, :_reduce_61,
586
+ 3, 92, :_reduce_62,
587
+ 3, 92, :_reduce_63,
577
588
  1, 93, :_reduce_none,
578
- 3, 93, :_reduce_59,
579
- 3, 93, :_reduce_60,
580
- 3, 93, :_reduce_61,
581
- 3, 93, :_reduce_62,
582
- 3, 93, :_reduce_63,
583
- 3, 93, :_reduce_64,
589
+ 3, 93, :_reduce_65,
584
590
  1, 94, :_reduce_none,
585
- 3, 94, :_reduce_66,
591
+ 3, 94, :_reduce_67,
586
592
  1, 95, :_reduce_none,
587
- 3, 95, :_reduce_68,
593
+ 3, 95, :_reduce_69,
594
+ 1, 77, :_reduce_none,
595
+ 3, 77, :_reduce_71,
596
+ 3, 87, :_reduce_72,
597
+ 3, 91, :_reduce_73,
598
+ 3, 91, :_reduce_74,
599
+ 1, 96, :_reduce_none,
600
+ 1, 96, :_reduce_none,
601
+ 1, 96, :_reduce_none,
602
+ 1, 96, :_reduce_none,
603
+ 1, 96, :_reduce_none,
604
+ 1, 96, :_reduce_none,
605
+ 1, 96, :_reduce_none,
606
+ 1, 96, :_reduce_none,
588
607
  1, 96, :_reduce_none,
589
- 3, 96, :_reduce_70,
590
- 1, 78, :_reduce_none,
591
- 3, 78, :_reduce_72,
592
- 3, 88, :_reduce_73,
593
- 3, 92, :_reduce_74,
594
- 3, 92, :_reduce_75,
595
- 1, 97, :_reduce_none,
596
- 1, 97, :_reduce_none,
597
- 1, 97, :_reduce_none,
598
- 1, 97, :_reduce_none,
599
- 1, 97, :_reduce_none,
600
- 1, 97, :_reduce_none,
601
- 1, 97, :_reduce_none,
602
608
  1, 97, :_reduce_none,
603
609
  1, 97, :_reduce_none,
604
610
  1, 98, :_reduce_none,
605
611
  1, 98, :_reduce_none,
612
+ 2, 74, :_reduce_88,
613
+ 1, 74, :_reduce_89,
614
+ 1, 101, :_reduce_90,
615
+ 2, 101, :_reduce_91,
616
+ 1, 102, :_reduce_92,
617
+ 1, 102, :_reduce_93,
618
+ 1, 102, :_reduce_94,
619
+ 1, 102, :_reduce_95,
620
+ 1, 105, :_reduce_none,
621
+ 1, 105, :_reduce_none,
622
+ 2, 103, :_reduce_98,
606
623
  1, 99, :_reduce_none,
607
- 1, 99, :_reduce_none,
608
- 2, 75, :_reduce_89,
609
- 1, 75, :_reduce_90,
610
- 1, 102, :_reduce_91,
611
- 2, 102, :_reduce_92,
612
- 1, 103, :_reduce_93,
613
- 1, 103, :_reduce_94,
614
- 1, 103, :_reduce_95,
615
- 1, 103, :_reduce_96,
624
+ 2, 99, :_reduce_100,
625
+ 1, 100, :_reduce_101,
626
+ 2, 106, :_reduce_102,
616
627
  1, 106, :_reduce_none,
617
- 1, 106, :_reduce_none,
618
- 2, 104, :_reduce_99,
619
- 1, 100, :_reduce_none,
620
- 2, 100, :_reduce_101,
621
- 1, 101, :_reduce_102,
622
- 2, 107, :_reduce_103,
623
- 1, 107, :_reduce_none,
624
- 1, 110, :_reduce_none,
625
- 1, 109, :_reduce_106,
626
- 3, 109, :_reduce_107,
627
- 4, 109, :_reduce_108,
628
- 3, 109, :_reduce_109,
629
- 4, 109, :_reduce_110,
630
- 4, 109, :_reduce_111,
631
- 3, 109, :_reduce_112,
632
- 2, 105, :_reduce_113,
633
- 2, 108, :_reduce_114,
634
- 1, 108, :_reduce_115,
635
- 3, 108, :_reduce_116,
636
- 2, 108, :_reduce_117,
637
- 1, 113, :_reduce_118,
638
- 2, 113, :_reduce_119,
639
- 1, 111, :_reduce_120,
640
- 3, 111, :_reduce_121,
641
- 1, 114, :_reduce_122,
642
- 3, 114, :_reduce_123,
643
- 2, 115, :_reduce_124,
644
- 2, 115, :_reduce_125,
645
- 1, 115, :_reduce_126,
646
- 1, 112, :_reduce_127,
647
- 1, 117, :_reduce_128,
648
- 3, 117, :_reduce_129,
649
- 1, 85, :_reduce_130,
650
- 2, 85, :_reduce_131,
651
- 1, 116, :_reduce_132,
652
- 1, 118, :_reduce_133,
653
- 1, 118, :_reduce_none,
654
- 2, 118, :_reduce_135,
655
- 3, 119, :_reduce_none,
656
- 2, 119, :_reduce_137,
657
- 3, 119, :_reduce_138,
658
- 3, 119, :_reduce_139,
659
- 4, 119, :_reduce_140,
660
- 2, 119, :_reduce_141,
661
- 3, 119, :_reduce_142,
662
- 3, 119, :_reduce_143,
663
- 4, 119, :_reduce_144 ]
664
-
665
- racc_reduce_n = 145
666
-
667
- racc_shift_n = 228
628
+ 1, 109, :_reduce_none,
629
+ 1, 108, :_reduce_105,
630
+ 3, 108, :_reduce_106,
631
+ 4, 108, :_reduce_107,
632
+ 3, 108, :_reduce_108,
633
+ 4, 108, :_reduce_109,
634
+ 4, 108, :_reduce_110,
635
+ 3, 108, :_reduce_111,
636
+ 2, 104, :_reduce_112,
637
+ 2, 107, :_reduce_113,
638
+ 1, 107, :_reduce_114,
639
+ 3, 107, :_reduce_115,
640
+ 2, 107, :_reduce_116,
641
+ 1, 112, :_reduce_117,
642
+ 2, 112, :_reduce_118,
643
+ 1, 110, :_reduce_119,
644
+ 3, 110, :_reduce_120,
645
+ 1, 113, :_reduce_121,
646
+ 3, 113, :_reduce_122,
647
+ 2, 114, :_reduce_123,
648
+ 2, 114, :_reduce_124,
649
+ 1, 114, :_reduce_125,
650
+ 1, 111, :_reduce_126,
651
+ 1, 116, :_reduce_127,
652
+ 3, 116, :_reduce_128,
653
+ 1, 84, :_reduce_129,
654
+ 2, 84, :_reduce_130,
655
+ 1, 115, :_reduce_131,
656
+ 1, 117, :_reduce_132,
657
+ 1, 117, :_reduce_none,
658
+ 2, 117, :_reduce_134,
659
+ 3, 118, :_reduce_none,
660
+ 2, 118, :_reduce_136,
661
+ 3, 118, :_reduce_137,
662
+ 3, 118, :_reduce_138,
663
+ 4, 118, :_reduce_139,
664
+ 2, 118, :_reduce_140,
665
+ 3, 118, :_reduce_141,
666
+ 3, 118, :_reduce_142,
667
+ 4, 118, :_reduce_143 ]
668
+
669
+ racc_reduce_n = 144
670
+
671
+ racc_shift_n = 227
668
672
 
669
673
  racc_action_table = [
670
- 37, 40, 13, 79, 79, 20, 22, 79, 113, 115,
671
- 79, 167, 113, 81, 82, 166, 117, 98, 222, 158,
672
- 32, 35, 38, 42, 47, 16, 217, 121, 25, 225,
673
- 87, 88, 34, 139, 41, 14, 89, 81, 82, 23,
674
- 27, 108, 31, 80, 113, 70, 49, 52, 53, 55,
675
- 57, 59, 61, 62, 63, 66, 69, 48, 50, 37,
676
- 40, 13, 69, 48, 20, 22, 69, 48, 185, 90,
677
- 79, 79, 184, 86, 154, 168, 169, 79, 152, 32,
678
- 35, 38, 42, 47, 16, 175, 79, 25, 100, 205,
679
- 170, 34, 221, 41, 14, 78, 167, 206, 23, 27,
680
- 166, 31, 113, 113, 70, 49, 52, 53, 55, 57,
681
- 59, 61, 62, 63, 66, 69, 48, 50, 37, 40,
682
- 13, 113, 172, 20, 22, 115, 115, 171, 81, 82,
683
- 185, 154, 209, 117, 184, 152, 152, 99, 32, 35,
684
- 38, 42, 47, 16, 115, 211, 25, 212, 115, 99,
685
- 34, 117, 41, 14, 97, 209, 98, 23, 27, 152,
686
- 31, 81, 82, 70, 49, 52, 53, 55, 57, 59,
687
- 61, 62, 63, 66, 69, 48, 50, 37, 40, 13,
688
- 110, 16, 20, 22, 25, 110, 16, 174, 218, 25,
689
- 41, 14, 75, 76, 77, 41, 14, 32, 35, 38,
690
- 42, 47, 16, 219, 220, 25, 7, 9, 11, 34,
691
- 159, 41, 14, 79, 113, 173, 23, 27, 188, 31,
692
- 191, 101, 70, 49, 52, 53, 55, 57, 59, 61,
693
- 62, 63, 66, 69, 48, 50, 47, 115, 3, 5,
694
- 7, 9, 11, 16, 209, 183, 25, 45, 152, 113,
695
- 44, 226, 41, 14, 7, 9, 11, 70, 49, 52,
696
- 53, 55, 57, 59, 61, 62, 63, 66, 69, 48,
697
- 50, 47, 16, 101, nil, 25, 75, 76, 77, 154,
698
- 183, 41, 14, 152, 93, 94, 95, 96, 91, 92,
699
- nil, nil, 70, 49, 52, 53, 55, 57, 59, 61,
700
- 62, 63, 66, 69, 48, 50, 37, 40, 13, nil,
701
- 16, 20, 22, 25, 7, 9, 11, nil, nil, 41,
702
- 14, 75, 76, 77, nil, nil, 32, 35, 38, 42,
703
- nil, 16, nil, nil, 25, nil, nil, nil, 106, nil,
704
- 41, 14, nil, nil, nil, 23, 27, nil, 31, 37,
705
- 40, 13, nil, nil, 20, 22, 70, 49, 52, 53,
706
- 55, 57, 59, 61, 62, nil, nil, nil, nil, 32,
707
- 35, 38, 42, nil, 16, nil, nil, 25, nil, nil,
708
- nil, 34, nil, 41, 14, nil, 193, nil, 23, 27,
709
- nil, 31, 37, 40, 13, nil, nil, 20, 22, 93,
710
- 94, 95, 96, 91, 92, nil, nil, nil, nil, nil,
711
- nil, nil, 32, 35, 38, 42, nil, 16, nil, nil,
712
- 25, nil, nil, nil, 34, nil, 41, 14, nil, nil,
713
- nil, 23, 27, nil, 31, 37, 40, 13, nil, nil,
714
- 20, 22, nil, nil, nil, nil, nil, nil, nil, nil,
715
- nil, nil, nil, nil, nil, 32, 35, 38, 42, nil,
716
- 16, nil, nil, 25, nil, nil, nil, 34, nil, 41,
717
- 14, nil, nil, nil, 23, 27, nil, 31, 37, 40,
718
- 13, nil, nil, 20, 22, nil, nil, nil, nil, nil,
719
- nil, nil, nil, nil, nil, nil, nil, nil, 32, 35,
720
- 38, 42, nil, 16, nil, nil, 25, nil, nil, nil,
721
- 34, nil, 41, 14, nil, nil, nil, 23, 27, nil,
722
- 31, 37, 40, 13, nil, nil, 20, 22, nil, nil,
674
+ 69, 72, 48, 94, 94, 53, 58, 94, 77, 78,
675
+ 94, 94, 77, 95, 96, 197, 80, 223, 224, 93,
676
+ 65, 67, 70, 41, 18, 198, 94, 24, 182, 101,
677
+ 102, 64, 145, 38, 44, 104, 95, 96, 54, 57,
678
+ 164, 62, 97, 77, 37, 43, 17, 19, 21, 23,
679
+ 26, 28, 29, 30, 33, 36, 42, 15, 69, 72,
680
+ 48, 36, 42, 53, 58, 36, 42, 103, 94, 94,
681
+ 184, 100, 160, 180, 181, 183, 158, 78, 65, 67,
682
+ 70, 41, 18, 204, 201, 24, 225, 213, 158, 64,
683
+ 160, 38, 44, 205, 158, 206, 54, 57, 77, 62,
684
+ 203, 77, 37, 43, 17, 19, 21, 23, 26, 28,
685
+ 29, 30, 33, 36, 42, 15, 69, 72, 48, 77,
686
+ 78, 53, 58, 78, 76, 18, 114, 201, 24, 194,
687
+ 80, 158, 187, 193, 38, 44, 65, 67, 70, 41,
688
+ 18, 78, 18, 24, 113, 24, 186, 64, 80, 38,
689
+ 44, 38, 44, 185, 54, 57, 94, 62, 95, 96,
690
+ 37, 43, 17, 19, 21, 23, 26, 28, 29, 30,
691
+ 33, 36, 42, 15, 69, 72, 48, 76, 18, 53,
692
+ 58, 24, 18, 95, 96, 24, 214, 38, 44, 215,
693
+ 18, 38, 44, 24, 65, 67, 70, 41, 18, 38,
694
+ 44, 24, 129, 116, 169, 64, 128, 38, 44, 165,
695
+ 194, 77, 54, 57, 193, 62, 116, 115, 37, 43,
696
+ 17, 19, 21, 23, 26, 28, 29, 30, 33, 36,
697
+ 42, 15, 41, 78, 107, 108, 109, 110, 105, 106,
698
+ 201, 192, 114, 113, 158, 111, 77, 107, 108, 109,
699
+ 110, 105, 106, 37, 43, 17, 19, 21, 23, 26,
700
+ 28, 29, 30, 33, 36, 42, 15, 41, 129, 6,
701
+ 8, 10, 128, 85, 73, 160, 192, 14, 13, 158,
702
+ 2, 4, 6, 8, 10, 89, 90, 91, 37, 43,
703
+ 17, 19, 21, 23, 26, 28, 29, 30, 33, 36,
704
+ 42, 15, 69, 72, 48, 226, nil, 53, 58, 37,
705
+ 43, 17, 19, 21, 23, 26, 28, 29, 6, 8,
706
+ 10, nil, 65, 67, 70, nil, 18, nil, nil, 24,
707
+ 89, 90, 91, 64, nil, 38, 44, 6, 8, 10,
708
+ 54, 57, nil, 62, 69, 72, 48, nil, nil, 53,
709
+ 58, 89, 90, 91, nil, nil, nil, nil, nil, nil,
710
+ nil, nil, nil, nil, 65, 67, 70, nil, 18, nil,
711
+ nil, 24, nil, nil, nil, 64, nil, 38, 44, nil,
712
+ nil, nil, 54, 57, nil, 62, 69, 72, 48, nil,
713
+ nil, 53, 58, nil, nil, nil, nil, nil, nil, nil,
714
+ nil, nil, nil, nil, nil, nil, 65, 67, 70, nil,
715
+ 18, nil, nil, 24, nil, nil, nil, 64, nil, 38,
716
+ 44, nil, nil, nil, 54, 57, nil, 62, 69, 72,
717
+ 48, nil, nil, 53, 58, nil, nil, nil, nil, nil,
718
+ nil, nil, nil, nil, nil, nil, nil, nil, 65, 67,
719
+ 70, nil, 18, nil, nil, 24, nil, nil, nil, 64,
720
+ nil, 38, 44, nil, nil, nil, 54, 57, nil, 62,
721
+ 69, 72, 48, nil, nil, 53, 58, nil, nil, nil,
722
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
723
+ 65, 67, 70, nil, 18, nil, nil, 24, nil, nil,
724
+ nil, 64, nil, 38, 44, nil, 217, nil, 54, 57,
725
+ nil, 62, 69, 72, 48, nil, nil, 53, 58, nil,
723
726
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
724
- nil, 32, 35, 38, 42, nil, 16, nil, nil, 25,
725
- nil, nil, nil, 34, nil, 41, 14, nil, nil, nil,
726
- 23, 27, nil, 31, 37, 40, 13, nil, nil, 20,
727
- 22, nil, nil, nil, nil, nil, nil, nil, nil, nil,
728
- nil, nil, nil, nil, 32, 35, 38, 42, nil, 16,
729
- nil, nil, 25, nil, nil, nil, 34, nil, 41, 14,
730
- nil, 177, nil, 23, 27, nil, 31, 37, 40, 13,
731
- nil, nil, 20, 22, nil, nil, nil, nil, nil, nil,
732
- nil, nil, nil, nil, nil, nil, nil, 32, 35, 38,
733
- 42, nil, 16, nil, nil, 25, nil, nil, nil, 34,
734
- nil, 41, 14, nil, nil, nil, 23, 27, nil, 31,
735
- 37, 40, 13, nil, nil, 20, 22, nil, nil, nil,
727
+ nil, nil, 65, 67, 70, nil, 18, nil, nil, 24,
728
+ nil, nil, nil, 64, nil, 38, 44, nil, 189, nil,
729
+ 54, 57, nil, 62, 69, 72, 48, nil, nil, 53,
730
+ 58, nil, nil, nil, nil, nil, nil, nil, nil, nil,
731
+ nil, nil, nil, nil, 65, 67, 70, nil, 18, nil,
732
+ nil, 24, nil, nil, nil, 64, nil, 38, 44, nil,
733
+ nil, nil, 54, 57, nil, 62, 69, 72, 48, nil,
734
+ nil, 53, 58, nil, nil, nil, nil, nil, nil, nil,
735
+ nil, nil, nil, nil, nil, nil, 65, 67, 70, nil,
736
+ 18, nil, nil, 24, nil, nil, nil, 64, nil, 38,
737
+ 44, nil, nil, nil, 54, 57, nil, 62, 69, 72,
738
+ 48, nil, nil, 53, 58, nil, nil, nil, nil, nil,
739
+ nil, nil, nil, nil, nil, nil, nil, nil, 65, 67,
740
+ 70, nil, 18, nil, nil, 24, nil, nil, nil, 64,
741
+ nil, 38, 44, nil, nil, nil, 54, 57, nil, 62,
742
+ 69, 72, 48, nil, nil, 53, 58, nil, nil, nil,
736
743
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
737
- 32, 35, 38, 42, nil, 16, nil, nil, 25, nil,
738
- nil, nil, 34, nil, 41, 14, nil, 214, nil, 23,
739
- 27, nil, 31, 37, 40, 13, nil, nil, 20, 22,
744
+ 65, 67, 70, nil, 18, nil, nil, 24, nil, nil,
745
+ nil, 64, nil, 38, 44, nil, nil, nil, 54, 57,
746
+ nil, 62, 69, 72, 48, nil, nil, 53, 58, nil,
740
747
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
741
- nil, nil, nil, 32, 35, 38, 42, nil, 16, nil,
742
- nil, 25, nil, nil, nil, 34, nil, 41, 14, nil,
743
- nil, nil, 23, 27, nil, 31, 37, 40, 13, nil,
744
- nil, 20, 22, nil, nil, nil, nil, nil, nil, nil,
745
- nil, nil, nil, nil, nil, nil, 32, 35, 38, 42,
746
- nil, 16, nil, nil, 25, nil, nil, nil, 34, nil,
747
- 41, 14, nil, nil, nil, 23, 27, nil, 31, 37,
748
- 40, 13, nil, nil, 20, 22, nil, nil, nil, nil,
749
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 32,
750
- 35, 38, 42, nil, 16, nil, nil, 25, nil, nil,
751
- nil, 34, nil, 41, 14, nil, nil, nil, 23, 27,
752
- nil, 31, 37, 40, 13, nil, nil, 20, 22, nil,
748
+ nil, nil, 65, 67, 70, nil, 18, nil, nil, 24,
749
+ nil, nil, nil, 64, nil, 38, 44, nil, nil, nil,
750
+ 54, 57, nil, 62, 69, 72, 48, nil, nil, 53,
751
+ 58, nil, nil, nil, nil, nil, nil, nil, nil, nil,
752
+ nil, nil, nil, nil, 65, 67, 70, nil, 18, nil,
753
+ nil, 24, nil, nil, nil, 64, nil, 38, 44, nil,
754
+ nil, nil, 54, 57, nil, 62, 69, 72, 48, nil,
755
+ nil, 53, 58, nil, nil, nil, nil, nil, nil, nil,
756
+ nil, nil, nil, nil, nil, nil, 65, 67, 70, nil,
757
+ 18, nil, nil, 24, nil, nil, nil, 64, nil, 38,
758
+ 44, nil, nil, nil, 54, 57, nil, 62, 69, 72,
759
+ 48, nil, nil, 53, 58, nil, nil, nil, nil, nil,
760
+ nil, nil, nil, nil, nil, nil, nil, nil, 65, 67,
761
+ 70, nil, 18, nil, nil, 24, nil, nil, nil, 64,
762
+ nil, 38, 44, nil, nil, nil, 54, 57, nil, 62,
763
+ 69, 72, 48, nil, nil, 53, 58, nil, nil, nil,
753
764
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
754
- nil, nil, 32, 35, 38, 42, nil, 16, nil, nil,
755
- 25, nil, nil, nil, 34, nil, 41, 14, nil, nil,
756
- nil, 23, 27, nil, 31, 37, 40, 13, nil, nil,
757
- 20, 22, nil, nil, nil, nil, nil, nil, nil, nil,
758
- nil, nil, nil, nil, nil, 32, 35, 38, 42, nil,
759
- 16, nil, nil, 25, nil, nil, nil, 34, nil, 41,
760
- 14, nil, nil, nil, 23, 27, nil, 31, 37, 40,
761
- 13, nil, nil, 20, 22, nil, nil, nil, nil, nil,
762
- nil, nil, nil, nil, nil, nil, nil, nil, 32, 35,
763
- 38, 42, nil, 16, nil, nil, 25, nil, nil, nil,
764
- 34, nil, 41, 14, nil, nil, nil, 23, 27, nil,
765
- 31, 37, 40, 13, nil, nil, 20, 22, nil, nil,
765
+ 65, 67, 70, nil, 18, nil, nil, 24, nil, nil,
766
+ nil, 64, nil, 38, 44, nil, nil, nil, 54, 57,
767
+ nil, 62, 69, 72, 48, nil, nil, 53, 58, nil,
766
768
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
767
- nil, 32, 35, 38, 42, nil, 16, nil, nil, 25,
768
- nil, nil, nil, 34, nil, 41, 14, nil, nil, nil,
769
- 23, 27, nil, 31, 37, 40, 13, nil, nil, 20,
770
- 22, nil, nil, nil, nil, nil, nil, nil, nil, nil,
771
- nil, nil, nil, nil, 32, 35, 38, 42, nil, 16,
772
- nil, nil, 25, nil, nil, nil, 34, nil, 41, 14,
773
- nil, nil, nil, 23, 27, nil, 31, 37, 40, 13,
774
- nil, nil, 20, 22, nil, nil, nil, nil, nil, nil,
775
- nil, nil, nil, nil, nil, nil, nil, 32, 35, 38,
776
- 42, nil, 16, nil, nil, 25, nil, nil, nil, 34,
777
- nil, 41, 14, nil, nil, nil, 23, 27, nil, 31,
778
- 37, 40, 13, nil, nil, 20, 22, nil, nil, nil,
769
+ nil, nil, 65, 67, 70, nil, 18, nil, nil, 24,
770
+ nil, nil, nil, 64, nil, 38, 44, nil, nil, nil,
771
+ 54, 57, nil, 62, 69, 72, 48, nil, nil, 53,
772
+ 58, nil, nil, nil, nil, nil, nil, nil, nil, nil,
773
+ nil, nil, nil, nil, 65, 67, 70, nil, 18, nil,
774
+ nil, 24, nil, nil, nil, 64, nil, 38, 44, nil,
775
+ nil, nil, 54, 57, nil, 62, 69, 72, 48, nil,
776
+ nil, 53, 58, nil, nil, nil, nil, nil, nil, nil,
777
+ nil, nil, nil, nil, nil, nil, 65, 67, 70, nil,
778
+ 18, nil, nil, 24, nil, nil, nil, 64, nil, 38,
779
+ 44, nil, nil, nil, 54, 57, nil, 62, 69, 72,
780
+ 48, nil, nil, 53, 58, nil, nil, nil, nil, nil,
781
+ nil, nil, nil, nil, nil, nil, nil, nil, 65, 67,
782
+ 70, nil, 18, nil, nil, 24, nil, nil, nil, 64,
783
+ nil, 38, 44, nil, nil, nil, 54, 57, nil, 62,
784
+ 69, 72, 48, nil, nil, 53, 58, nil, nil, nil,
779
785
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
780
- 32, 35, 38, 42, nil, 16, nil, nil, 25, nil,
781
- nil, nil, 34, nil, 41, 14, nil, nil, nil, 23,
782
- 27, nil, 31, 37, 40, 13, nil, nil, 20, 22,
786
+ 65, 67, 70, nil, 18, nil, nil, 24, nil, nil,
787
+ nil, 64, nil, 38, 44, nil, nil, nil, 54, 57,
788
+ nil, 62, 69, 72, 48, nil, nil, 53, 58, nil,
783
789
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
784
- nil, nil, nil, 32, 35, 38, 42, nil, 16, nil,
785
- nil, 25, nil, nil, nil, 34, nil, 41, 14, nil,
786
- nil, nil, 23, 27, nil, 31, 37, 40, 13, nil,
787
- nil, 20, 22, nil, nil, nil, nil, nil, nil, nil,
788
- nil, nil, nil, nil, nil, nil, 32, 35, 38, 42,
789
- nil, 16, nil, nil, 25, nil, nil, nil, 34, nil,
790
- 41, 14, nil, nil, nil, 23, 27, nil, 31, 37,
791
- 40, 13, nil, nil, 20, 22, nil, nil, nil, nil,
792
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 32,
793
- 35, 38, 42, nil, 16, nil, nil, 25, nil, nil,
794
- nil, 34, nil, 41, 14, nil, nil, nil, 23, 27,
795
- nil, 31, 37, 40, 13, nil, nil, 20, 22, nil,
790
+ nil, nil, 65, 67, 70, nil, 18, nil, nil, 24,
791
+ nil, nil, nil, 64, nil, 38, 44, nil, nil, nil,
792
+ 54, 57, nil, 62, 69, 72, 48, nil, nil, 53,
793
+ 58, nil, nil, nil, nil, nil, nil, nil, nil, nil,
794
+ nil, nil, nil, nil, 65, 67, 70, nil, 18, nil,
795
+ nil, 24, nil, nil, nil, 64, nil, 38, 44, nil,
796
+ nil, nil, 54, 57, nil, 62, 69, 72, 48, nil,
797
+ nil, 53, 58, nil, nil, nil, nil, nil, nil, nil,
798
+ nil, nil, nil, nil, nil, nil, 65, 67, 70, nil,
799
+ 18, nil, nil, 24, nil, nil, nil, 121, nil, 38,
800
+ 44, nil, nil, nil, 54, 57, nil, 62, 69, 72,
801
+ 48, nil, nil, 53, 58, nil, nil, nil, nil, nil,
802
+ nil, nil, nil, nil, nil, nil, nil, nil, 65, 67,
803
+ 70, nil, 18, nil, nil, 24, nil, nil, nil, 64,
804
+ nil, 38, 44, nil, 171, nil, 54, 57, nil, 62,
805
+ 69, 72, 48, nil, nil, 53, 58, nil, nil, nil,
796
806
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
797
- nil, nil, 32, 35, 38, 42, nil, 16, nil, nil,
798
- 25, nil, nil, nil, 34, nil, 41, 14, nil, nil,
799
- nil, 23, 27, nil, 31, 37, 40, 13, nil, nil,
800
- 20, 22, nil, nil, nil, nil, nil, nil, nil, nil,
801
- nil, nil, nil, nil, nil, 32, 35, 38, 42, nil,
802
- 16, nil, nil, 25, nil, nil, nil, 34, nil, 41,
803
- 14, nil, nil, nil, 23, 27, nil, 31, 37, 40,
804
- 13, nil, nil, 20, 22, nil, nil, nil, nil, nil,
805
- nil, nil, nil, nil, nil, nil, nil, nil, 32, 35,
806
- 38, 42, nil, 16, nil, nil, 25, nil, nil, nil,
807
- 34, nil, 41, 14, nil, nil, nil, 23, 27, nil,
808
- 31, 37, 40, 13, nil, nil, 20, 22, nil, nil,
807
+ 65, 67, 70, nil, 18, nil, nil, 24, nil, nil,
808
+ nil, 64, nil, 38, 44, nil, nil, nil, 54, 57,
809
+ nil, 62, 69, 72, 48, nil, nil, 53, 58, nil,
809
810
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
810
- nil, 32, 35, 38, 42, nil, 16, nil, nil, 25,
811
- nil, nil, nil, 34, nil, 41, 14, nil, nil, nil,
812
- 23, 27, nil, 31, 37, 40, 13, nil, nil, 20,
813
- 22, nil, nil, nil, nil, nil, nil, nil, nil, nil,
814
- nil, nil, nil, nil, 32, 35, 38, 42, nil, 16,
815
- nil, nil, 25, nil, nil, nil, 34, nil, 41, 14,
816
- nil, nil, nil, 23, 27, nil, 31, 37, 40, 13,
817
- nil, nil, 20, 22, nil, nil, nil, nil, nil, nil,
818
- nil, nil, nil, nil, nil, nil, nil, 32, 35, 38,
819
- 42, nil, 16, nil, nil, 25, nil, nil, nil, 34,
820
- nil, 41, 14, nil, nil, nil, 23, 27, nil, 31,
821
- 37, 40, 13, nil, nil, 20, 22, nil, nil, nil,
811
+ nil, nil, 65, 67, 70, nil, 18, nil, nil, 24,
812
+ nil, nil, nil, 64, nil, 38, 44, nil, nil, nil,
813
+ 54, 57, nil, 62, 69, 72, 48, nil, nil, 53,
814
+ 58, nil, nil, nil, nil, nil, nil, nil, nil, nil,
815
+ nil, nil, nil, nil, 65, 67, 70, nil, 18, nil,
816
+ nil, 24, nil, nil, nil, 64, nil, 38, 44, nil,
817
+ nil, nil, 54, 57, nil, 62, 69, 72, 48, nil,
818
+ nil, 53, 58, nil, nil, nil, nil, nil, nil, nil,
819
+ nil, nil, nil, nil, nil, nil, 65, 67, 70, nil,
820
+ 18, nil, nil, 24, nil, nil, nil, 64, nil, 38,
821
+ 44, nil, nil, nil, 54, 57, nil, 62, 69, 72,
822
+ 48, nil, nil, 53, 58, nil, nil, nil, nil, nil,
823
+ nil, nil, nil, nil, nil, nil, nil, nil, 65, 67,
824
+ 70, nil, 18, nil, nil, 24, nil, nil, nil, 64,
825
+ nil, 38, 44, nil, nil, nil, 54, 57, nil, 62,
826
+ 69, 72, 48, nil, nil, 53, 58, nil, nil, nil,
822
827
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
823
- 32, 35, 38, 42, nil, 16, nil, nil, 25, nil,
824
- nil, nil, 34, nil, 41, 14, nil, nil, nil, 23,
825
- 27, nil, 31, 37, 40, 13, nil, nil, 20, 22,
828
+ 65, 67, 70, nil, 18, nil, nil, 24, nil, nil,
829
+ nil, 64, nil, 38, 44, nil, nil, nil, 54, 57,
830
+ nil, 62, 69, 72, 48, nil, nil, 53, 58, nil,
826
831
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
827
- nil, nil, nil, 32, 35, 38, 42, nil, 16, nil,
828
- nil, 25, nil, nil, nil, 34, nil, 41, 14, nil,
829
- nil, nil, 23, 27, nil, 31, 37, 40, 13, nil,
830
- nil, 20, 22, nil, nil, nil, nil, nil, nil, nil,
831
- nil, nil, nil, nil, nil, nil, 32, 35, 38, 42,
832
- nil, 16, nil, nil, 25, nil, nil, nil, 34, nil,
833
- 41, 14, nil, nil, nil, 23, 27, nil, 31, 37,
834
- 40, 13, nil, nil, 20, 22, nil, nil, nil, nil,
835
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 32,
836
- 35, 38, 42, nil, 16, nil, nil, 25, nil, nil,
837
- nil, 34, nil, 41, 14, nil, nil, nil, 23, 27,
838
- nil, 31, 37, 40, 13, nil, nil, 20, 22, nil,
832
+ nil, nil, 65, 67, 70, nil, 18, nil, nil, 24,
833
+ nil, nil, nil, 64, nil, 38, 44, nil, nil, nil,
834
+ 54, 57, nil, 62, 69, 72, 48, nil, nil, 53,
835
+ 58, nil, nil, nil, nil, nil, nil, nil, nil, nil,
836
+ nil, nil, nil, nil, 65, 67, 70, nil, 18, nil,
837
+ nil, 24, nil, nil, nil, 64, nil, 38, 44, nil,
838
+ nil, nil, 54, 57, nil, 62, 69, 72, 48, nil,
839
+ nil, 53, 58, nil, nil, nil, nil, nil, nil, nil,
840
+ nil, nil, nil, nil, nil, nil, 65, 67, 70, 41,
841
+ 18, nil, nil, 24, nil, nil, nil, 64, nil, 38,
842
+ 44, nil, nil, 41, 54, 57, nil, 62, nil, nil,
843
+ 37, 43, 17, 19, 21, 23, 26, 28, 29, 30,
844
+ 33, 36, 42, 15, 37, 43, 17, 19, 21, 23,
845
+ 26, 28, 29, 30, 33, 36, 42, 15, 41, nil,
839
846
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
840
- nil, nil, 32, 35, 38, 42, 47, 16, nil, nil,
841
- 25, nil, nil, nil, 34, nil, 41, 14, nil, nil,
842
- 47, 23, 27, nil, 31, nil, nil, 70, 49, 52,
843
- 53, 55, 57, 59, 61, 62, 63, 66, 69, 48,
844
- 50, 70, 49, 52, 53, 55, 57, 59, 61, 62,
845
- 63, 66, 69, 48, 50, 47, nil, nil, nil, nil,
846
- nil, nil, nil, nil, 216, nil, nil, nil, nil, nil,
847
- nil, nil, nil, nil, nil, nil, 70, 49, 52, 53,
848
- 55, 57, 59, 61, 62, 63, 66, 69, 48, 50,
849
- 47, 16, nil, nil, 25, nil, nil, nil, nil, nil,
850
- 41, 14, nil, nil, nil, 47, nil, nil, nil, nil,
851
- nil, 70, 49, 52, 53, 55, 57, 59, 61, 62,
852
- 63, 66, 69, 48, 50, 224, 70, 49, 52, 53,
853
- 55, 57, 59, 61, 62, 63, 66, 69, 48, 50,
854
- 47, 16, nil, nil, 25, nil, nil, nil, nil, 197,
855
- 41, 14, nil, nil, 47, nil, nil, nil, nil, nil,
856
- nil, 70, 49, 52, 53, 55, 57, 59, 61, 62,
857
- 63, 66, 69, 48, 50, 70, 49, 52, 53, 55,
858
- 57, 59, 61, 62, 63, 66, 69, 48, 50 ]
847
+ nil, nil, nil, nil, nil, nil, nil, nil, 221, 37,
848
+ 43, 17, 19, 21, 23, 26, 28, 29, 30, 33,
849
+ 36, 42, 15, 41, nil, nil, nil, nil, nil, nil,
850
+ nil, nil, 219, nil, nil, nil, nil, nil, nil, nil,
851
+ nil, nil, nil, nil, 37, 43, 17, 19, 21, 23,
852
+ 26, 28, 29, 30, 33, 36, 42, 15, 41, 18,
853
+ nil, nil, 24, nil, nil, nil, nil, nil, 38, 44,
854
+ nil, nil, 41, nil, nil, nil, nil, nil, nil, 37,
855
+ 43, 17, 19, 21, 23, 26, 28, 29, 30, 33,
856
+ 36, 42, 15, 37, 43, 17, 19, 21, 23, 26,
857
+ 28, 29, 30, 33, 36, 42, 15, 41, 18, nil,
858
+ nil, 24, nil, nil, nil, nil, 178, 38, 44, nil,
859
+ nil, nil, nil, nil, nil, nil, nil, nil, 37, 43,
860
+ 17, 19, 21, 23, 26, 28, 29, 30, 33, 36,
861
+ 42, 15 ]
859
862
 
860
863
  racc_action_check = [
861
- 90, 90, 90, 204, 103, 90, 90, 192, 113, 119,
862
- 213, 165, 162, 18, 18, 165, 119, 28, 204, 103,
863
- 90, 90, 90, 90, 90, 90, 192, 64, 90, 213,
864
- 24, 24, 90, 90, 90, 90, 24, 128, 128, 90,
865
- 90, 45, 90, 18, 102, 90, 90, 90, 90, 90,
866
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 171,
867
- 171, 171, 113, 113, 171, 171, 162, 162, 186, 24,
868
- 176, 132, 186, 24, 102, 128, 128, 202, 102, 171,
869
- 171, 171, 171, 171, 171, 150, 17, 171, 31, 176,
870
- 132, 171, 202, 171, 171, 17, 120, 178, 171, 171,
871
- 120, 171, 179, 117, 171, 171, 171, 171, 171, 171,
872
- 171, 171, 171, 171, 171, 171, 171, 171, 106, 106,
873
- 106, 51, 136, 106, 106, 179, 117, 136, 199, 199,
874
- 156, 157, 179, 117, 156, 157, 179, 30, 106, 106,
875
- 106, 106, 106, 106, 51, 180, 106, 182, 210, 151,
876
- 106, 51, 106, 106, 27, 210, 149, 106, 106, 210,
877
- 106, 200, 200, 106, 106, 106, 106, 106, 106, 106,
878
- 106, 106, 106, 106, 106, 106, 106, 34, 34, 34,
879
- 50, 50, 34, 34, 50, 68, 68, 147, 194, 68,
880
- 50, 50, 130, 130, 130, 68, 68, 34, 34, 34,
881
- 34, 34, 34, 195, 196, 34, 8, 8, 8, 34,
882
- 104, 34, 34, 135, 209, 146, 34, 34, 160, 34,
883
- 164, 127, 34, 34, 34, 34, 34, 34, 34, 34,
884
- 34, 34, 34, 34, 34, 34, 209, 209, 0, 0,
885
- 0, 0, 0, 87, 209, 209, 87, 4, 209, 154,
886
- 2, 215, 87, 87, 10, 10, 10, 209, 209, 209,
887
- 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
888
- 209, 154, 88, 33, nil, 88, 15, 15, 15, 154,
889
- 154, 88, 88, 154, 148, 148, 148, 148, 148, 148,
890
- nil, nil, 154, 154, 154, 154, 154, 154, 154, 154,
891
- 154, 154, 154, 154, 154, 154, 40, 40, 40, nil,
892
- 220, 40, 40, 220, 73, 73, 73, nil, nil, 220,
893
- 220, 131, 131, 131, nil, nil, 40, 40, 40, 40,
894
- nil, 40, nil, nil, 40, nil, nil, nil, 40, nil,
895
- 40, 40, nil, nil, nil, 40, 40, nil, 40, 166,
896
- 166, 166, nil, nil, 166, 166, 65, 65, 65, 65,
897
- 65, 65, 65, 65, 65, nil, nil, nil, nil, 166,
898
- 166, 166, 166, nil, 166, nil, nil, 166, nil, nil,
899
- nil, 166, nil, 166, 166, nil, 166, nil, 166, 166,
900
- nil, 166, 20, 20, 20, nil, nil, 20, 20, 26,
901
- 26, 26, 26, 26, 26, nil, nil, nil, nil, nil,
902
- nil, nil, 20, 20, 20, 20, nil, 20, nil, nil,
903
- 20, nil, nil, nil, 20, nil, 20, 20, nil, nil,
904
- nil, 20, 20, nil, 20, 22, 22, 22, nil, nil,
905
- 22, 22, nil, nil, nil, nil, nil, nil, nil, nil,
906
- nil, nil, nil, nil, nil, 22, 22, 22, 22, nil,
907
- 22, nil, nil, 22, nil, nil, nil, 22, nil, 22,
908
- 22, nil, nil, nil, 22, 22, nil, 22, 23, 23,
909
- 23, nil, nil, 23, 23, nil, nil, nil, nil, nil,
910
- nil, nil, nil, nil, nil, nil, nil, nil, 23, 23,
911
- 23, 23, nil, 23, nil, nil, 23, nil, nil, nil,
912
- 23, nil, 23, 23, nil, nil, nil, 23, 23, nil,
913
- 23, 13, 13, 13, nil, nil, 13, 13, nil, nil,
864
+ 103, 103, 103, 211, 212, 103, 103, 170, 77, 82,
865
+ 138, 49, 123, 50, 50, 166, 82, 211, 212, 49,
866
+ 103, 103, 103, 103, 103, 170, 118, 103, 138, 55,
867
+ 55, 103, 103, 103, 103, 55, 136, 136, 103, 103,
868
+ 118, 103, 50, 117, 103, 103, 103, 103, 103, 103,
869
+ 103, 103, 103, 103, 103, 103, 103, 103, 183, 183,
870
+ 183, 77, 77, 183, 183, 123, 123, 55, 216, 188,
871
+ 142, 55, 117, 136, 136, 142, 117, 202, 183, 183,
872
+ 183, 183, 183, 174, 202, 183, 216, 188, 202, 183,
873
+ 163, 183, 183, 175, 163, 177, 183, 183, 172, 183,
874
+ 173, 80, 183, 183, 183, 183, 183, 183, 183, 183,
875
+ 183, 183, 183, 183, 183, 183, 64, 64, 64, 16,
876
+ 172, 64, 64, 80, 15, 15, 157, 172, 15, 162,
877
+ 80, 172, 156, 162, 15, 15, 64, 64, 64, 64,
878
+ 64, 16, 206, 64, 155, 206, 153, 64, 16, 64,
879
+ 64, 206, 206, 152, 64, 64, 141, 64, 207, 207,
880
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
881
+ 64, 64, 64, 64, 121, 121, 121, 35, 35, 121,
882
+ 121, 35, 102, 208, 208, 102, 190, 35, 35, 191,
883
+ 101, 102, 102, 101, 121, 121, 121, 121, 121, 101,
884
+ 101, 121, 83, 133, 126, 121, 83, 121, 121, 119,
885
+ 195, 201, 121, 121, 195, 121, 63, 62, 121, 121,
886
+ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
887
+ 121, 121, 201, 201, 56, 56, 56, 56, 56, 56,
888
+ 201, 201, 61, 59, 201, 57, 160, 154, 154, 154,
889
+ 154, 154, 154, 201, 201, 201, 201, 201, 201, 201,
890
+ 201, 201, 201, 201, 201, 201, 201, 160, 127, 46,
891
+ 46, 46, 127, 31, 14, 160, 160, 3, 1, 160,
892
+ 0, 0, 0, 0, 0, 47, 47, 47, 160, 160,
893
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
894
+ 160, 160, 54, 54, 54, 218, nil, 54, 54, 32,
895
+ 32, 32, 32, 32, 32, 32, 32, 32, 7, 7,
896
+ 7, nil, 54, 54, 54, nil, 54, nil, nil, 54,
897
+ 135, 135, 135, 54, nil, 54, 54, 9, 9, 9,
898
+ 54, 54, nil, 54, 165, 165, 165, nil, nil, 165,
899
+ 165, 134, 134, 134, nil, nil, nil, nil, nil, nil,
900
+ nil, nil, nil, nil, 165, 165, 165, nil, 165, nil,
901
+ nil, 165, nil, nil, nil, 165, nil, 165, 165, nil,
902
+ nil, nil, 165, 165, nil, 165, 12, 12, 12, nil,
903
+ nil, 12, 12, nil, nil, nil, nil, nil, nil, nil,
904
+ nil, nil, nil, nil, nil, nil, 12, 12, 12, nil,
905
+ 12, nil, nil, 12, nil, nil, nil, 12, nil, 12,
906
+ 12, nil, nil, nil, 12, 12, nil, 12, 108, 108,
907
+ 108, nil, nil, 108, 108, nil, nil, nil, nil, nil,
908
+ nil, nil, nil, nil, nil, nil, nil, nil, 108, 108,
909
+ 108, nil, 108, nil, nil, 108, nil, nil, nil, 108,
910
+ nil, 108, 108, nil, nil, nil, 108, 108, nil, 108,
911
+ 193, 193, 193, nil, nil, 193, 193, nil, nil, nil,
912
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
913
+ 193, 193, 193, nil, 193, nil, nil, 193, nil, nil,
914
+ nil, 193, nil, 193, 193, nil, 193, nil, 193, 193,
915
+ nil, 193, 158, 158, 158, nil, nil, 158, 158, nil,
914
916
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
915
- nil, 13, 13, 13, 13, nil, 13, nil, nil, 13,
916
- nil, nil, nil, 13, nil, 13, 13, nil, nil, nil,
917
- 13, 13, nil, 13, 152, 152, 152, nil, nil, 152,
918
- 152, nil, nil, nil, nil, nil, nil, nil, nil, nil,
919
- nil, nil, nil, nil, 152, 152, 152, 152, nil, 152,
920
- nil, nil, 152, nil, nil, nil, 152, nil, 152, 152,
921
- nil, 152, nil, 152, 152, nil, 152, 95, 95, 95,
922
- nil, nil, 95, 95, nil, nil, nil, nil, nil, nil,
923
- nil, nil, nil, nil, nil, nil, nil, 95, 95, 95,
924
- 95, nil, 95, nil, nil, 95, nil, nil, nil, 95,
925
- nil, 95, 95, nil, nil, nil, 95, 95, nil, 95,
926
- 184, 184, 184, nil, nil, 184, 184, nil, nil, nil,
917
+ nil, nil, 158, 158, 158, nil, 158, nil, nil, 158,
918
+ nil, nil, nil, 158, nil, 158, 158, nil, 158, nil,
919
+ 158, 158, nil, 158, 181, 181, 181, nil, nil, 181,
920
+ 181, nil, nil, nil, nil, nil, nil, nil, nil, nil,
921
+ nil, nil, nil, nil, 181, 181, 181, nil, 181, nil,
922
+ nil, 181, nil, nil, nil, 181, nil, 181, 181, nil,
923
+ nil, nil, 181, 181, nil, 181, 107, 107, 107, nil,
924
+ nil, 107, 107, nil, nil, nil, nil, nil, nil, nil,
925
+ nil, nil, nil, nil, nil, nil, 107, 107, 107, nil,
926
+ 107, nil, nil, 107, nil, nil, nil, 107, nil, 107,
927
+ 107, nil, nil, nil, 107, 107, nil, 107, 180, 180,
928
+ 180, nil, nil, 180, 180, nil, nil, nil, nil, nil,
929
+ nil, nil, nil, nil, nil, nil, nil, nil, 180, 180,
930
+ 180, nil, 180, nil, nil, 180, nil, nil, nil, 180,
931
+ nil, 180, 180, nil, nil, nil, 180, 180, nil, 180,
932
+ 114, 114, 114, nil, nil, 114, 114, nil, nil, nil,
927
933
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
928
- 184, 184, 184, 184, nil, 184, nil, nil, 184, nil,
929
- nil, nil, 184, nil, 184, 184, nil, 184, nil, 184,
930
- 184, nil, 184, 94, 94, 94, nil, nil, 94, 94,
934
+ 114, 114, 114, nil, 114, nil, nil, 114, nil, nil,
935
+ nil, 114, nil, 114, 114, nil, nil, nil, 114, 114,
936
+ nil, 114, 53, 53, 53, nil, nil, 53, 53, nil,
931
937
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
932
- nil, nil, nil, 94, 94, 94, 94, nil, 94, nil,
933
- nil, 94, nil, nil, nil, 94, nil, 94, 94, nil,
934
- nil, nil, 94, 94, nil, 94, 96, 96, 96, nil,
935
- nil, 96, 96, nil, nil, nil, nil, nil, nil, nil,
936
- nil, nil, nil, nil, nil, nil, 96, 96, 96, 96,
937
- nil, 96, nil, nil, 96, nil, nil, nil, 96, nil,
938
- 96, 96, nil, nil, nil, 96, 96, nil, 96, 175,
939
- 175, 175, nil, nil, 175, 175, nil, nil, nil, nil,
940
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 175,
941
- 175, 175, 175, nil, 175, nil, nil, 175, nil, nil,
942
- nil, 175, nil, 175, 175, nil, nil, nil, 175, 175,
943
- nil, 175, 99, 99, 99, nil, nil, 99, 99, nil,
938
+ nil, nil, 53, 53, 53, nil, 53, nil, nil, 53,
939
+ nil, nil, nil, 53, nil, 53, 53, nil, nil, nil,
940
+ 53, 53, nil, 53, 116, 116, 116, nil, nil, 116,
941
+ 116, nil, nil, nil, nil, nil, nil, nil, nil, nil,
942
+ nil, nil, nil, nil, 116, 116, 116, nil, 116, nil,
943
+ nil, 116, nil, nil, nil, 116, nil, 116, 116, nil,
944
+ nil, nil, 116, 116, nil, 116, 48, 48, 48, nil,
945
+ nil, 48, 48, nil, nil, nil, nil, nil, nil, nil,
946
+ nil, nil, nil, nil, nil, nil, 48, 48, 48, nil,
947
+ 48, nil, nil, 48, nil, nil, nil, 48, nil, 48,
948
+ 48, nil, nil, nil, 48, 48, nil, 48, 185, 185,
949
+ 185, nil, nil, 185, 185, nil, nil, nil, nil, nil,
950
+ nil, nil, nil, nil, nil, nil, nil, nil, 185, 185,
951
+ 185, nil, 185, nil, nil, 185, nil, nil, nil, 185,
952
+ nil, 185, 185, nil, nil, nil, 185, 185, nil, 185,
953
+ 186, 186, 186, nil, nil, 186, 186, nil, nil, nil,
944
954
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
945
- nil, nil, 99, 99, 99, 99, nil, 99, nil, nil,
946
- 99, nil, nil, nil, 99, nil, 99, 99, nil, nil,
947
- nil, 99, 99, nil, 99, 37, 37, 37, nil, nil,
948
- 37, 37, nil, nil, nil, nil, nil, nil, nil, nil,
949
- nil, nil, nil, nil, nil, 37, 37, 37, 37, nil,
950
- 37, nil, nil, 37, nil, nil, nil, 37, nil, 37,
951
- 37, nil, nil, nil, 37, 37, nil, 37, 98, 98,
952
- 98, nil, nil, 98, 98, nil, nil, nil, nil, nil,
953
- nil, nil, nil, nil, nil, nil, nil, nil, 98, 98,
954
- 98, 98, nil, 98, nil, nil, 98, nil, nil, nil,
955
- 98, nil, 98, 98, nil, nil, nil, 98, 98, nil,
956
- 98, 174, 174, 174, nil, nil, 174, 174, nil, nil,
955
+ 186, 186, 186, nil, 186, nil, nil, 186, nil, nil,
956
+ nil, 186, nil, 186, 186, nil, nil, nil, 186, 186,
957
+ nil, 186, 96, 96, 96, nil, nil, 96, 96, nil,
957
958
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
958
- nil, 174, 174, 174, 174, nil, 174, nil, nil, 174,
959
- nil, nil, nil, 174, nil, 174, 174, nil, nil, nil,
960
- 174, 174, nil, 174, 93, 93, 93, nil, nil, 93,
961
- 93, nil, nil, nil, nil, nil, nil, nil, nil, nil,
962
- nil, nil, nil, nil, 93, 93, 93, 93, nil, 93,
963
- nil, nil, 93, nil, nil, nil, 93, nil, 93, 93,
964
- nil, nil, nil, 93, 93, nil, 93, 91, 91, 91,
965
- nil, nil, 91, 91, nil, nil, nil, nil, nil, nil,
966
- nil, nil, nil, nil, nil, nil, nil, 91, 91, 91,
967
- 91, nil, 91, nil, nil, 91, nil, nil, nil, 91,
968
- nil, 91, 91, nil, nil, nil, 91, 91, nil, 91,
969
- 168, 168, 168, nil, nil, 168, 168, nil, nil, nil,
959
+ nil, nil, 96, 96, 96, nil, 96, nil, nil, 96,
960
+ nil, nil, nil, 96, nil, 96, 96, nil, nil, nil,
961
+ 96, 96, nil, 96, 113, 113, 113, nil, nil, 113,
962
+ 113, nil, nil, nil, nil, nil, nil, nil, nil, nil,
963
+ nil, nil, nil, nil, 113, 113, 113, nil, 113, nil,
964
+ nil, 113, nil, nil, nil, 113, nil, 113, 113, nil,
965
+ nil, nil, 113, 113, nil, 113, 100, 100, 100, nil,
966
+ nil, 100, 100, nil, nil, nil, nil, nil, nil, nil,
967
+ nil, nil, nil, nil, nil, nil, 100, 100, 100, nil,
968
+ 100, nil, nil, 100, nil, nil, nil, 100, nil, 100,
969
+ 100, nil, nil, nil, 100, 100, nil, 100, 97, 97,
970
+ 97, nil, nil, 97, 97, nil, nil, nil, nil, nil,
971
+ nil, nil, nil, nil, nil, nil, nil, nil, 97, 97,
972
+ 97, nil, 97, nil, nil, 97, nil, nil, nil, 97,
973
+ nil, 97, 97, nil, nil, nil, 97, 97, nil, 97,
974
+ 105, 105, 105, nil, nil, 105, 105, nil, nil, nil,
970
975
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
971
- 168, 168, 168, 168, nil, 168, nil, nil, 168, nil,
972
- nil, nil, 168, nil, 168, 168, nil, nil, nil, 168,
973
- 168, nil, 168, 173, 173, 173, nil, nil, 173, 173,
976
+ 105, 105, 105, nil, 105, nil, nil, 105, nil, nil,
977
+ nil, 105, nil, 105, 105, nil, nil, nil, 105, 105,
978
+ nil, 105, 106, 106, 106, nil, nil, 106, 106, nil,
974
979
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
975
- nil, nil, nil, 173, 173, 173, 173, nil, 173, nil,
976
- nil, 173, nil, nil, nil, 173, nil, 173, 173, nil,
977
- nil, nil, 173, 173, nil, 173, 1, 1, 1, nil,
978
- nil, 1, 1, nil, nil, nil, nil, nil, nil, nil,
979
- nil, nil, nil, nil, nil, nil, 1, 1, 1, 1,
980
- nil, 1, nil, nil, 1, nil, nil, nil, 1, nil,
981
- 1, 1, nil, nil, nil, 1, 1, nil, 1, 92,
982
- 92, 92, nil, nil, 92, 92, nil, nil, nil, nil,
983
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 92,
984
- 92, 92, 92, nil, 92, nil, nil, 92, nil, nil,
985
- nil, 92, nil, 92, 92, nil, nil, nil, 92, 92,
986
- nil, 92, 169, 169, 169, nil, nil, 169, 169, nil,
980
+ nil, nil, 106, 106, 106, nil, 106, nil, nil, 106,
981
+ nil, nil, nil, 106, nil, 106, 106, nil, nil, nil,
982
+ 106, 106, nil, 106, 69, 69, 69, nil, nil, 69,
983
+ 69, nil, nil, nil, nil, nil, nil, nil, nil, nil,
984
+ nil, nil, nil, nil, 69, 69, 69, nil, 69, nil,
985
+ nil, 69, nil, nil, nil, 69, nil, 69, 69, nil,
986
+ nil, nil, 69, 69, nil, 69, 72, 72, 72, nil,
987
+ nil, 72, 72, nil, nil, nil, nil, nil, nil, nil,
988
+ nil, nil, nil, nil, nil, nil, 72, 72, 72, nil,
989
+ 72, nil, nil, 72, nil, nil, nil, 72, nil, 72,
990
+ 72, nil, nil, nil, 72, 72, nil, 72, 128, 128,
991
+ 128, nil, nil, 128, 128, nil, nil, nil, nil, nil,
992
+ nil, nil, nil, nil, nil, nil, nil, nil, 128, 128,
993
+ 128, nil, 128, nil, nil, 128, nil, nil, nil, 128,
994
+ nil, 128, 128, nil, 128, nil, 128, 128, nil, 128,
995
+ 110, 110, 110, nil, nil, 110, 110, nil, nil, nil,
987
996
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
988
- nil, nil, 169, 169, 169, 169, nil, 169, nil, nil,
989
- 169, nil, nil, nil, 169, nil, 169, 169, nil, nil,
990
- nil, 169, 169, nil, 169, 75, 75, 75, nil, nil,
991
- 75, 75, nil, nil, nil, nil, nil, nil, nil, nil,
992
- nil, nil, nil, nil, nil, 75, 75, 75, 75, nil,
993
- 75, nil, nil, 75, nil, nil, nil, 75, nil, 75,
994
- 75, nil, nil, nil, 75, 75, nil, 75, 76, 76,
995
- 76, nil, nil, 76, 76, nil, nil, nil, nil, nil,
996
- nil, nil, nil, nil, nil, nil, nil, nil, 76, 76,
997
- 76, 76, nil, 76, nil, nil, 76, nil, nil, nil,
998
- 76, nil, 76, 76, nil, nil, nil, 76, 76, nil,
999
- 76, 77, 77, 77, nil, nil, 77, 77, nil, nil,
997
+ 110, 110, 110, nil, 110, nil, nil, 110, nil, nil,
998
+ nil, 110, nil, 110, 110, nil, nil, nil, 110, 110,
999
+ nil, 110, 187, 187, 187, nil, nil, 187, 187, nil,
1000
1000
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1001
- nil, 77, 77, 77, 77, nil, 77, nil, nil, 77,
1002
- nil, nil, nil, 77, nil, 77, 77, nil, nil, nil,
1003
- 77, 77, nil, 77, 79, 79, 79, nil, nil, 79,
1004
- 79, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1005
- nil, nil, nil, nil, 79, 79, 79, 79, nil, 79,
1006
- nil, nil, 79, nil, nil, nil, 79, nil, 79, 79,
1007
- nil, nil, nil, 79, 79, nil, 79, 80, 80, 80,
1008
- nil, nil, 80, 80, nil, nil, nil, nil, nil, nil,
1009
- nil, nil, nil, nil, nil, nil, nil, 80, 80, 80,
1010
- 80, nil, 80, nil, nil, 80, nil, nil, nil, 80,
1011
- nil, 80, 80, nil, nil, nil, 80, 80, nil, 80,
1012
- 81, 81, 81, nil, nil, 81, 81, nil, nil, nil,
1001
+ nil, nil, 187, 187, 187, nil, 187, nil, nil, 187,
1002
+ nil, nil, nil, 187, nil, 187, 187, nil, nil, nil,
1003
+ 187, 187, nil, 187, 109, 109, 109, nil, nil, 109,
1004
+ 109, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1005
+ nil, nil, nil, nil, 109, 109, 109, nil, 109, nil,
1006
+ nil, 109, nil, nil, nil, 109, nil, 109, 109, nil,
1007
+ nil, nil, 109, 109, nil, 109, 89, 89, 89, nil,
1008
+ nil, 89, 89, nil, nil, nil, nil, nil, nil, nil,
1009
+ nil, nil, nil, nil, nil, nil, 89, 89, 89, nil,
1010
+ 89, nil, nil, 89, nil, nil, nil, 89, nil, 89,
1011
+ 89, nil, nil, nil, 89, 89, nil, 89, 90, 90,
1012
+ 90, nil, nil, 90, 90, nil, nil, nil, nil, nil,
1013
+ nil, nil, nil, nil, nil, nil, nil, nil, 90, 90,
1014
+ 90, nil, 90, nil, nil, 90, nil, nil, nil, 90,
1015
+ nil, 90, 90, nil, nil, nil, 90, 90, nil, 90,
1016
+ 91, 91, 91, nil, nil, 91, 91, nil, nil, nil,
1013
1017
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1014
- 81, 81, 81, 81, nil, 81, nil, nil, 81, nil,
1015
- nil, nil, 81, nil, 81, 81, nil, nil, nil, 81,
1016
- 81, nil, 81, 82, 82, 82, nil, nil, 82, 82,
1018
+ 91, 91, 91, nil, 91, nil, nil, 91, nil, nil,
1019
+ nil, 91, nil, 91, 91, nil, nil, nil, 91, 91,
1020
+ nil, 91, 94, 94, 94, nil, nil, 94, 94, nil,
1017
1021
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1018
- nil, nil, nil, 82, 82, 82, 82, nil, 82, nil,
1019
- nil, 82, nil, nil, nil, 82, nil, 82, 82, nil,
1020
- nil, nil, 82, 82, nil, 82, 86, 86, 86, nil,
1021
- nil, 86, 86, nil, nil, nil, nil, nil, nil, nil,
1022
- nil, nil, nil, nil, nil, nil, 86, 86, 86, 86,
1023
- nil, 86, nil, nil, 86, nil, nil, nil, 86, nil,
1024
- 86, 86, nil, nil, nil, 86, 86, nil, 86, 101,
1025
- 101, 101, nil, nil, 101, 101, nil, nil, nil, nil,
1026
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 101,
1027
- 101, 101, 101, nil, 101, nil, nil, 101, nil, nil,
1028
- nil, 101, nil, 101, 101, nil, nil, nil, 101, 101,
1029
- nil, 101, 159, 159, 159, nil, nil, 159, 159, nil,
1022
+ nil, nil, 94, 94, 94, nil, 94, nil, nil, 94,
1023
+ nil, nil, nil, 94, nil, 94, 94, nil, nil, nil,
1024
+ 94, 94, nil, 94, 95, 95, 95, nil, nil, 95,
1025
+ 95, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1026
+ nil, nil, nil, nil, 95, 95, 95, nil, 95, nil,
1027
+ nil, 95, nil, nil, nil, 95, nil, 95, 95, nil,
1028
+ nil, nil, 95, 95, nil, 95, 58, 58, 58, nil,
1029
+ nil, 58, 58, nil, nil, nil, nil, nil, nil, nil,
1030
+ nil, nil, nil, nil, nil, nil, 58, 58, 58, 115,
1031
+ 58, nil, nil, 58, nil, nil, nil, 58, nil, 58,
1032
+ 58, nil, nil, 40, 58, 58, nil, 58, nil, nil,
1033
+ 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
1034
+ 115, 115, 115, 115, 40, 40, 40, 40, 40, 40,
1035
+ 40, 40, 40, 40, 40, 40, 40, 40, 205, nil,
1030
1036
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1031
- nil, nil, 159, 159, 159, 159, 46, 159, nil, nil,
1032
- 159, nil, nil, nil, 159, nil, 159, 159, nil, nil,
1033
- 100, 159, 159, nil, 159, nil, nil, 46, 46, 46,
1034
- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
1035
- 46, 100, 100, 100, 100, 100, 100, 100, 100, 100,
1036
- 100, 100, 100, 100, 100, 185, nil, nil, nil, nil,
1037
- nil, nil, nil, nil, 185, nil, nil, nil, nil, nil,
1038
- nil, nil, nil, nil, nil, nil, 185, 185, 185, 185,
1039
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
1040
- 5, 5, nil, nil, 5, nil, nil, nil, nil, nil,
1041
- 5, 5, nil, nil, nil, 211, nil, nil, nil, nil,
1042
- nil, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1043
- 5, 5, 5, 5, 5, 211, 211, 211, 211, 211,
1044
- 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
1045
- 167, 167, nil, nil, 167, nil, nil, nil, nil, 167,
1046
- 167, 167, nil, nil, 97, nil, nil, nil, nil, nil,
1047
- nil, 167, 167, 167, 167, 167, 167, 167, 167, 167,
1048
- 167, 167, 167, 167, 167, 97, 97, 97, 97, 97,
1049
- 97, 97, 97, 97, 97, 97, 97, 97, 97 ]
1037
+ nil, nil, nil, nil, nil, nil, nil, nil, 205, 205,
1038
+ 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
1039
+ 205, 205, 205, 194, nil, nil, nil, nil, nil, nil,
1040
+ nil, nil, 194, nil, nil, nil, nil, nil, nil, nil,
1041
+ nil, nil, nil, nil, 194, 194, 194, 194, 194, 194,
1042
+ 194, 194, 194, 194, 194, 194, 194, 194, 4, 4,
1043
+ nil, nil, 4, nil, nil, nil, nil, nil, 4, 4,
1044
+ nil, nil, 111, nil, nil, nil, nil, nil, nil, 4,
1045
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1046
+ 4, 4, 4, 111, 111, 111, 111, 111, 111, 111,
1047
+ 111, 111, 111, 111, 111, 111, 111, 129, 129, nil,
1048
+ nil, 129, nil, nil, nil, nil, 129, 129, 129, nil,
1049
+ nil, nil, nil, nil, nil, nil, nil, nil, 129, 129,
1050
+ 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
1051
+ 129, 129 ]
1050
1052
 
1051
1053
  racc_action_pointer = [
1052
- 202, 1157, 215, nil, 247, 1757, nil, nil, 168, nil,
1053
- 216, nil, nil, 512, nil, 265, nil, 59, -1, nil,
1054
- 383, nil, 426, 469, 28, nil, 381, 113, -7, nil,
1055
- 112, 47, nil, 247, 168, nil, nil, 856, nil, nil,
1056
- 297, nil, nil, nil, nil, 41, 1673, nil, nil, nil,
1057
- 147, 110, nil, nil, nil, nil, nil, nil, nil, nil,
1058
- nil, nil, nil, nil, -9, 302, nil, nil, 152, nil,
1059
- nil, nil, nil, 276, nil, 1286, 1329, 1372, nil, 1415,
1060
- 1458, 1501, 1544, nil, nil, nil, 1587, 209, 238, nil,
1061
- -9, 1028, 1200, 985, 684, 598, 727, 1821, 899, 813,
1062
- 1687, 1630, 33, -23, 168, nil, 109, nil, nil, nil,
1063
- nil, nil, nil, -3, nil, nil, nil, 92, nil, -25,
1064
- 55, nil, nil, nil, nil, nil, nil, 195, 23, nil,
1065
- 181, 310, 44, nil, nil, 186, 80, nil, nil, nil,
1066
- nil, nil, nil, nil, nil, nil, 165, 143, 266, 132,
1067
- 35, 124, 555, nil, 238, nil, 89, 90, nil, 1673,
1068
- 176, nil, 1, nil, 178, -30, 340, 1807, 1071, 1243,
1069
- nil, 50, nil, 1114, 942, 770, 43, nil, 55, 91,
1070
- 98, nil, 105, nil, 641, 1722, 27, nil, nil, nil,
1071
- nil, nil, -20, nil, 146, 161, 157, nil, nil, 114,
1072
- 147, nil, 50, nil, -24, nil, nil, nil, nil, 203,
1073
- 114, 1772, nil, -17, nil, 209, nil, nil, nil, nil,
1074
- 276, nil, nil, nil, nil, nil, nil, nil ]
1054
+ 245, 244, nil, 277, 1756, nil, nil, 281, nil, 300,
1055
+ nil, nil, 377, nil, 274, 92, 108, nil, nil, nil,
1056
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1057
+ nil, 238, 256, nil, nil, 145, nil, nil, nil, nil,
1058
+ 1651, nil, nil, nil, nil, nil, 232, 274, 797, -16,
1059
+ -1, nil, nil, 713, 293, 27, 216, 205, 1637, 219,
1060
+ nil, 217, 177, 190, 107, nil, nil, nil, nil, 1175,
1061
+ nil, nil, 1217, nil, nil, nil, nil, -3, nil, nil,
1062
+ 90, nil, -24, 162, nil, nil, nil, nil, nil, 1427,
1063
+ 1469, 1511, nil, nil, 1553, 1595, 923, 1049, nil, nil,
1064
+ 1007, 157, 149, -9, nil, 1091, 1133, 587, 419, 1385,
1065
+ 1301, 1770, nil, 965, 671, 1637, 755, 32, -1, 168,
1066
+ nil, 165, nil, 1, nil, nil, 163, 228, 1259, 1805,
1067
+ nil, nil, nil, 177, 340, 319, 22, nil, -17, nil,
1068
+ nil, 129, 29, nil, nil, nil, nil, nil, nil, nil,
1069
+ nil, nil, 110, 97, 229, 120, 83, 101, 503, nil,
1070
+ 235, nil, 89, 50, nil, 335, -26, nil, nil, nil,
1071
+ -20, nil, 87, 59, 42, 47, nil, 49, nil, nil,
1072
+ 629, 545, nil, 49, nil, 839, 881, 1343, 42, nil,
1073
+ 145, 148, nil, 461, 1721, 170, nil, nil, nil, nil,
1074
+ nil, 200, 44, nil, nil, 1686, 109, 144, 169, nil,
1075
+ nil, -24, -23, nil, nil, nil, 41, nil, 264, nil,
1076
+ nil, nil, nil, nil, nil, nil, nil ]
1075
1077
 
1076
1078
  racc_action_default = [
1077
- -145, -145, -145, -4, -145, -145, -1, -12, -2, -13,
1078
- -145, -14, -5, -145, -24, -53, -21, -145, -56, -58,
1079
- -145, -25, -145, -145, -31, -23, -65, -145, -67, -37,
1080
- -69, -145, -16, -71, -145, -18, -47, -145, -17, -49,
1081
- -145, -22, -19, -15, -11, -145, -145, -96, -88, -77,
1082
- -145, -90, -78, -79, -93, -80, -100, -81, -94, -82,
1083
- -95, -83, -84, -85, -145, -91, -86, -8, -145, -87,
1084
- -76, -9, -6, -3, -39, -145, -145, -145, -10, -145,
1085
- -145, -145, -145, -40, -41, -38, -145, -145, -145, -32,
1086
- -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
1087
- -145, -145, -130, -145, -145, -42, -145, -43, 228, -101,
1088
- -98, -113, -97, -115, -106, -105, -89, -145, -102, -145,
1089
- -104, -7, -92, -99, -50, -51, -52, -72, -145, -57,
1090
- -54, -55, -145, -29, -30, -35, -145, -33, -36, -28,
1091
- -63, -64, -59, -61, -60, -62, -145, -145, -66, -68,
1092
- -145, -70, -145, -131, -145, -132, -134, -133, -20, -145,
1093
- -145, -118, -114, -117, -145, -103, -145, -145, -145, -145,
1094
- -26, -145, -27, -145, -145, -145, -145, -137, -145, -126,
1095
- -120, -122, -145, -141, -145, -145, -135, -48, -44, -119,
1096
- -116, -107, -145, -109, -145, -145, -127, -112, -128, -74,
1097
- -75, -34, -145, -73, -145, -138, -142, -124, -125, -145,
1098
- -133, -145, -136, -145, -139, -145, -143, -108, -110, -111,
1099
- -145, -45, -46, -123, -121, -140, -144, -129 ]
1079
+ -144, -144, -4, -144, -144, -1, -12, -2, -13, -144,
1080
+ -14, -5, -144, -11, -144, -144, -89, -77, -20, -78,
1081
+ -92, -79, -99, -80, -22, -93, -81, -94, -82, -83,
1082
+ -84, -144, -90, -85, -8, -144, -86, -75, -21, -9,
1083
+ -144, -95, -87, -76, -23, -6, -3, -52, -144, -144,
1084
+ -55, -57, -24, -144, -144, -30, -64, -144, -144, -66,
1085
+ -36, -68, -144, -70, -144, -16, -46, -17, -48, -144,
1086
+ -18, -15, -144, 227, -112, -96, -97, -114, -104, -88,
1087
+ -144, -101, -144, -103, -105, -7, -91, -98, -100, -144,
1088
+ -144, -144, -38, -10, -144, -144, -144, -144, -39, -37,
1089
+ -144, -144, -144, -144, -31, -144, -144, -144, -144, -144,
1090
+ -144, -144, -40, -144, -144, -144, -144, -129, -144, -144,
1091
+ -41, -144, -42, -113, -116, -117, -144, -102, -144, -144,
1092
+ -49, -50, -51, -71, -53, -54, -144, -56, -144, -28,
1093
+ -29, -34, -144, -32, -35, -27, -62, -63, -58, -60,
1094
+ -59, -61, -144, -144, -65, -67, -144, -69, -144, -130,
1095
+ -144, -131, -133, -132, -19, -144, -144, -115, -118, -106,
1096
+ -144, -108, -125, -144, -144, -119, -121, -126, -111, -127,
1097
+ -144, -144, -25, -144, -26, -144, -144, -144, -144, -136,
1098
+ -144, -144, -140, -144, -144, -134, -47, -43, -107, -123,
1099
+ -124, -144, -132, -109, -110, -144, -144, -73, -74, -33,
1100
+ -72, -144, -144, -137, -141, -135, -144, -138, -144, -142,
1101
+ -122, -120, -128, -44, -45, -139, -143 ]
1100
1102
 
1101
1103
  racc_goto_table = [
1102
- 71, 17, 51, 74, 116, 129, 164, 128, 157, 165,
1103
- 83, 137, 84, 85, 153, 72, 104, 182, 186, 163,
1104
- 161, 194, 111, 8, 148, 146, 151, 105, 150, 130,
1105
- 131, 102, 149, 73, 122, 127, 107, 136, 67, 215,
1106
- 123, 64, 195, 109, 162, 112, 140, 141, 142, 143,
1107
- 144, 145, 223, 10, 196, 6, 4, nil, nil, nil,
1108
- 157, nil, nil, 112, nil, 124, 125, 126, 190, 189,
1109
- nil, 186, 182, nil, nil, nil, nil, nil, nil, nil,
1110
- 72, nil, 133, 134, nil, 210, 132, 102, 160, nil,
1111
- 135, 208, 201, nil, 51, 199, 200, 51, 164, 203,
1112
- 165, 128, nil, 102, nil, nil, nil, nil, nil, nil,
1113
- nil, nil, nil, nil, nil, 210, nil, nil, nil, nil,
1104
+ 39, 49, 16, 79, 124, 126, 137, 127, 143, 173,
1105
+ 119, 75, 92, 159, 125, 191, 74, 98, 99, 136,
1106
+ 195, 7, 112, 153, 45, 134, 135, 156, 154, 157,
1107
+ 46, 75, 155, 120, 86, 133, 87, 122, 88, 142,
1108
+ 34, 31, 174, 123, 163, 220, 9, 177, 5, 3,
1109
+ 167, nil, nil, 130, 131, 132, 191, nil, nil, 195,
1110
+ 168, nil, 117, 45, nil, nil, nil, 166, 200, nil,
1111
+ nil, nil, nil, nil, 218, 146, 147, 148, 149, 150,
1112
+ 151, nil, nil, nil, nil, nil, nil, 163, 209, 138,
1113
+ nil, nil, 141, nil, 210, nil, nil, 139, 140, 202,
1114
+ nil, 117, 207, 208, nil, nil, nil, 136, nil, 16,
1115
+ nil, nil, nil, 16, nil, nil, nil, 170, nil, 117,
1116
+ nil, nil, nil, nil, nil, 179, 126, 127, 202, 196,
1114
1117
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1115
- nil, nil, 207, nil, nil, nil, nil, nil, nil, nil,
1116
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 187,
1117
- nil, nil, 176, nil, nil, nil, nil, nil, nil, nil,
1118
- nil, nil, 198, nil, nil, nil, 192, nil, 102, nil,
1119
- nil, 135, nil, 202, nil, 204, nil, nil, nil, nil,
1120
- nil, nil, nil, nil, 213, nil, nil, nil, nil, nil,
1118
+ nil, nil, nil, nil, nil, nil, nil, 188, nil, nil,
1119
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 199,
1121
1120
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1121
+ nil, nil, 141, nil, nil, 211, 212, nil, nil, nil,
1122
+ nil, 117, 216, nil, nil, nil, nil, nil, nil, nil,
1122
1123
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1123
- nil, nil, nil, nil, nil, 227 ]
1124
+ nil, nil, 222 ]
1124
1125
 
1125
1126
  racc_goto_check = [
1126
- 8, 10, 32, 19, 33, 24, 39, 22, 40, 41,
1127
- 19, 16, 19, 19, 48, 5, 17, 50, 51, 40,
1128
- 31, 43, 38, 3, 25, 20, 27, 19, 20, 21,
1129
- 21, 32, 26, 3, 34, 28, 18, 14, 7, 43,
1130
- 38, 6, 44, 32, 45, 8, 23, 23, 23, 23,
1131
- 23, 23, 47, 4, 49, 2, 1, nil, nil, nil,
1132
- 40, nil, nil, 8, nil, 19, 19, 19, 40, 31,
1133
- nil, 51, 50, nil, nil, nil, nil, nil, nil, nil,
1134
- 5, nil, 8, 8, nil, 40, 10, 32, 17, nil,
1135
- 10, 48, 16, nil, 32, 22, 22, 32, 39, 24,
1136
- 41, 22, nil, 32, nil, nil, nil, nil, nil, nil,
1137
- nil, nil, nil, nil, nil, 40, nil, nil, nil, nil,
1127
+ 8, 10, 32, 33, 40, 39, 24, 41, 16, 43,
1128
+ 17, 8, 19, 48, 31, 50, 38, 19, 19, 22,
1129
+ 51, 3, 19, 20, 5, 21, 21, 20, 25, 27,
1130
+ 3, 8, 26, 19, 34, 28, 38, 18, 32, 14,
1131
+ 7, 6, 44, 45, 40, 47, 4, 49, 2, 1,
1132
+ 40, nil, nil, 19, 19, 19, 50, nil, nil, 51,
1133
+ 31, nil, 32, 5, nil, nil, nil, 17, 48, nil,
1134
+ nil, nil, nil, nil, 43, 23, 23, 23, 23, 23,
1135
+ 23, nil, nil, nil, nil, nil, nil, 40, 16, 10,
1136
+ nil, nil, 10, nil, 24, nil, nil, 8, 8, 40,
1137
+ nil, 32, 22, 22, nil, nil, nil, 22, nil, 32,
1138
+ nil, nil, nil, 32, nil, nil, nil, 10, nil, 32,
1139
+ nil, nil, nil, nil, nil, 8, 39, 41, 40, 19,
1138
1140
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1139
- nil, nil, 33, nil, nil, nil, nil, nil, nil, nil,
1140
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 19,
1141
- nil, nil, 10, nil, nil, nil, nil, nil, nil, nil,
1142
- nil, nil, 8, nil, nil, nil, 10, nil, 32, nil,
1143
- nil, 10, nil, 10, nil, 10, nil, nil, nil, nil,
1144
- nil, nil, nil, nil, 10, nil, nil, nil, nil, nil,
1141
+ nil, nil, nil, nil, nil, nil, nil, 10, nil, nil,
1142
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 33,
1145
1143
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1144
+ nil, nil, 10, nil, nil, 10, 10, nil, nil, nil,
1145
+ nil, 32, 10, nil, nil, nil, nil, nil, nil, nil,
1146
1146
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1147
- nil, nil, nil, nil, nil, 8 ]
1147
+ nil, nil, 8 ]
1148
1148
 
1149
1149
  racc_goto_pointer = [
1150
- nil, 56, 55, 23, 53, 7, 36, 33, -5, nil,
1151
- 0, nil, nil, nil, -53, nil, -79, -18, -4, -10,
1152
- -72, -52, -73, -45, -75, -74, -67, -75, -44, nil,
1153
- nil, -93, -3, -47, -31, nil, nil, nil, -28, -111,
1154
- -94, -110, nil, -146, -125, -69, nil, -159, -88, -113,
1155
- -137, -139 ]
1150
+ nil, 49, 48, 21, 46, 17, 37, 36, -4, nil,
1151
+ -11, nil, nil, nil, -64, nil, -95, -54, -35, -36,
1152
+ -88, -70, -78, -30, -91, -85, -82, -87, -59, nil,
1153
+ nil, -63, -2, -13, 2, nil, nil, nil, 1, -75,
1154
+ -73, -75, nil, -120, -87, -34, nil, -160, -104, -82,
1155
+ -145, -143 ]
1156
1156
 
1157
1157
  racc_goto_default = [
1158
- nil, nil, nil, nil, nil, 12, nil, 147, 43, 1,
1159
- 103, 2, 21, 24, nil, 29, nil, 138, 36, 39,
1160
- nil, 15, 18, 19, nil, 26, 28, 30, 33, 65,
1161
- 68, 46, 179, nil, 54, 56, 58, 60, nil, 118,
1162
- 119, 120, 114, 178, nil, nil, 180, 181, nil, nil,
1163
- 155, 156 ]
1158
+ nil, nil, nil, nil, nil, 11, nil, 152, 71, 12,
1159
+ 118, 1, 52, 55, nil, 60, nil, 144, 66, 68,
1160
+ nil, 47, 50, 51, nil, 56, 59, 61, 63, 32,
1161
+ 35, 40, 172, nil, 20, 22, 25, 27, nil, 81,
1162
+ 82, 83, 84, 190, nil, nil, 175, 176, nil, nil,
1163
+ 161, 162 ]
1164
1164
 
1165
1165
  racc_token_table = {
1166
1166
  false => 0,
@@ -1192,49 +1192,48 @@ racc_token_table = {
1192
1192
  "xor" => 26,
1193
1193
  "implies" => 27,
1194
1194
  :POINTER => 28,
1195
- :INTEGER => 29,
1196
- :FLOATING => 30,
1197
- :CHARACTER => 31,
1198
- :STRING => 32,
1199
- :TYPEDEF_NAME => 33,
1200
- :IDENTIFIER => 34,
1201
- :LABEL => 35,
1202
- :END_OF_STATEMENT => 36,
1203
- "context" => 37,
1204
- "inv" => 38,
1205
- "pre" => 39,
1206
- "post" => 40,
1207
- "(" => 41,
1208
- ")" => 42,
1209
- "return" => 43,
1210
- "in" => 44,
1211
- "[" => 45,
1212
- "]" => 46,
1213
- "," => 47,
1214
- "&" => 48,
1215
- "forall" => 49,
1216
- "|" => 50,
1217
- "exists" => 51,
1218
- ".." => 52,
1219
- "..." => 53,
1220
- "void" => 54,
1221
- "char" => 55,
1222
- "short" => 56,
1223
- "int" => 57,
1224
- "long" => 58,
1225
- "float" => 59,
1226
- "double" => 60,
1227
- "signed" => 61,
1228
- "unsigned" => 62,
1229
- "struct" => 63,
1230
- "union" => 64,
1231
- "const" => 65,
1232
- "volatile" => 66,
1233
- "enum" => 67 }
1195
+ :CONSTANT => 29,
1196
+ :CHARACTER => 30,
1197
+ :STRING => 31,
1198
+ :TYPEDEF_NAME => 32,
1199
+ :IDENTIFIER => 33,
1200
+ :LABEL => 34,
1201
+ :END_OF_STATEMENT => 35,
1202
+ "context" => 36,
1203
+ "inv" => 37,
1204
+ "pre" => 38,
1205
+ "post" => 39,
1206
+ "(" => 40,
1207
+ ")" => 41,
1208
+ "return" => 42,
1209
+ "in" => 43,
1210
+ "[" => 44,
1211
+ "]" => 45,
1212
+ "," => 46,
1213
+ "&" => 47,
1214
+ "forall" => 48,
1215
+ "|" => 49,
1216
+ "exists" => 50,
1217
+ ".." => 51,
1218
+ "..." => 52,
1219
+ "void" => 53,
1220
+ "char" => 54,
1221
+ "short" => 55,
1222
+ "int" => 56,
1223
+ "long" => 57,
1224
+ "float" => 58,
1225
+ "double" => 59,
1226
+ "signed" => 60,
1227
+ "unsigned" => 61,
1228
+ "struct" => 62,
1229
+ "union" => 63,
1230
+ "const" => 64,
1231
+ "volatile" => 65,
1232
+ "enum" => 66 }
1234
1233
 
1235
1234
  racc_use_result_var = true
1236
1235
 
1237
- racc_nt_base = 68
1236
+ racc_nt_base = 67
1238
1237
 
1239
1238
  Racc_arg = [
1240
1239
  racc_action_table,
@@ -1282,8 +1281,7 @@ Racc_token_to_s_table = [
1282
1281
  '"xor"',
1283
1282
  '"implies"',
1284
1283
  'POINTER',
1285
- 'INTEGER',
1286
- 'FLOATING',
1284
+ 'CONSTANT',
1287
1285
  'CHARACTER',
1288
1286
  'STRING',
1289
1287
  'TYPEDEF_NAME',
@@ -1451,29 +1449,34 @@ module_eval <<'.,.,', 'src/ocl.y', 67
1451
1449
 
1452
1450
  # reduce 18 omitted
1453
1451
 
1454
- # reduce 19 omitted
1455
-
1456
- module_eval <<'.,.,', 'src/ocl.y', 82
1457
- def _reduce_20( val, _values, result )
1452
+ module_eval <<'.,.,', 'src/ocl.y', 81
1453
+ def _reduce_19( val, _values, result )
1458
1454
  result = Paren.new(val[1])
1459
1455
  result
1460
1456
  end
1461
1457
  .,.,
1462
1458
 
1463
- # reduce 21 omitted
1459
+ # reduce 20 omitted
1464
1460
 
1465
- module_eval <<'.,.,', 'src/ocl.y', 87
1466
- def _reduce_22( val, _values, result )
1461
+ module_eval <<'.,.,', 'src/ocl.y', 86
1462
+ def _reduce_21( val, _values, result )
1467
1463
  result = 'ocl__ret_val'
1468
1464
  result
1469
1465
  end
1470
1466
  .,.,
1471
1467
 
1468
+ # reduce 22 omitted
1469
+
1472
1470
  # reduce 23 omitted
1473
1471
 
1474
1472
  # reduce 24 omitted
1475
1473
 
1476
- # reduce 25 omitted
1474
+ module_eval <<'.,.,', 'src/ocl.y', 100
1475
+ def _reduce_25( val, _values, result )
1476
+ result = val[0,4].join
1477
+ result
1478
+ end
1479
+ .,.,
1477
1480
 
1478
1481
  module_eval <<'.,.,', 'src/ocl.y', 101
1479
1482
  def _reduce_26( val, _values, result )
@@ -1484,7 +1487,7 @@ module_eval <<'.,.,', 'src/ocl.y', 101
1484
1487
 
1485
1488
  module_eval <<'.,.,', 'src/ocl.y', 102
1486
1489
  def _reduce_27( val, _values, result )
1487
- result = val[0,4].join
1490
+ result = val[0,3].join
1488
1491
  result
1489
1492
  end
1490
1493
  .,.,
@@ -1503,111 +1506,111 @@ module_eval <<'.,.,', 'src/ocl.y', 104
1503
1506
  end
1504
1507
  .,.,
1505
1508
 
1506
- module_eval <<'.,.,', 'src/ocl.y', 105
1507
- def _reduce_30( val, _values, result )
1508
- result = val[0,3].join
1509
- result
1510
- end
1511
- .,.,
1512
-
1513
- # reduce 31 omitted
1509
+ # reduce 30 omitted
1514
1510
 
1515
- module_eval <<'.,.,', 'src/ocl.y', 110
1516
- def _reduce_32( val, _values, result )
1511
+ module_eval <<'.,.,', 'src/ocl.y', 109
1512
+ def _reduce_31( val, _values, result )
1517
1513
  result = add_old(val[0].to_s)
1518
1514
  result
1519
1515
  end
1520
1516
  .,.,
1521
1517
 
1522
- # reduce 33 omitted
1518
+ # reduce 32 omitted
1523
1519
 
1524
- module_eval <<'.,.,', 'src/ocl.y', 116
1525
- def _reduce_34( val, _values, result )
1520
+ module_eval <<'.,.,', 'src/ocl.y', 115
1521
+ def _reduce_33( val, _values, result )
1526
1522
  result = val[0,3].join(' ')
1527
1523
  result
1528
1524
  end
1529
1525
  .,.,
1530
1526
 
1527
+ # reduce 34 omitted
1528
+
1531
1529
  # reduce 35 omitted
1532
1530
 
1533
1531
  # reduce 36 omitted
1534
1532
 
1535
- # reduce 37 omitted
1533
+ module_eval <<'.,.,', 'src/ocl.y', 126
1534
+ def _reduce_37( val, _values, result )
1535
+ result = UAddrs.new(val[1])
1536
+ result
1537
+ end
1538
+ .,.,
1536
1539
 
1537
1540
  module_eval <<'.,.,', 'src/ocl.y', 127
1538
1541
  def _reduce_38( val, _values, result )
1539
- result = UAddrs.new(val[1])
1542
+ result = UDeref.new(val[1])
1540
1543
  result
1541
1544
  end
1542
1545
  .,.,
1543
1546
 
1544
1547
  module_eval <<'.,.,', 'src/ocl.y', 128
1545
1548
  def _reduce_39( val, _values, result )
1546
- result = UDeref.new(val[1])
1549
+ result = UPlus.new(val[1])
1547
1550
  result
1548
1551
  end
1549
1552
  .,.,
1550
1553
 
1551
1554
  module_eval <<'.,.,', 'src/ocl.y', 129
1552
1555
  def _reduce_40( val, _values, result )
1553
- result = UPlus.new(val[1])
1556
+ result = UMinus.new(val[1])
1554
1557
  result
1555
1558
  end
1556
1559
  .,.,
1557
1560
 
1558
1561
  module_eval <<'.,.,', 'src/ocl.y', 130
1559
1562
  def _reduce_41( val, _values, result )
1560
- result = UMinus.new(val[1])
1563
+ result = Not.new(val[1])
1561
1564
  result
1562
1565
  end
1563
1566
  .,.,
1564
1567
 
1565
1568
  module_eval <<'.,.,', 'src/ocl.y', 131
1566
1569
  def _reduce_42( val, _values, result )
1567
- result = Not.new(val[1])
1570
+ result = SizeOf.new(val[1])
1568
1571
  result
1569
1572
  end
1570
1573
  .,.,
1571
1574
 
1572
1575
  module_eval <<'.,.,', 'src/ocl.y', 132
1573
1576
  def _reduce_43( val, _values, result )
1574
- result = SizeOf.new(val[1])
1577
+ result = val[0,4].join
1575
1578
  result
1576
1579
  end
1577
1580
  .,.,
1578
1581
 
1579
- module_eval <<'.,.,', 'src/ocl.y', 133
1582
+ module_eval <<'.,.,', 'src/ocl.y', 134
1580
1583
  def _reduce_44( val, _values, result )
1581
- result = val[0,4].join
1584
+ result = Forall.new(val[2], val[4])
1582
1585
  result
1583
1586
  end
1584
1587
  .,.,
1585
1588
 
1586
- module_eval <<'.,.,', 'src/ocl.y', 135
1589
+ module_eval <<'.,.,', 'src/ocl.y', 136
1587
1590
  def _reduce_45( val, _values, result )
1588
- result = Forall.new(val[2], val[4])
1591
+ result = Exists.new(val[2], val[4])
1589
1592
  result
1590
1593
  end
1591
1594
  .,.,
1592
1595
 
1593
- module_eval <<'.,.,', 'src/ocl.y', 137
1594
- def _reduce_46( val, _values, result )
1595
- result = Exists.new(val[2], val[4])
1596
+ # reduce 46 omitted
1597
+
1598
+ module_eval <<'.,.,', 'src/ocl.y', 141
1599
+ def _reduce_47( val, _values, result )
1600
+ result = val[0,4].join(' ')
1596
1601
  result
1597
1602
  end
1598
1603
  .,.,
1599
1604
 
1600
- # reduce 47 omitted
1605
+ # reduce 48 omitted
1601
1606
 
1602
- module_eval <<'.,.,', 'src/ocl.y', 142
1603
- def _reduce_48( val, _values, result )
1604
- result = val[0,4].join(' ')
1607
+ module_eval <<'.,.,', 'src/ocl.y', 146
1608
+ def _reduce_49( val, _values, result )
1609
+ result = val[0,3].join(' ')
1605
1610
  result
1606
1611
  end
1607
1612
  .,.,
1608
1613
 
1609
- # reduce 49 omitted
1610
-
1611
1614
  module_eval <<'.,.,', 'src/ocl.y', 147
1612
1615
  def _reduce_50( val, _values, result )
1613
1616
  result = val[0,3].join(' ')
@@ -1622,15 +1625,15 @@ module_eval <<'.,.,', 'src/ocl.y', 148
1622
1625
  end
1623
1626
  .,.,
1624
1627
 
1625
- module_eval <<'.,.,', 'src/ocl.y', 149
1626
- def _reduce_52( val, _values, result )
1628
+ # reduce 52 omitted
1629
+
1630
+ module_eval <<'.,.,', 'src/ocl.y', 153
1631
+ def _reduce_53( val, _values, result )
1627
1632
  result = val[0,3].join(' ')
1628
1633
  result
1629
1634
  end
1630
1635
  .,.,
1631
1636
 
1632
- # reduce 53 omitted
1633
-
1634
1637
  module_eval <<'.,.,', 'src/ocl.y', 154
1635
1638
  def _reduce_54( val, _values, result )
1636
1639
  result = val[0,3].join(' ')
@@ -1638,24 +1641,24 @@ module_eval <<'.,.,', 'src/ocl.y', 154
1638
1641
  end
1639
1642
  .,.,
1640
1643
 
1641
- module_eval <<'.,.,', 'src/ocl.y', 155
1642
- def _reduce_55( val, _values, result )
1643
- result = val[0,3].join(' ')
1644
+ # reduce 55 omitted
1645
+
1646
+ module_eval <<'.,.,', 'src/ocl.y', 160
1647
+ def _reduce_56( val, _values, result )
1648
+ result = val[2].test_expression(val[0])
1644
1649
  result
1645
1650
  end
1646
1651
  .,.,
1647
1652
 
1648
- # reduce 56 omitted
1653
+ # reduce 57 omitted
1649
1654
 
1650
- module_eval <<'.,.,', 'src/ocl.y', 161
1651
- def _reduce_57( val, _values, result )
1652
- result = val[2].test_expression(val[0])
1655
+ module_eval <<'.,.,', 'src/ocl.y', 165
1656
+ def _reduce_58( val, _values, result )
1657
+ result = val[0,3].join(' ')
1653
1658
  result
1654
1659
  end
1655
1660
  .,.,
1656
1661
 
1657
- # reduce 58 omitted
1658
-
1659
1662
  module_eval <<'.,.,', 'src/ocl.y', 166
1660
1663
  def _reduce_59( val, _values, result )
1661
1664
  result = val[0,3].join(' ')
@@ -1691,70 +1694,65 @@ module_eval <<'.,.,', 'src/ocl.y', 170
1691
1694
  end
1692
1695
  .,.,
1693
1696
 
1694
- module_eval <<'.,.,', 'src/ocl.y', 171
1695
- def _reduce_64( val, _values, result )
1696
- result = val[0,3].join(' ')
1697
- result
1698
- end
1699
- .,.,
1700
-
1701
- # reduce 65 omitted
1697
+ # reduce 64 omitted
1702
1698
 
1703
- module_eval <<'.,.,', 'src/ocl.y', 176
1704
- def _reduce_66( val, _values, result )
1699
+ module_eval <<'.,.,', 'src/ocl.y', 175
1700
+ def _reduce_65( val, _values, result )
1705
1701
  result = And.new(val[0], val[2])
1706
1702
  result
1707
1703
  end
1708
1704
  .,.,
1709
1705
 
1710
- # reduce 67 omitted
1706
+ # reduce 66 omitted
1711
1707
 
1712
- module_eval <<'.,.,', 'src/ocl.y', 181
1713
- def _reduce_68( val, _values, result )
1708
+ module_eval <<'.,.,', 'src/ocl.y', 180
1709
+ def _reduce_67( val, _values, result )
1714
1710
  result = Or.new(val[0], val[2])
1715
1711
  result
1716
1712
  end
1717
1713
  .,.,
1718
1714
 
1719
- # reduce 69 omitted
1715
+ # reduce 68 omitted
1720
1716
 
1721
- module_eval <<'.,.,', 'src/ocl.y', 186
1722
- def _reduce_70( val, _values, result )
1717
+ module_eval <<'.,.,', 'src/ocl.y', 185
1718
+ def _reduce_69( val, _values, result )
1723
1719
  result = XOr.new(val[0], val[2])
1724
1720
  result
1725
1721
  end
1726
1722
  .,.,
1727
1723
 
1728
- # reduce 71 omitted
1724
+ # reduce 70 omitted
1729
1725
 
1730
- module_eval <<'.,.,', 'src/ocl.y', 191
1731
- def _reduce_72( val, _values, result )
1726
+ module_eval <<'.,.,', 'src/ocl.y', 190
1727
+ def _reduce_71( val, _values, result )
1732
1728
  result = Implies.new(val[0], val[2])
1733
1729
  result
1734
1730
  end
1735
1731
  .,.,
1736
1732
 
1737
- module_eval <<'.,.,', 'src/ocl.y', 195
1738
- def _reduce_73( val, _values, result )
1733
+ module_eval <<'.,.,', 'src/ocl.y', 194
1734
+ def _reduce_72( val, _values, result )
1739
1735
  result = IteratorRange.new(val[0], val[2])
1740
1736
  result
1741
1737
  end
1742
1738
  .,.,
1743
1739
 
1744
- module_eval <<'.,.,', 'src/ocl.y', 201
1745
- def _reduce_74( val, _values, result )
1740
+ module_eval <<'.,.,', 'src/ocl.y', 200
1741
+ def _reduce_73( val, _values, result )
1746
1742
  result = Range.new(val[0], val[2], false)
1747
1743
  result
1748
1744
  end
1749
1745
  .,.,
1750
1746
 
1751
- module_eval <<'.,.,', 'src/ocl.y', 203
1752
- def _reduce_75( val, _values, result )
1747
+ module_eval <<'.,.,', 'src/ocl.y', 202
1748
+ def _reduce_74( val, _values, result )
1753
1749
  result = Range.new(val[0], val[2], true)
1754
1750
  result
1755
1751
  end
1756
1752
  .,.,
1757
1753
 
1754
+ # reduce 75 omitted
1755
+
1758
1756
  # reduce 76 omitted
1759
1757
 
1760
1758
  # reduce 77 omitted
@@ -1779,32 +1777,37 @@ module_eval <<'.,.,', 'src/ocl.y', 203
1779
1777
 
1780
1778
  # reduce 87 omitted
1781
1779
 
1782
- # reduce 88 omitted
1780
+ module_eval <<'.,.,', 'src/ocl.y', 232
1781
+ def _reduce_88( val, _values, result )
1782
+ result = val[1]; result.base_type = val[0]
1783
+ result
1784
+ end
1785
+ .,.,
1783
1786
 
1784
- module_eval <<'.,.,', 'src/ocl.y', 233
1787
+ module_eval <<'.,.,', 'src/ocl.y', 234
1785
1788
  def _reduce_89( val, _values, result )
1786
- result = val[1]; result.base_type = val[0]
1789
+ result = CType::Type.new(); result.base_type = val[0]
1787
1790
  result
1788
1791
  end
1789
1792
  .,.,
1790
1793
 
1791
- module_eval <<'.,.,', 'src/ocl.y', 235
1794
+ module_eval <<'.,.,', 'src/ocl.y', 239
1792
1795
  def _reduce_90( val, _values, result )
1793
- result = CType::Type.new(); result.base_type = val[0]
1796
+ result = CType::Primitive.new(val[0])
1794
1797
  result
1795
1798
  end
1796
1799
  .,.,
1797
1800
 
1798
1801
  module_eval <<'.,.,', 'src/ocl.y', 240
1799
1802
  def _reduce_91( val, _values, result )
1800
- result = CType::Primitive.new(val[0])
1803
+ result = val[1].insert(val[0])
1801
1804
  result
1802
1805
  end
1803
1806
  .,.,
1804
1807
 
1805
- module_eval <<'.,.,', 'src/ocl.y', 241
1808
+ module_eval <<'.,.,', 'src/ocl.y', 245
1806
1809
  def _reduce_92( val, _values, result )
1807
- result = val[1].insert(val[0])
1810
+ result = CType::Base.new(val[0])
1808
1811
  result
1809
1812
  end
1810
1813
  .,.,
@@ -1830,42 +1833,35 @@ module_eval <<'.,.,', 'src/ocl.y', 248
1830
1833
  end
1831
1834
  .,.,
1832
1835
 
1833
- module_eval <<'.,.,', 'src/ocl.y', 249
1834
- def _reduce_96( val, _values, result )
1835
- result = CType::Base.new(val[0])
1836
- result
1837
- end
1838
- .,.,
1836
+ # reduce 96 omitted
1839
1837
 
1840
1838
  # reduce 97 omitted
1841
1839
 
1842
- # reduce 98 omitted
1843
-
1844
- module_eval <<'.,.,', 'src/ocl.y', 259
1845
- def _reduce_99( val, _values, result )
1840
+ module_eval <<'.,.,', 'src/ocl.y', 258
1841
+ def _reduce_98( val, _values, result )
1846
1842
  result = CType::StructUnion.get(val[0], val[1])
1847
1843
  result
1848
1844
  end
1849
1845
  .,.,
1850
1846
 
1851
- # reduce 100 omitted
1847
+ # reduce 99 omitted
1852
1848
 
1853
- module_eval <<'.,.,', 'src/ocl.y', 266
1854
- def _reduce_101( val, _values, result )
1849
+ module_eval <<'.,.,', 'src/ocl.y', 265
1850
+ def _reduce_100( val, _values, result )
1855
1851
  result = val[1]; result.add_qualifier(val[0])
1856
1852
  result
1857
1853
  end
1858
1854
  .,.,
1859
1855
 
1860
- module_eval <<'.,.,', 'src/ocl.y', 270
1861
- def _reduce_102( val, _values, result )
1856
+ module_eval <<'.,.,', 'src/ocl.y', 269
1857
+ def _reduce_101( val, _values, result )
1862
1858
  result = val[0].first
1863
1859
  result
1864
1860
  end
1865
1861
  .,.,
1866
1862
 
1867
- module_eval <<'.,.,', 'src/ocl.y', 285
1868
- def _reduce_103( val, _values, result )
1863
+ module_eval <<'.,.,', 'src/ocl.y', 284
1864
+ def _reduce_102( val, _values, result )
1869
1865
  # the base type of the last element in the declarator sequence
1870
1866
  # is not a pointer. that pointer points to a new type which is
1871
1867
  # appended to the end of the declarator sequence
@@ -1876,203 +1872,203 @@ module_eval <<'.,.,', 'src/ocl.y', 285
1876
1872
  end
1877
1873
  .,.,
1878
1874
 
1879
- # reduce 104 omitted
1875
+ # reduce 103 omitted
1880
1876
 
1881
- # reduce 105 omitted
1877
+ # reduce 104 omitted
1882
1878
 
1883
- module_eval <<'.,.,', 'src/ocl.y', 295
1884
- def _reduce_106( val, _values, result )
1879
+ module_eval <<'.,.,', 'src/ocl.y', 294
1880
+ def _reduce_105( val, _values, result )
1885
1881
  result = [CType::Type.new(val[0])]
1886
1882
  result
1887
1883
  end
1888
1884
  .,.,
1889
1885
 
1890
- module_eval <<'.,.,', 'src/ocl.y', 297
1891
- def _reduce_107( val, _values, result )
1886
+ module_eval <<'.,.,', 'src/ocl.y', 296
1887
+ def _reduce_106( val, _values, result )
1892
1888
  result = val[1]
1893
1889
  result
1894
1890
  end
1895
1891
  .,.,
1896
1892
 
1897
- module_eval <<'.,.,', 'src/ocl.y', 299
1898
- def _reduce_108( val, _values, result )
1893
+ module_eval <<'.,.,', 'src/ocl.y', 298
1894
+ def _reduce_107( val, _values, result )
1899
1895
  result = val[0]; result.last.dimensions << val[2]
1900
1896
  result
1901
1897
  end
1902
1898
  .,.,
1903
1899
 
1904
- module_eval <<'.,.,', 'src/ocl.y', 301
1905
- def _reduce_109( val, _values, result )
1900
+ module_eval <<'.,.,', 'src/ocl.y', 300
1901
+ def _reduce_108( val, _values, result )
1906
1902
  result = val[0]; result.last.dimensions << nil
1907
1903
  result
1908
1904
  end
1909
1905
  .,.,
1910
1906
 
1911
- module_eval <<'.,.,', 'src/ocl.y', 303
1912
- def _reduce_110( val, _values, result )
1907
+ module_eval <<'.,.,', 'src/ocl.y', 302
1908
+ def _reduce_109( val, _values, result )
1913
1909
  result = val[0]; result.last.parameters = val[2]
1914
1910
  result
1915
1911
  end
1916
1912
  .,.,
1917
1913
 
1918
- module_eval <<'.,.,', 'src/ocl.y', 305
1919
- def _reduce_111( val, _values, result )
1914
+ module_eval <<'.,.,', 'src/ocl.y', 304
1915
+ def _reduce_110( val, _values, result )
1920
1916
  result = val[0]; result.last.parameters = val[2]
1921
1917
  result
1922
1918
  end
1923
1919
  .,.,
1924
1920
 
1925
- module_eval <<'.,.,', 'src/ocl.y', 307
1926
- def _reduce_112( val, _values, result )
1921
+ module_eval <<'.,.,', 'src/ocl.y', 306
1922
+ def _reduce_111( val, _values, result )
1927
1923
  result = val[0]; result.last.parameters = nil
1928
1924
  result
1929
1925
  end
1930
1926
  .,.,
1931
1927
 
1932
- module_eval <<'.,.,', 'src/ocl.y', 312
1933
- def _reduce_113( val, _values, result )
1928
+ module_eval <<'.,.,', 'src/ocl.y', 311
1929
+ def _reduce_112( val, _values, result )
1934
1930
  result = CType::Enum[val[1]]
1935
1931
  result
1936
1932
  end
1937
1933
  .,.,
1938
1934
 
1939
- module_eval <<'.,.,', 'src/ocl.y', 317
1940
- def _reduce_114( val, _values, result )
1935
+ module_eval <<'.,.,', 'src/ocl.y', 316
1936
+ def _reduce_113( val, _values, result )
1941
1937
  result = CType::Pointer.new(val[1])
1942
1938
  result
1943
1939
  end
1944
1940
  .,.,
1945
1941
 
1946
- module_eval <<'.,.,', 'src/ocl.y', 319
1947
- def _reduce_115( val, _values, result )
1942
+ module_eval <<'.,.,', 'src/ocl.y', 318
1943
+ def _reduce_114( val, _values, result )
1948
1944
  result = CType::Pointer.new()
1949
1945
  result
1950
1946
  end
1951
1947
  .,.,
1952
1948
 
1953
- module_eval <<'.,.,', 'src/ocl.y', 325
1954
- def _reduce_116( val, _values, result )
1949
+ module_eval <<'.,.,', 'src/ocl.y', 324
1950
+ def _reduce_115( val, _values, result )
1955
1951
  result = val[2]
1956
1952
  result.base_type = CType::Pointer.new(val[1])
1957
1953
  result
1958
1954
  end
1959
1955
  .,.,
1960
1956
 
1961
- module_eval <<'.,.,', 'src/ocl.y', 330
1962
- def _reduce_117( val, _values, result )
1957
+ module_eval <<'.,.,', 'src/ocl.y', 329
1958
+ def _reduce_116( val, _values, result )
1963
1959
  result = val[1]
1964
1960
  result.base_type = CType::Pointer.new()
1965
1961
  result
1966
1962
  end
1967
1963
  .,.,
1968
1964
 
1965
+ module_eval <<'.,.,', 'src/ocl.y', 333
1966
+ def _reduce_117( val, _values, result )
1967
+ result = val[0,1]
1968
+ result
1969
+ end
1970
+ .,.,
1971
+
1969
1972
  module_eval <<'.,.,', 'src/ocl.y', 334
1970
1973
  def _reduce_118( val, _values, result )
1971
- result = val[0,1]
1974
+ result = val[0] << val[1]
1972
1975
  result
1973
1976
  end
1974
1977
  .,.,
1975
1978
 
1976
- module_eval <<'.,.,', 'src/ocl.y', 335
1979
+ module_eval <<'.,.,', 'src/ocl.y', 339
1977
1980
  def _reduce_119( val, _values, result )
1978
- result = val[0] << val[1]
1981
+ result = val[0].finalize
1979
1982
  result
1980
1983
  end
1981
1984
  .,.,
1982
1985
 
1983
1986
  module_eval <<'.,.,', 'src/ocl.y', 340
1984
1987
  def _reduce_120( val, _values, result )
1985
- result = val[0].finalize
1988
+ result = val[0].with_ellipses
1986
1989
  result
1987
1990
  end
1988
1991
  .,.,
1989
1992
 
1990
- module_eval <<'.,.,', 'src/ocl.y', 341
1993
+ module_eval <<'.,.,', 'src/ocl.y', 345
1991
1994
  def _reduce_121( val, _values, result )
1992
- result = val[0].with_ellipses
1995
+ result = CType::List.new << val[0]
1993
1996
  result
1994
1997
  end
1995
1998
  .,.,
1996
1999
 
1997
2000
  module_eval <<'.,.,', 'src/ocl.y', 346
1998
2001
  def _reduce_122( val, _values, result )
1999
- result = CType::List.new << val[0]
2002
+ result = val[0] << val[2]
2000
2003
  result
2001
2004
  end
2002
2005
  .,.,
2003
2006
 
2004
- module_eval <<'.,.,', 'src/ocl.y', 347
2007
+ module_eval <<'.,.,', 'src/ocl.y', 352
2005
2008
  def _reduce_123( val, _values, result )
2006
- result = val[0] << val[2]
2009
+ result = val[1]; result.base_type = val[0]
2007
2010
  result
2008
2011
  end
2009
2012
  .,.,
2010
2013
 
2011
- module_eval <<'.,.,', 'src/ocl.y', 353
2014
+ module_eval <<'.,.,', 'src/ocl.y', 354
2012
2015
  def _reduce_124( val, _values, result )
2013
2016
  result = val[1]; result.base_type = val[0]
2014
2017
  result
2015
2018
  end
2016
2019
  .,.,
2017
2020
 
2018
- module_eval <<'.,.,', 'src/ocl.y', 355
2021
+ module_eval <<'.,.,', 'src/ocl.y', 356
2019
2022
  def _reduce_125( val, _values, result )
2020
- result = val[1]; result.base_type = val[0]
2023
+ result = CType::Type.new(); result.base_type = val[0]
2021
2024
  result
2022
2025
  end
2023
2026
  .,.,
2024
2027
 
2025
- module_eval <<'.,.,', 'src/ocl.y', 357
2028
+ module_eval <<'.,.,', 'src/ocl.y', 365
2026
2029
  def _reduce_126( val, _values, result )
2027
- result = CType::Type.new(); result.base_type = val[0]
2030
+ result = val[0].finalize
2028
2031
  result
2029
2032
  end
2030
2033
  .,.,
2031
2034
 
2032
- module_eval <<'.,.,', 'src/ocl.y', 366
2035
+ module_eval <<'.,.,', 'src/ocl.y', 370
2033
2036
  def _reduce_127( val, _values, result )
2034
- result = val[0].finalize
2037
+ result = CType::List.new << val[0]
2035
2038
  result
2036
2039
  end
2037
2040
  .,.,
2038
2041
 
2039
2042
  module_eval <<'.,.,', 'src/ocl.y', 371
2040
2043
  def _reduce_128( val, _values, result )
2041
- result = CType::List.new << val[0]
2042
- result
2043
- end
2044
- .,.,
2045
-
2046
- module_eval <<'.,.,', 'src/ocl.y', 372
2047
- def _reduce_129( val, _values, result )
2048
2044
  result = val[0] << val[2]
2049
2045
  result
2050
2046
  end
2051
2047
  .,.,
2052
2048
 
2053
- module_eval <<'.,.,', 'src/ocl.y', 377
2054
- def _reduce_130( val, _values, result )
2049
+ module_eval <<'.,.,', 'src/ocl.y', 376
2050
+ def _reduce_129( val, _values, result )
2055
2051
  result = CType::Type.new(); result.base_type = val[0]
2056
2052
  result
2057
2053
  end
2058
2054
  .,.,
2059
2055
 
2060
- module_eval <<'.,.,', 'src/ocl.y', 379
2061
- def _reduce_131( val, _values, result )
2056
+ module_eval <<'.,.,', 'src/ocl.y', 378
2057
+ def _reduce_130( val, _values, result )
2062
2058
  result = val[1]; result.base_type = val[0]
2063
2059
  result
2064
2060
  end
2065
2061
  .,.,
2066
2062
 
2067
- module_eval <<'.,.,', 'src/ocl.y', 384
2068
- def _reduce_132( val, _values, result )
2063
+ module_eval <<'.,.,', 'src/ocl.y', 383
2064
+ def _reduce_131( val, _values, result )
2069
2065
  result = val[0].first
2070
2066
  result
2071
2067
  end
2072
2068
  .,.,
2073
2069
 
2074
- module_eval <<'.,.,', 'src/ocl.y', 397
2075
- def _reduce_133( val, _values, result )
2070
+ module_eval <<'.,.,', 'src/ocl.y', 396
2071
+ def _reduce_132( val, _values, result )
2076
2072
  # create new type, example: int (*)(const char *, const char *)
2077
2073
  result = [CType::Type.new(), CType::Type.new()]
2078
2074
  result.first.base_type = val[0] # pointer to a
@@ -2081,10 +2077,10 @@ module_eval <<'.,.,', 'src/ocl.y', 397
2081
2077
  end
2082
2078
  .,.,
2083
2079
 
2084
- # reduce 134 omitted
2080
+ # reduce 133 omitted
2085
2081
 
2086
- module_eval <<'.,.,', 'src/ocl.y', 405
2087
- def _reduce_135( val, _values, result )
2082
+ module_eval <<'.,.,', 'src/ocl.y', 404
2083
+ def _reduce_134( val, _values, result )
2088
2084
  # see direct_declarator for more info
2089
2085
  result = val[1]
2090
2086
  result.last.base_type = val[0]
@@ -2093,10 +2089,10 @@ module_eval <<'.,.,', 'src/ocl.y', 405
2093
2089
  end
2094
2090
  .,.,
2095
2091
 
2096
- # reduce 136 omitted
2092
+ # reduce 135 omitted
2097
2093
 
2098
- module_eval <<'.,.,', 'src/ocl.y', 415
2099
- def _reduce_137( val, _values, result )
2094
+ module_eval <<'.,.,', 'src/ocl.y', 414
2095
+ def _reduce_136( val, _values, result )
2100
2096
  # create new type
2101
2097
  result = [CType::Type.new()]
2102
2098
  result.last.dimensions << nil
@@ -2104,8 +2100,8 @@ module_eval <<'.,.,', 'src/ocl.y', 415
2104
2100
  end
2105
2101
  .,.,
2106
2102
 
2107
- module_eval <<'.,.,', 'src/ocl.y', 421
2108
- def _reduce_138( val, _values, result )
2103
+ module_eval <<'.,.,', 'src/ocl.y', 420
2104
+ def _reduce_137( val, _values, result )
2109
2105
  # create new type
2110
2106
  result = [CType::Type.new()]
2111
2107
  result.last.dimensions << val[1]
@@ -2113,22 +2109,22 @@ module_eval <<'.,.,', 'src/ocl.y', 421
2113
2109
  end
2114
2110
  .,.,
2115
2111
 
2116
- module_eval <<'.,.,', 'src/ocl.y', 422
2117
- def _reduce_139( val, _values, result )
2112
+ module_eval <<'.,.,', 'src/ocl.y', 421
2113
+ def _reduce_138( val, _values, result )
2118
2114
  result = val[0]; result.last.dimensions << nil
2119
2115
  result
2120
2116
  end
2121
2117
  .,.,
2122
2118
 
2123
- module_eval <<'.,.,', 'src/ocl.y', 424
2124
- def _reduce_140( val, _values, result )
2119
+ module_eval <<'.,.,', 'src/ocl.y', 423
2120
+ def _reduce_139( val, _values, result )
2125
2121
  result = val[0]; result.last.dimensions << val[2]
2126
2122
  result
2127
2123
  end
2128
2124
  .,.,
2129
2125
 
2130
- module_eval <<'.,.,', 'src/ocl.y', 431
2131
- def _reduce_141( val, _values, result )
2126
+ module_eval <<'.,.,', 'src/ocl.y', 430
2127
+ def _reduce_140( val, _values, result )
2132
2128
  # create new type
2133
2129
  result = [CType::Type.new()]
2134
2130
  result.last.parameters = nil
@@ -2136,8 +2132,8 @@ module_eval <<'.,.,', 'src/ocl.y', 431
2136
2132
  end
2137
2133
  .,.,
2138
2134
 
2139
- module_eval <<'.,.,', 'src/ocl.y', 437
2140
- def _reduce_142( val, _values, result )
2135
+ module_eval <<'.,.,', 'src/ocl.y', 436
2136
+ def _reduce_141( val, _values, result )
2141
2137
  # create new type
2142
2138
  result = [CType::Type.new()]
2143
2139
  result.last.parameters = val[2]
@@ -2145,15 +2141,15 @@ module_eval <<'.,.,', 'src/ocl.y', 437
2145
2141
  end
2146
2142
  .,.,
2147
2143
 
2148
- module_eval <<'.,.,', 'src/ocl.y', 438
2149
- def _reduce_143( val, _values, result )
2144
+ module_eval <<'.,.,', 'src/ocl.y', 437
2145
+ def _reduce_142( val, _values, result )
2150
2146
  result = val[0]; result.last.parameters = nil
2151
2147
  result
2152
2148
  end
2153
2149
  .,.,
2154
2150
 
2155
- module_eval <<'.,.,', 'src/ocl.y', 440
2156
- def _reduce_144( val, _values, result )
2151
+ module_eval <<'.,.,', 'src/ocl.y', 439
2152
+ def _reduce_143( val, _values, result )
2157
2153
  result = val[0]; result.last.parameters = val[2]
2158
2154
  result
2159
2155
  end