dbc 1.2.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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