dbc 1.2.3 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,6 +12,22 @@ if RUBY_VERSION =~ /\A1\.6/
12
12
  $stderr = STDERR
13
13
  end
14
14
 
15
+ # create output directories if they don't exist
16
+ def create_dest_dirs(dest_file)
17
+ dest_dir = File.dirname(dest_file)
18
+ dirs = []
19
+ until File.directory?(dest_dir)
20
+ # [ "/home/boson/fake", "/home/boson" ]
21
+ # "/home/boson" exists so loop ends
22
+ dirs << dest_dir
23
+ dest_dir = File.dirname(dest_dir)
24
+ end
25
+ dirs.reverse_each do |d|
26
+ Dir.mkdir(d)
27
+ end
28
+ nil
29
+ end
30
+
15
31
  require 'getoptlong'
16
32
 
17
33
  command_dir = File.dirname($0)
@@ -155,7 +171,7 @@ end
155
171
 
156
172
  if dest_file
157
173
  if File.exists?(dest_file) and not overwrite
158
- warn "destination file exists: #{dest_file}"
174
+ warn "destination file '#{dest_file}' exists"
159
175
  exit(2)
160
176
  end
161
177
  # this is always bad - so don't allow it even if overwrite is true
@@ -163,11 +179,22 @@ if dest_file
163
179
  warn "destination file and source file are the same"
164
180
  exit(2)
165
181
  end
182
+ begin
183
+ create_dest_dirs(dest_file)
184
+ rescue
185
+ warn "could not create destination directory: #{$?}"
186
+ exit(2)
187
+ end
166
188
  end
167
189
 
168
190
  if src_file
169
- text = File.open(src_file, 'r') do |in_file|
170
- in_file.read
191
+ begin
192
+ text = File.open(src_file, 'r') do |in_file|
193
+ in_file.read
194
+ end
195
+ rescue
196
+ warn "could not open '#{src_file}': #{$?}"
197
+ exit(2)
171
198
  end
172
199
  else
173
200
  text = STDIN.read
@@ -213,14 +240,17 @@ case RUBY_PLATFORM
213
240
  end
214
241
 
215
242
  # for gcc compatibility
243
+ defines << ['__asm__', ['...'], ' ']
244
+ defines << ['__attribute__', ['...'], ' ']
245
+ defines << ['__const__', nil, 'const']
216
246
  defines << ['__extension__', nil, ' ']
217
- defines << ['__const__', nil, ' ']
218
247
  defines << ['__inline__', nil, ' ']
219
- defines << ['__attribute__', ['arg'], ' ']
248
+ defines << ['__signed__', nil, 'signed']
249
+ defines << ['__volatile__', nil, 'volatile']
220
250
 
221
251
  # for gcc 3.4+ compatibility
222
252
  defines << ['__builtin_va_list', nil, 'int *']
223
- defines << ['SHLIB_COMPAT', ['arg'], '(0)']
253
+ defines << ['SHLIB_COMPAT', ['...'], '(0)']
224
254
 
225
255
  # so '##' is used to paste tokens, not '/**/'
226
256
  defines << ['__STDC__', nil, '1']
@@ -237,7 +267,7 @@ begin
237
267
 
238
268
  defines.each { |d,p,v| preproc.define(d, p, v) }
239
269
  preproc.each do |t|
240
- out_str << t[1]
270
+ out_str << t.at(1)
241
271
  end
242
272
  else
243
273
  if check_level == DBC::NONE
@@ -281,7 +311,7 @@ begin
281
311
  stmt, line, line_info )
282
312
  else
283
313
  stmt.each do |t|
284
- out_str << t[1]
314
+ out_str << t.at(1)
285
315
  end
286
316
  end
287
317
  end # do
@@ -28,21 +28,22 @@ module CTokenizer
28
28
  sym_4 = /[\(\)\[\]\{\}\|\&\+\-\/\*%<>\.,=!:;\?\^~#]/
29
29
  SYMBOL = %r(#{sym_1}|#{sym_2}|#{sym_3}|#{sym_4})
30
30
 
31
- CHARACTER = /L?'(?:[^']|\\.)*'/
32
- STRING = /L?"(?:[^"]|\\.)*"/
31
+ CHARACTER = /L?'(?:\\.|[^'])*'/
32
+ STRING = /L?"(?:\\.|[^"])*"/
33
33
 
34
34
  f_e = /[eE][-+]?[0-9]+/
35
35
  f_s = /[fFlL]/
36
36
  flt_1 = /[0-9]+#{f_e}#{f_s}?/
37
37
  flt_2 = /[0-9]*\.[0-9]+#{f_e}?#{f_s}?/
38
- # flt_3 causes ambiguities... :(
39
- #flt_3 = /[0-9]+\.[0-9]*#{f_e}?#{f_s}?/
38
+ # flt_3 has to be complicated to prevent ambiguities...
39
+ # for example 3...4 => should be '3', '...', '4' not '3.', '..', '4'
40
+ flt_3 = /[0-9]+\.(?:#{f_e}#{f_s}?|#{f_e}?#{f_s}|(?=[^\.])|\Z)/
40
41
 
41
42
  i_s = /[uUlL]*/
42
43
  int_1 = /0[xX][0-9a-fA-F]+#{i_s}/
43
44
  int_2 = /0[0-7]+#{i_s}/
44
45
  int_3 = /[0-9]+#{i_s}/
45
- CONSTANT = %r(#{int_1}|#{int_2}|#{int_3}|#{flt_1}|#{flt_2})
46
+ CONSTANT = %r(#{int_1}|#{int_2}|#{int_3}|#{flt_1}|#{flt_2}|#{flt_3})
46
47
  end # Expression
47
48
 
48
49
  class Error < StandardError
@@ -59,25 +60,11 @@ module CTokenizer
59
60
  raise CTokenizer::Error.new(file, line), msg
60
61
  end
61
62
 
62
- def CTokenizer.check_token(t)
63
- raise "expecting a Array[2]: #{t.inspect}" \
64
- unless t.class <= Array and t.length == 2
65
- end
66
-
67
63
  def CTokenizer.line_count(str)
68
- count = 0
69
- str.scan(Expression::NEWLINE) { count += 1 } if str.class == String
64
+ count = str.count("\n")
65
+ count = str.count("\r") if count == 0
70
66
  count
71
67
  end
72
-
73
- def CTokenizer.whitespace?(t)
74
- case t[0]
75
- when :SPACE, :NEWLINE, :COMMENT
76
- true
77
- else
78
- false
79
- end
80
- end
81
68
 
82
69
  def error(msg)
83
70
  CTokenizer.error(file, line, msg)
@@ -129,14 +116,15 @@ module CTokenizer
129
116
  @line = line
130
117
  end
131
118
 
132
- attr_reader :file, :line
119
+ attr_accessor :file, :line
133
120
 
134
121
  alias empty? eos?
135
122
  alias scan_super scan
136
123
 
137
124
  def scan(re)
138
- m = scan_super(re)
139
- @line += CTokenizer.line_count(m)
125
+ if m = scan_super(re)
126
+ @line += CTokenizer.line_count(m)
127
+ end
140
128
  m
141
129
  end
142
130
 
@@ -154,15 +142,15 @@ module CTokenizer
154
142
  when m = scan_super(Expression::COMMENT)
155
143
  @line += CTokenizer.line_count(m)
156
144
  [:COMMENT, m]
157
- # SYMBOL should come before CONSTANT
145
+ # SYMBOL should come after CONSTANT
146
+ when m = scan_super(Expression::CONSTANT)
147
+ [:CONSTANT, m]
158
148
  when m = scan_super(Expression::SYMBOL)
159
149
  [:SYMBOL, m]
160
150
  when m = scan_super(Expression::NEWLINE)
161
151
  #@line += CTokenizer.line_count(m)
162
152
  @line += 1
163
153
  [:NEWLINE, m]
164
- when m = scan_super(Expression::CONSTANT)
165
- [:CONSTANT, m]
166
154
  when m = scan_super(Expression::STRING)
167
155
  [:STRING, m]
168
156
  when m = scan_super(Expression::SPACE_2)
@@ -172,17 +160,14 @@ module CTokenizer
172
160
  [:CHARACTER, m]
173
161
  when eos?
174
162
  EOF_TOKEN # end of file, \Z don't work with StringScanner
175
- when m = getch
176
- @line += CTokenizer.line_count(m)
177
- [:UNKNOWN, m]
178
163
  else
179
- raise "shouldn't get here!"
164
+ [:UNKNOWN, getch]
180
165
  end # case
181
166
  m.freeze
182
167
  t.freeze
183
168
  end
184
169
 
185
- end
170
+ end # Lexer
186
171
 
187
172
  # provides a way of keeping track of the current scope
188
173
  module Scoped
@@ -197,16 +182,15 @@ module CTokenizer
197
182
  end
198
183
 
199
184
  def process_scope(t)
200
- case t[0]
201
- when :SPACE, :COMMENT
202
- # do nothing
203
- when :NEWLINE
185
+ t_sym = t.at(0)
186
+ unless t_sym == :SPACE or t_sym == :COMMENT
187
+ if t_sym == :NEWLINE
204
188
  @start_line = true
205
189
  @macro = false
206
190
  else
207
191
  unless @macro
208
192
  # these tokens are ignored if inside of a macro
209
- case t[1]
193
+ case t.at(1)
210
194
  when '#'
211
195
  @macro = @start_line
212
196
  when '{'
@@ -216,23 +200,13 @@ module CTokenizer
216
200
  end
217
201
  end
218
202
  @start_line = false
203
+ end
219
204
  end
220
205
  t
221
206
  end
222
207
  end # Scoped
223
208
 
224
- # wraps a lexer and uses that to produce new tokens
225
- class LexerBase
226
- include CTokenizer
227
-
228
- def initialize(str, file=nil, line=1)
229
- if (str.class <= String)
230
- @source = Lexer.new(str, file, line)
231
- else
232
- @source = str
233
- end
234
- end
235
-
209
+ module Sourced
236
210
  attr_reader :source
237
211
 
238
212
  def scan(regexp)
@@ -250,9 +224,15 @@ module CTokenizer
250
224
  def file
251
225
  @source.file
252
226
  end
227
+ def file=(val)
228
+ @source.file = val
229
+ end
253
230
  def line
254
231
  @source.line
255
232
  end
233
+ def line=(val)
234
+ @source.line = val
235
+ end
256
236
 
257
237
  def shift
258
238
  @source.shift
@@ -261,7 +241,20 @@ module CTokenizer
261
241
  def empty?
262
242
  @source.empty?
263
243
  end
244
+ end # Sourced
264
245
 
246
+ # wraps a lexer and uses that to produce new tokens
247
+ class LexerBase
248
+ include CTokenizer
249
+ include Sourced
250
+
251
+ def initialize(str, file=nil, line=1)
252
+ if (str.class <= String)
253
+ @source = Lexer.new(str, file, line)
254
+ else
255
+ @source = str
256
+ end
257
+ end
265
258
  end # LexerBase
266
259
 
267
260
  class Cache
@@ -281,7 +274,7 @@ module CTokenizer
281
274
  end
282
275
  def shift
283
276
  t = @cache.shift
284
- @line += CTokenizer.line_count(t[1])
277
+ @line += CTokenizer.line_count(t.at(1))
285
278
  t
286
279
  end
287
280
  def empty?
@@ -302,12 +295,12 @@ module CTokenizer
302
295
  t = process_scope(super)
303
296
  if macro?
304
297
  start = self.line
305
- token = t[1].dup
298
+ token = t.at(1).dup
306
299
  while macro? and not empty?
307
300
  t = process_scope(super)
308
- token << t[1]
301
+ token << t.at(1)
309
302
  end
310
- self.error("expecting newline") unless empty? or t[0] == :NEWLINE
303
+ self.error("expecting newline") unless empty? or t.at(0) == :NEWLINE
311
304
  t = [:NEWLINE, token.freeze].freeze
312
305
  end
313
306
  t
@@ -253,25 +253,42 @@ module CType
253
253
  end # Enum
254
254
 
255
255
  class Primitive
256
+
256
257
  def initialize(val)
257
- @primitives = [val]
258
+ @p = val.frozen? ? val : val.dup.freeze
258
259
  end
259
260
 
260
- def insert(val)
261
- @primitives.insert(0, val)
262
- self
261
+ PRIMITIVES = {}
262
+ [ 'void','char','short','int','long',
263
+ 'float','double','signed','unsigned',
264
+ 'signed short', 'unsigned short',
265
+ 'signed int', 'unsigned int',
266
+ 'signed long', 'unsigned long',
267
+ 'signed char', 'unsigned char',
268
+ 'long char', 'signed long char', 'unsigned long char',
269
+ 'long int', 'signed long int', 'unsigned long int',
270
+ 'long long', 'signed long long', 'unsigned long long',
271
+ 'long long int', 'signed long long int',
272
+ 'unsigned long long int', 'long double' ].each do |t|
273
+ t.freeze
274
+ PRIMITIVES[t] = Primitive.new(t)
275
+ end
276
+ PRIMITIVES.freeze
277
+
278
+ def Primitive.[](val)
279
+ PRIMITIVES[val] || self.new(val)
263
280
  end
281
+
264
282
  def evaluate(identifier)
265
283
  CType.evaluation_error(identifier) unless identifier.empty?
266
284
  self
267
285
  end
268
- def to_s
269
- to_init_s()
270
- end
271
286
  def to_init_s(ident=nil)
272
- str = @primitives.join(' ')
273
- str << ' ' << ident if ident
274
- str
287
+ if ident
288
+ "#{@p} #{ident}"
289
+ else
290
+ @p
291
+ end
275
292
  end
276
293
  end # Primitive
277
294
 
@@ -444,9 +461,8 @@ module CType
444
461
  # array of specifiers, last element is type specifier
445
462
  def add_declaration_specifiers(val)
446
463
  # make sure we don't modify specifiers
447
- val = val.dup
448
- self.base_type = val.pop
449
- val.each do |s|
464
+ self.base_type = val.last
465
+ val[0...-1].each do |s|
450
466
  self.add_specifier(s)
451
467
  end
452
468
  self
@@ -565,10 +581,10 @@ module CType
565
581
  end
566
582
 
567
583
  def with_ellipses()
568
- raise "already has ellipses #{self}" if ellipses?
569
- raise "prototype with ellipses?" if prototype?
584
+ #raise "already has ellipses #{self}" if ellipses?
585
+ #raise "prototype with ellipses?" if prototype?
570
586
  @ellipses = true
571
- self.freeze
587
+ self
572
588
  end
573
589
 
574
590
  def ellipses?
@@ -579,7 +595,10 @@ module CType
579
595
  if self.length == 1 and self[0].to_s == 'void'
580
596
  self.pop # get rid of (void)
581
597
  end
582
- self.freeze
598
+ # self.freeze causes problems with K & R function definitions,
599
+ # since the list must be modified after it is "finalized" to
600
+ # add the argument types.
601
+ self
583
602
  end
584
603
 
585
604
  def to_s
@@ -606,7 +625,7 @@ module CType
606
625
 
607
626
  class Parser < Racc::Parser
608
627
 
609
- module_eval <<'..end src/ctype.y modeval..id38effc9221', 'src/ctype.y', 1142
628
+ module_eval <<'..end src/ctype.y modeval..ida1cf1ee523', 'src/ctype.y', 1169
610
629
 
611
630
  def parse(str, file=nil, line=1)
612
631
  @tokens = CTokenizer::CLexer.new(str, file, line)
@@ -623,26 +642,26 @@ module_eval <<'..end src/ctype.y modeval..id38effc9221', 'src/ctype.y', 1142
623
642
  protected
624
643
 
625
644
  include ParseErrorHandler
645
+ alias on_error_old on_error
646
+ def on_error(error_token_id, error_value, value_stack)
647
+ on_error_old(error_token_id, @current_token.at(1), [])
648
+ end
626
649
 
627
650
  attr_writer :in_member
628
651
 
629
652
  def next_token
630
- t_sym = t = nil
631
- loop do
632
- t = @tokens.shift
633
- t_sym = t.at(0)
634
- # ignore comments, newlines, and spaces
635
- break t[0] unless t_sym == :SPACE or
636
- t_sym == :COMMENT or
637
- t_sym == :NEWLINE
638
- end # loop
653
+ t = @tokens.shift; t_sym = t.at(0)
654
+ # ignore comments, newlines, and spaces
655
+ while t_sym == :SPACE or t_sym == :COMMENT or t_sym == :NEWLINE
656
+ t = @tokens.shift; t_sym = t.at(0)
657
+ end # while
639
658
  if t_sym == :IDENTIFIER and not @in_member
640
659
  t = CType.convert_token(t)
641
660
  end
642
- t
661
+ @current_token = t
643
662
  end
644
663
 
645
- ..end src/ctype.y modeval..id38effc9221
664
+ ..end src/ctype.y modeval..ida1cf1ee523
646
665
 
647
666
  ##### racc 1.4.4 generates ###
648
667
 
@@ -674,74 +693,76 @@ racc_reduce_table = [
674
693
  1, 86, :_reduce_none,
675
694
  1, 86, :_reduce_none,
676
695
  1, 87, :_reduce_26,
696
+ 2, 87, :_reduce_27,
677
697
  1, 88, :_reduce_none,
678
- 2, 88, :_reduce_28,
679
- 1, 89, :_reduce_none,
680
- 1, 90, :_reduce_30,
681
- 1, 91, :_reduce_none,
682
- 1, 91, :_reduce_none,
683
- 1, 91, :_reduce_none,
684
- 3, 91, :_reduce_34,
698
+ 1, 89, :_reduce_29,
699
+ 1, 90, :_reduce_none,
700
+ 1, 90, :_reduce_none,
701
+ 1, 90, :_reduce_none,
702
+ 1, 90, :_reduce_none,
703
+ 3, 90, :_reduce_34,
704
+ 1, 92, :_reduce_none,
705
+ 2, 92, :_reduce_36,
706
+ 2, 92, :_reduce_37,
707
+ 2, 92, :_reduce_38,
708
+ 2, 92, :_reduce_39,
709
+ 2, 92, :_reduce_40,
710
+ 2, 92, :_reduce_41,
711
+ 2, 92, :_reduce_42,
712
+ 4, 92, :_reduce_43,
685
713
  1, 93, :_reduce_none,
686
- 2, 93, :_reduce_36,
687
- 2, 93, :_reduce_37,
688
- 2, 93, :_reduce_38,
689
- 2, 93, :_reduce_39,
690
- 2, 93, :_reduce_40,
691
- 2, 93, :_reduce_41,
692
- 2, 93, :_reduce_42,
693
- 4, 93, :_reduce_43,
714
+ 4, 93, :_reduce_45,
694
715
  1, 95, :_reduce_none,
695
- 4, 95, :_reduce_45,
716
+ 3, 95, :_reduce_47,
717
+ 3, 95, :_reduce_48,
718
+ 3, 95, :_reduce_49,
696
719
  1, 96, :_reduce_none,
697
- 3, 96, :_reduce_47,
698
- 3, 96, :_reduce_48,
699
- 3, 96, :_reduce_49,
720
+ 3, 96, :_reduce_51,
721
+ 3, 96, :_reduce_52,
700
722
  1, 97, :_reduce_none,
701
- 3, 97, :_reduce_51,
702
- 3, 97, :_reduce_52,
723
+ 3, 97, :_reduce_54,
724
+ 3, 97, :_reduce_55,
703
725
  1, 98, :_reduce_none,
704
- 3, 98, :_reduce_54,
705
- 3, 98, :_reduce_55,
726
+ 3, 98, :_reduce_57,
727
+ 3, 98, :_reduce_58,
728
+ 3, 98, :_reduce_59,
729
+ 3, 98, :_reduce_60,
706
730
  1, 99, :_reduce_none,
707
- 3, 99, :_reduce_57,
708
- 3, 99, :_reduce_58,
709
- 3, 99, :_reduce_59,
710
- 3, 99, :_reduce_60,
731
+ 3, 99, :_reduce_62,
732
+ 3, 99, :_reduce_63,
711
733
  1, 100, :_reduce_none,
712
- 3, 100, :_reduce_62,
713
- 3, 100, :_reduce_63,
734
+ 3, 100, :_reduce_65,
714
735
  1, 101, :_reduce_none,
715
- 3, 101, :_reduce_65,
736
+ 3, 101, :_reduce_67,
716
737
  1, 102, :_reduce_none,
717
- 3, 102, :_reduce_67,
738
+ 3, 102, :_reduce_69,
718
739
  1, 103, :_reduce_none,
719
- 3, 103, :_reduce_69,
740
+ 3, 103, :_reduce_71,
720
741
  1, 104, :_reduce_none,
721
- 3, 104, :_reduce_71,
742
+ 3, 104, :_reduce_73,
722
743
  1, 105, :_reduce_none,
723
- 3, 105, :_reduce_73,
724
- 1, 106, :_reduce_none,
725
- 5, 106, :_reduce_75,
726
- 1, 92, :_reduce_none,
727
- 3, 82, :_reduce_77,
728
- 2, 82, :_reduce_78,
729
- 1, 109, :_reduce_79,
730
- 2, 109, :_reduce_80,
731
- 3, 81, :_reduce_81,
732
- 2, 81, :_reduce_82,
733
- 1, 110, :_reduce_83,
734
- 3, 110, :_reduce_84,
744
+ 5, 105, :_reduce_75,
745
+ 1, 91, :_reduce_none,
746
+ 2, 106, :_reduce_77,
747
+ 1, 106, :_reduce_78,
748
+ 2, 82, :_reduce_79,
749
+ 1, 82, :_reduce_none,
750
+ 1, 109, :_reduce_81,
751
+ 2, 109, :_reduce_82,
752
+ 3, 81, :_reduce_83,
753
+ 2, 81, :_reduce_84,
754
+ 1, 110, :_reduce_85,
755
+ 3, 110, :_reduce_86,
735
756
  1, 111, :_reduce_none,
736
757
  3, 111, :_reduce_none,
737
758
  1, 112, :_reduce_none,
738
- 3, 112, :_reduce_88,
739
- 4, 112, :_reduce_89,
759
+ 2, 112, :_reduce_90,
760
+ 3, 112, :_reduce_91,
761
+ 4, 112, :_reduce_92,
740
762
  1, 114, :_reduce_none,
741
- 3, 114, :_reduce_91,
742
- 1, 113, :_reduce_none,
763
+ 3, 114, :_reduce_94,
743
764
  1, 113, :_reduce_none,
744
- 3, 113, :_reduce_94,
765
+ 3, 113, :_reduce_96,
745
766
  1, 115, :_reduce_none,
746
767
  1, 115, :_reduce_none,
747
768
  1, 115, :_reduce_none,
@@ -753,467 +774,531 @@ racc_reduce_table = [
753
774
  1, 115, :_reduce_none,
754
775
  1, 115, :_reduce_none,
755
776
  1, 115, :_reduce_none,
756
- 1, 116, :_reduce_106,
757
- 2, 116, :_reduce_107,
758
- 2, 116, :_reduce_108,
777
+ 1, 116, :_reduce_108,
778
+ 2, 116, :_reduce_109,
779
+ 2, 116, :_reduce_110,
759
780
  1, 107, :_reduce_none,
760
- 2, 107, :_reduce_110,
761
- 2, 107, :_reduce_111,
762
- 1, 118, :_reduce_112,
763
- 2, 118, :_reduce_113,
764
- 1, 117, :_reduce_114,
765
- 1, 117, :_reduce_115,
781
+ 2, 107, :_reduce_112,
782
+ 2, 107, :_reduce_113,
783
+ 1, 118, :_reduce_114,
784
+ 2, 118, :_reduce_115,
766
785
  1, 117, :_reduce_116,
767
786
  1, 117, :_reduce_117,
787
+ 1, 117, :_reduce_118,
788
+ 1, 117, :_reduce_119,
768
789
  1, 121, :_reduce_none,
769
790
  1, 121, :_reduce_none,
770
- 5, 119, :_reduce_120,
771
- 4, 119, :_reduce_121,
772
- 2, 119, :_reduce_122,
773
- 1, 122, :_reduce_123,
774
- 2, 122, :_reduce_124,
775
- 3, 123, :_reduce_125,
776
- 2, 123, :_reduce_126,
777
- 1, 124, :_reduce_127,
791
+ 5, 119, :_reduce_122,
792
+ 4, 119, :_reduce_123,
793
+ 2, 119, :_reduce_124,
794
+ 1, 122, :_reduce_125,
795
+ 2, 122, :_reduce_126,
796
+ 3, 123, :_reduce_127,
797
+ 2, 123, :_reduce_128,
798
+ 1, 124, :_reduce_129,
778
799
  1, 126, :_reduce_none,
779
- 2, 126, :_reduce_129,
780
- 1, 125, :_reduce_130,
781
- 3, 125, :_reduce_131,
800
+ 2, 126, :_reduce_131,
801
+ 1, 125, :_reduce_132,
802
+ 3, 125, :_reduce_133,
782
803
  1, 127, :_reduce_none,
783
- 2, 127, :_reduce_133,
784
- 3, 127, :_reduce_134,
785
- 1, 108, :_reduce_135,
786
- 2, 128, :_reduce_136,
804
+ 2, 127, :_reduce_135,
805
+ 3, 127, :_reduce_136,
806
+ 1, 108, :_reduce_137,
807
+ 2, 128, :_reduce_138,
787
808
  1, 128, :_reduce_none,
788
- 1, 130, :_reduce_138,
789
- 3, 130, :_reduce_139,
790
- 4, 130, :_reduce_140,
809
+ 1, 130, :_reduce_140,
791
810
  3, 130, :_reduce_141,
792
811
  4, 130, :_reduce_142,
793
- 4, 130, :_reduce_143,
794
- 3, 130, :_reduce_144,
795
- 5, 120, :_reduce_145,
796
- 4, 120, :_reduce_146,
797
- 2, 120, :_reduce_147,
812
+ 3, 130, :_reduce_143,
813
+ 4, 130, :_reduce_144,
814
+ 4, 130, :_reduce_145,
815
+ 3, 130, :_reduce_146,
816
+ 5, 120, :_reduce_147,
817
+ 4, 120, :_reduce_148,
818
+ 2, 120, :_reduce_149,
798
819
  1, 133, :_reduce_none,
799
820
  2, 133, :_reduce_none,
800
- 1, 134, :_reduce_150,
801
- 3, 134, :_reduce_151,
802
- 1, 135, :_reduce_152,
803
- 3, 135, :_reduce_153,
804
- 2, 129, :_reduce_154,
805
- 1, 129, :_reduce_155,
806
- 3, 129, :_reduce_156,
807
- 2, 129, :_reduce_157,
808
- 1, 136, :_reduce_158,
809
- 2, 136, :_reduce_159,
810
- 1, 131, :_reduce_160,
811
- 3, 131, :_reduce_161,
812
- 1, 137, :_reduce_162,
813
- 3, 137, :_reduce_163,
814
- 2, 138, :_reduce_164,
815
- 2, 138, :_reduce_165,
816
- 1, 138, :_reduce_166,
817
- 1, 132, :_reduce_167,
818
- 1, 140, :_reduce_168,
819
- 3, 140, :_reduce_169,
820
- 1, 94, :_reduce_170,
821
- 2, 94, :_reduce_171,
822
- 1, 139, :_reduce_172,
823
- 1, 141, :_reduce_173,
821
+ 1, 134, :_reduce_152,
822
+ 3, 134, :_reduce_153,
823
+ 1, 135, :_reduce_154,
824
+ 3, 135, :_reduce_155,
825
+ 2, 129, :_reduce_156,
826
+ 1, 129, :_reduce_157,
827
+ 3, 129, :_reduce_158,
828
+ 2, 129, :_reduce_159,
829
+ 1, 136, :_reduce_160,
830
+ 2, 136, :_reduce_161,
831
+ 1, 131, :_reduce_162,
832
+ 3, 131, :_reduce_163,
833
+ 1, 137, :_reduce_164,
834
+ 3, 137, :_reduce_165,
835
+ 2, 138, :_reduce_166,
836
+ 2, 138, :_reduce_167,
837
+ 1, 138, :_reduce_168,
838
+ 1, 132, :_reduce_169,
839
+ 1, 140, :_reduce_170,
840
+ 3, 140, :_reduce_171,
841
+ 1, 94, :_reduce_172,
842
+ 2, 94, :_reduce_173,
843
+ 1, 139, :_reduce_174,
844
+ 1, 141, :_reduce_175,
824
845
  1, 141, :_reduce_none,
825
- 2, 141, :_reduce_175,
826
- 3, 142, :_reduce_176,
827
- 2, 142, :_reduce_177,
846
+ 2, 141, :_reduce_177,
828
847
  3, 142, :_reduce_178,
829
- 3, 142, :_reduce_179,
830
- 4, 142, :_reduce_180,
831
- 2, 142, :_reduce_181,
832
- 3, 142, :_reduce_182,
833
- 3, 142, :_reduce_183,
834
- 4, 142, :_reduce_184 ]
848
+ 2, 142, :_reduce_179,
849
+ 3, 142, :_reduce_180,
850
+ 3, 142, :_reduce_181,
851
+ 4, 142, :_reduce_182,
852
+ 2, 142, :_reduce_183,
853
+ 3, 142, :_reduce_184,
854
+ 3, 142, :_reduce_185,
855
+ 4, 142, :_reduce_186 ]
835
856
 
836
- racc_reduce_n = 185
857
+ racc_reduce_n = 187
837
858
 
838
- racc_shift_n = 273
859
+ racc_shift_n = 274
839
860
 
840
861
  racc_action_table = [
841
- 132, 134, 137, 112, 50, 48, 117, 122, 132, 134,
842
- 137, 112, 84, 182, 117, 122, 246, 119, 123, 50,
843
- 18, 48, 48, 242, 78, 119, 123, 161, 48, 48,
844
- 16, 22, 25, 29, 33, 36, 1, 3, 6, 9,
845
- 12, 15, 21, 129, 161, 135, 79, 50, 183, 159,
846
- 50, 129, 50, 135, 132, 134, 137, 112, 50, 243,
847
- 117, 122, 132, 134, 137, 112, 159, 30, 117, 122,
848
- 48, 119, 123, 50, 130, 48, 48, 50, 96, 119,
849
- 123, 159, 154, 48, 50, 15, 21, 75, 15, 21,
850
- 243, 48, 54, 58, 64, 48, 48, 129, 54, 135,
851
- 92, 228, 48, 63, 58, 129, 92, 135, 50, 173,
852
- 174, 153, 159, 54, 173, 174, 74, 54, 54, 256,
853
- 223, 257, 102, 229, 54, 18, 196, 195, 264, 37,
854
- 2, 4, 7, 10, 13, 16, 22, 25, 29, 33,
855
- 36, 1, 3, 6, 9, 12, 15, 21, 243, 224,
856
- 47, 48, 61, 78, 196, 195, 50, 208, 50, 209,
857
- 210, 211, 200, 201, 202, 203, 204, 205, 207, 48,
858
- 159, 148, 30, 18, 48, 79, 48, 37, 2, 4,
859
- 7, 10, 13, 16, 22, 25, 29, 33, 36, 1,
860
- 3, 6, 9, 12, 15, 21, 161, 224, 54, 167,
861
- 168, 169, 170, 258, 132, 134, 137, 112, 196, 195,
862
- 117, 122, 167, 168, 169, 170, 191, 192, 159, 259,
863
- 30, 119, 123, 142, 18, 48, 144, 260, 37, 2,
864
- 4, 7, 10, 13, 16, 22, 25, 29, 33, 36,
865
- 1, 3, 6, 9, 12, 15, 21, 129, 228, 135,
866
- 37, 2, 4, 7, 10, 13, 196, 195, 269, 191,
867
- 192, 119, 123, 18, 149, 48, 150, 15, 21, 155,
868
- 229, 30, 220, 16, 22, 25, 29, 33, 36, 1,
869
- 3, 6, 9, 12, 15, 21, 18, 172, 191, 192,
870
- 37, 2, 4, 7, 10, 13, 16, 22, 25, 29,
871
- 33, 36, 1, 3, 6, 9, 12, 15, 21, 18,
872
- 30, 119, 123, 119, 123, 48, 81, 48, 156, 16,
873
- 22, 25, 29, 33, 36, 1, 3, 6, 9, 12,
874
- 15, 21, 18, 30, 119, 123, 157, 172, 48, 172,
875
- 196, 195, 16, 22, 25, 29, 33, 36, 1, 3,
876
- 6, 9, 12, 15, 21, 48, 30, 187, 188, 189,
877
- 172, 167, 168, 169, 170, 158, 151, 47, 48, 49,
878
- 187, 188, 189, 119, 123, 166, 18, 48, 48, 30,
879
- 37, 2, 4, 7, 10, 13, 16, 22, 25, 29,
880
- 33, 36, 1, 3, 6, 9, 12, 15, 21, 172,
881
- 18, 187, 188, 189, 37, 2, 4, 7, 10, 13,
882
- 16, 22, 25, 29, 33, 36, 1, 3, 6, 9,
883
- 12, 15, 21, 30, 261, 16, 22, 25, 29, 33,
884
- 36, 1, 3, 6, 175, 176, 179, 181, 265, 214,
885
- 175, 119, 123, 39, 18, 48, -78, 30, 37, 2,
886
- 4, 7, 10, 13, 16, 22, 25, 29, 33, 36,
887
- 1, 3, 6, 9, 12, 15, 21, 172, 142, 176,
888
- 181, 179, 267, 38, 270, 271, 178, 81, nil, nil,
889
- nil, nil, nil, nil, nil, nil, nil, nil, 18, nil,
890
- nil, 30, 37, 2, 4, 7, 10, 13, 16, 22,
891
- 25, 29, 33, 36, 1, 3, 6, 9, 12, 15,
892
- 21, nil, 18, 48, nil, nil, 37, 2, 4, 7,
893
- 10, 13, 16, 22, 25, 29, 33, 36, 1, 3,
894
- 6, 9, 12, 15, 21, 30, 109, 132, 134, 137,
895
- 112, nil, nil, 117, 122, nil, nil, nil, nil, nil,
896
- 18, nil, nil, nil, 119, 123, nil, nil, 48, 30,
897
- 16, 22, 25, 29, 33, 36, 1, 3, 6, 9,
898
- 12, 15, 21, 18, nil, nil, nil, nil, nil, nil,
899
- 129, nil, 135, 16, 22, 25, 29, 33, 36, 1,
900
- 3, 6, 9, 12, 15, 21, nil, 30, nil, nil,
901
- nil, nil, nil, nil, nil, nil, nil, 91, nil, nil,
902
- nil, nil, nil, nil, nil, nil, nil, nil, 18, nil,
903
- 30, 34, 37, 2, 4, 7, 10, 13, 16, 22,
904
- 25, 29, 33, 36, 1, 3, 6, 9, 12, 15,
905
- 21, 18, nil, nil, nil, nil, nil, nil, nil, nil,
906
- nil, 16, 22, 25, 29, 33, 36, 1, 3, 6,
907
- 9, 12, 15, 21, 18, 30, nil, nil, nil, nil,
908
- nil, nil, nil, nil, 16, 22, 25, 29, 33, 36,
909
- 1, 3, 6, 9, 12, 15, 21, 198, 30, 132,
910
- 134, 137, 112, nil, nil, 117, 122, 132, 134, 137,
911
- 112, nil, nil, 117, 122, nil, 119, 123, nil, nil,
912
- 48, 30, nil, nil, 119, 123, nil, nil, 48, nil,
913
- 132, 134, 137, 112, nil, nil, 117, 122, nil, nil,
914
- nil, nil, 129, nil, 135, nil, nil, 119, 123, nil,
915
- 129, 48, 135, 132, 134, 137, 112, nil, nil, 117,
916
- 122, 132, 134, 137, 112, nil, nil, 117, 122, nil,
917
- 119, 123, nil, 129, 48, 135, nil, nil, 119, 123,
918
- 142, nil, 48, 144, 132, 134, 137, 112, nil, nil,
919
- 117, 122, nil, nil, nil, nil, 129, nil, 135, nil,
920
- nil, 119, 123, nil, 129, 48, 135, 132, 134, 137,
921
- 112, nil, nil, 117, 122, 132, 134, 137, 112, nil,
922
- nil, 117, 122, nil, 119, 123, nil, 129, 48, 135,
923
- nil, nil, 119, 123, nil, nil, 48, nil, 132, 134,
924
- 137, 112, nil, nil, 117, 122, nil, nil, nil, nil,
925
- 129, nil, 135, nil, nil, 119, 123, nil, 129, 48,
926
- 135, 132, 134, 137, 112, nil, nil, 117, 122, 132,
927
- 134, 137, 112, nil, nil, 117, 122, nil, 119, 123,
928
- nil, 129, 48, 135, nil, nil, 119, 123, nil, nil,
929
- 48, nil, 132, 134, 137, 112, nil, nil, 117, 122,
930
- nil, nil, nil, nil, 129, nil, 135, nil, nil, 119,
931
- 123, nil, 129, 48, 135, 132, 134, 137, 112, nil,
932
- nil, 117, 122, 132, 134, 137, 112, nil, nil, 117,
933
- 122, nil, 119, 123, nil, 129, 48, 135, nil, nil,
934
- 119, 123, nil, nil, 48, nil, 132, 134, 137, 112,
935
- nil, nil, 117, 122, nil, nil, nil, nil, 129, nil,
936
- 135, nil, nil, 119, 123, nil, 129, 48, 135, 132,
937
- 134, 137, 112, nil, nil, 117, 122, 132, 134, 137,
938
- 112, nil, nil, 117, 122, nil, 119, 123, nil, 129,
939
- 48, 135, nil, nil, 119, 123, nil, nil, 48, nil,
940
- 132, 134, 137, 112, nil, nil, 117, 122, nil, nil,
941
- nil, nil, 129, nil, 135, nil, nil, 119, 123, nil,
942
- 129, 48, 135, 132, 134, 137, 112, nil, nil, 117,
943
- 122, 132, 134, 137, 112, nil, nil, 117, 122, nil,
944
- 119, 123, nil, 129, 48, 135, nil, nil, 119, 123,
945
- nil, nil, 48, nil, 132, 134, 137, 112, nil, nil,
946
- 117, 122, nil, nil, nil, nil, 129, nil, 135, nil,
947
- nil, 119, 123, nil, 129, 48, 135, 132, 134, 137,
948
- 112, nil, nil, 117, 122, 132, 134, 137, 112, nil,
949
- nil, 117, 122, nil, 119, 123, 142, 129, 48, 135,
950
- nil, nil, 119, 123, nil, nil, 48, nil, nil, nil,
862
+ 116, 119, 121, 96, 1, 45, 104, 107, 45, 241,
863
+ 1, 250, 242, 72, 97, 1, 77, 256, 1, 257,
864
+ 111, 113, 117, 37, 45, 171, 172, 43, 187, 164,
865
+ 249, 45, 71, 34, 42, 46, 3, 4, 7, 10,
866
+ 13, 16, 21, 27, 33, 41, 122, 241, 116, 119,
867
+ 121, 96, 1, 43, 104, 107, 33, 41, 136, 33,
868
+ 41, 163, 97, 165, 166, 167, 187, 35, 111, 113,
869
+ 117, 37, 45, 45, 174, 175, 176, 177, 196, 168,
870
+ 169, 34, 42, 46, 3, 4, 7, 10, 13, 16,
871
+ 21, 27, 33, 41, 122, 193, 116, 119, 121, 96,
872
+ 1, 1, 104, 107, 197, 116, 119, 121, 96, 45,
873
+ 97, 104, 107, 238, 187, 35, 111, 113, 117, 97,
874
+ 45, 45, 45, 135, 1, 111, 113, 117, 86, 45,
875
+ 250, 193, 116, 119, 121, 96, 1, 1, 104, 107,
876
+ 87, 45, 122, 43, 43, 45, 97, -87, 136, 249,
877
+ 187, 122, 111, 113, 117, 94, 45, 45, 45, 67,
878
+ 67, 132, 264, 72, 168, 169, 88, 43, 165, 166,
879
+ 167, 247, 89, -87, 89, 148, 1, 149, 122, 43,
880
+ 43, 211, 71, 212, 213, 214, 203, 204, 205, 206,
881
+ 207, 208, 210, 165, 166, 167, 37, 45, 114, 5,
882
+ 8, 11, 14, 17, 22, 28, 34, 42, 46, 3,
883
+ 4, 7, 10, 13, 16, 21, 27, 33, 41, 43,
884
+ 150, 1, 174, 175, 176, 177, 8, 11, 14, 17,
885
+ 22, 28, 174, 175, 176, 177, 64, 45, 60, 156,
886
+ 35, 37, 45, 33, 41, 8, 11, 14, 17, 22,
887
+ 28, 34, 42, 46, 3, 4, 7, 10, 13, 16,
888
+ 21, 27, 33, 41, 193, 251, 1, 34, 42, 46,
889
+ 3, 4, 7, 10, 13, 16, 64, 45, 69, 171,
890
+ 172, 171, 172, 187, 157, 35, 37, 171, 172, 159,
891
+ 8, 11, 14, 17, 22, 28, 34, 42, 46, 3,
892
+ 4, 7, 10, 13, 16, 21, 27, 33, 41, 241,
893
+ 251, 116, 119, 121, 96, 152, 153, 104, 107, 259,
894
+ 116, 119, 121, 96, 161, 97, 104, 107, 187, 45,
895
+ 35, 111, 113, 117, 97, 45, 143, 168, 169, 156,
896
+ 111, 113, 117, 157, 45, 143, 158, 116, 119, 121,
897
+ 96, 171, 172, 104, 107, 152, 153, 122, 159, 161,
898
+ 217, 97, 45, 260, 198, 270, 122, 111, 113, 117,
899
+ 194, 45, 183, 262, 202, 116, 119, 121, 96, 186,
900
+ 185, 104, 107, 51, 116, 119, 121, 96, 267, 97,
901
+ 104, 107, 268, 122, 50, 111, 113, 117, 97, 45,
902
+ 184, 272, 273, nil, 111, 113, 117, nil, 45, nil,
903
+ nil, 116, 119, 121, 96, nil, nil, 104, 107, nil,
904
+ nil, 179, nil, nil, nil, 97, nil, nil, nil, nil,
905
+ 122, 111, 113, 117, nil, 45, nil, nil, 116, 119,
906
+ 121, 96, nil, nil, 104, 107, nil, 116, 119, 121,
907
+ 96, nil, 97, 104, 107, nil, nil, 122, 111, 113,
908
+ 117, 97, 45, nil, nil, nil, nil, 111, 113, 117,
909
+ nil, 45, nil, nil, 116, 119, 121, 96, nil, nil,
910
+ 104, 107, nil, nil, 122, nil, nil, nil, 97, nil,
911
+ nil, nil, nil, 122, 111, 113, 117, nil, 45, nil,
912
+ nil, 116, 119, 121, 96, nil, nil, 104, 107, nil,
913
+ 116, 119, 121, 96, nil, 97, 104, 107, nil, nil,
914
+ 122, 111, 113, 117, 97, 45, nil, nil, nil, nil,
915
+ 111, 113, 117, nil, 45, nil, nil, 116, 119, 121,
916
+ 96, nil, nil, 104, 107, nil, nil, 122, nil, nil,
917
+ nil, 97, nil, nil, nil, nil, 122, 111, 113, 117,
918
+ nil, 45, nil, nil, 116, 119, 121, 96, nil, nil,
919
+ 104, 107, nil, 116, 119, 121, 96, nil, 97, 104,
920
+ 107, nil, nil, 122, 111, 113, 117, 97, 45, nil,
921
+ nil, nil, nil, 111, 113, 117, nil, 45, nil, nil,
922
+ 116, 119, 121, 96, nil, nil, 104, 107, nil, nil,
923
+ 122, nil, nil, nil, 97, nil, nil, nil, nil, 122,
924
+ 111, 113, 117, nil, 45, nil, nil, 116, 119, 121,
925
+ 96, nil, nil, 104, 107, nil, 116, 119, 121, 96,
926
+ nil, 97, 104, 107, nil, nil, 122, 111, 113, 117,
927
+ 97, 45, nil, nil, nil, nil, 111, 113, 117, nil,
928
+ 45, nil, nil, 116, 119, 121, 96, nil, nil, 104,
929
+ 107, nil, nil, 122, nil, nil, nil, 97, nil, nil,
930
+ nil, nil, 122, 111, 113, 117, nil, 45, nil, nil,
931
+ 116, 119, 121, 96, nil, nil, 104, 107, nil, 116,
932
+ 119, 121, 96, nil, 97, 104, 107, nil, nil, 122,
933
+ 111, 113, 117, 97, 45, nil, nil, nil, nil, 111,
934
+ 113, 117, nil, 45, nil, nil, 116, 119, 121, 96,
935
+ nil, nil, 104, 107, nil, nil, 122, nil, nil, nil,
936
+ 97, nil, nil, nil, nil, 122, 111, 113, 117, nil,
937
+ 45, nil, nil, 116, 119, 121, 96, nil, nil, 104,
938
+ 107, nil, 116, 119, 121, 96, nil, 97, 104, 107,
939
+ nil, nil, 122, 111, 113, 117, 97, 45, nil, nil,
940
+ nil, nil, 111, 113, 117, nil, 45, nil, nil, 116,
941
+ 119, 121, 96, nil, nil, 104, 107, nil, nil, 122,
942
+ nil, nil, nil, 97, nil, nil, nil, nil, 122, 111,
943
+ 113, 117, nil, 45, 143, nil, 116, 119, 121, 96,
944
+ nil, nil, 104, 107, nil, 116, 119, 121, 96, nil,
945
+ 97, 104, 107, nil, nil, 122, 111, 113, 117, 97,
946
+ 45, nil, nil, nil, nil, 111, 113, 117, nil, 45,
947
+ nil, nil, 116, 119, 121, 96, nil, nil, 104, 107,
948
+ nil, nil, 122, nil, nil, nil, 97, nil, nil, nil,
949
+ nil, 122, 111, 113, 117, nil, 45, nil, nil, 116,
950
+ 119, 121, 96, nil, nil, 104, 107, nil, 116, 119,
951
+ 121, 96, nil, 97, 104, 107, nil, nil, 122, 111,
952
+ 113, 117, 97, 45, nil, nil, nil, nil, 111, 113,
953
+ 117, nil, 45, nil, nil, 116, 119, 121, 96, nil,
954
+ nil, 104, 107, nil, nil, 122, nil, nil, nil, 97,
955
+ nil, nil, nil, nil, 122, 111, 113, 117, nil, 45,
956
+ nil, nil, 116, 119, 121, 96, nil, nil, 104, 107,
957
+ nil, 116, 119, 121, 96, nil, 97, 104, 107, nil,
958
+ nil, 122, 111, 113, 117, 97, 45, nil, nil, nil,
959
+ nil, 111, 113, 117, nil, 45, nil, nil, 116, 119,
960
+ 121, 96, nil, nil, 104, 107, nil, nil, 122, nil,
961
+ nil, nil, 97, nil, nil, nil, nil, 122, 111, 113,
962
+ 117, nil, 45, nil, nil, 116, 119, 121, 96, nil,
963
+ nil, 104, 107, nil, 116, 119, 121, 96, nil, 97,
964
+ 104, 107, nil, nil, 122, 111, 113, 117, 97, 45,
965
+ nil, nil, nil, nil, 111, 113, 117, nil, 45, nil,
966
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
967
+ nil, 122, nil, nil, nil, nil, nil, 37, nil, nil,
968
+ 122, 8, 11, 14, 17, 22, 28, 34, 42, 46,
969
+ 3, 4, 7, 10, 13, 16, 21, 27, 33, 41,
970
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
971
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 37,
972
+ nil, 35, 244, 8, 11, 14, 17, 22, 28, 34,
973
+ 42, 46, 3, 4, 7, 10, 13, 16, 21, 27,
974
+ 33, 41, nil, 265, nil, nil, nil, nil, nil, nil,
975
+ nil, nil, nil, nil, 37, nil, nil, nil, nil, nil,
976
+ nil, nil, nil, 35, 34, 42, 46, 3, 4, 7,
977
+ 10, 13, 16, 21, 27, 33, 41, nil, nil, nil,
978
+ nil, nil, nil, nil, nil, 134, nil, nil, nil, nil,
979
+ nil, nil, nil, nil, nil, 37, nil, nil, 35, 8,
980
+ 11, 14, 17, 22, 28, 34, 42, 46, 3, 4,
981
+ 7, 10, 13, 16, 21, 27, 33, 41, nil, nil,
951
982
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
952
- 129, nil, 135, nil, nil, nil, nil, nil, 129, nil,
953
- 135, 132, 134, 137, 112, nil, nil, 117, 122, 132,
954
- 134, 137, 112, nil, nil, 117, 122, nil, 119, 123,
955
- 142, nil, 48, 144, nil, nil, 119, 123, nil, nil,
956
- 48, nil, 132, 134, 137, 112, nil, nil, 117, 122,
957
- nil, nil, nil, nil, 129, nil, 135, nil, nil, 119,
958
- 123, nil, 129, 48, 135, 132, 134, 137, 112, nil,
959
- nil, 117, 122, nil, nil, nil, nil, nil, nil, nil,
960
- nil, nil, 119, 123, nil, 129, 48, 135, nil, nil,
983
+ nil, nil, nil, nil, nil, nil, 37, nil, nil, 35,
984
+ 8, 11, 14, 17, 22, 28, 34, 42, 46, 3,
985
+ 4, 7, 10, 13, 16, 21, 27, 33, 41, nil,
961
986
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
962
- nil, nil, nil, nil, nil, nil, nil, nil, 129, nil,
963
- 135 ]
987
+ nil, 37, nil, nil, nil, nil, nil, nil, nil, nil,
988
+ 35, 34, 42, 46, 3, 4, 7, 10, 13, 16,
989
+ 21, 27, 33, 41, nil, nil, nil, nil, nil, nil,
990
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
991
+ nil, nil, 37, 45, nil, 35, 8, 11, 14, 17,
992
+ 22, 28, 34, 42, 46, 3, 4, 7, 10, 13,
993
+ 16, 21, 27, 33, 41, nil, 125, nil, nil, nil,
994
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
995
+ nil, nil, nil, 37, nil, nil, 35, 8, 11, 14,
996
+ 17, 22, 28, 34, 42, 46, 3, 4, 7, 10,
997
+ 13, 16, 21, 27, 33, 41, nil, nil, nil, nil,
998
+ nil, nil, nil, nil, nil, nil, nil, nil, 37, nil,
999
+ nil, nil, nil, nil, nil, nil, nil, 35, 34, 42,
1000
+ 46, 3, 4, 7, 10, 13, 16, 21, 27, 33,
1001
+ 41, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1002
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 37,
1003
+ nil, nil, 35, 8, 11, 14, 17, 22, 28, 34,
1004
+ 42, 46, 3, 4, 7, 10, 13, 16, 21, 27,
1005
+ 33, 41, nil, nil, nil, nil, nil, nil, nil, nil,
1006
+ nil, nil, nil, nil, 37, nil, nil, nil, nil, nil,
1007
+ nil, nil, nil, 35, 34, 42, 46, 3, 4, 7,
1008
+ 10, 13, 16, 21, 27, 33, 41, nil, nil, nil,
1009
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 37,
1010
+ nil, nil, nil, nil, nil, nil, nil, nil, 35, 34,
1011
+ 42, 46, 3, 4, 7, 10, 13, 16, 21, 27,
1012
+ 33, 41, nil, nil, nil, nil, nil, nil, nil, nil,
1013
+ 199, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1014
+ nil, nil, nil, 35 ]
964
1015
 
965
1016
  racc_action_check = [
966
- 129, 129, 129, 129, 108, 162, 129, 129, 79, 79,
967
- 79, 79, 60, 126, 79, 79, 186, 129, 129, 185,
968
- 129, 129, 108, 184, 57, 79, 79, 162, 61, 79,
969
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
970
- 129, 129, 129, 129, 108, 129, 57, 50, 126, 162,
971
- 71, 79, 153, 79, 159, 159, 159, 159, 67, 185,
972
- 159, 159, 229, 229, 229, 229, 108, 129, 229, 229,
973
- 153, 159, 159, 28, 79, 159, 67, 74, 67, 229,
974
- 229, 185, 93, 229, 82, 50, 50, 51, 71, 71,
975
- 245, 28, 153, 28, 44, 74, 56, 159, 67, 159,
976
- 153, 165, 82, 38, 82, 229, 67, 229, 243, 113,
977
- 113, 93, 245, 28, 236, 236, 51, 74, 56, 213,
978
- 159, 213, 76, 165, 82, 243, 230, 230, 229, 243,
979
- 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
980
- 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
981
- 30, 30, 30, 77, 231, 231, 161, 141, 54, 141,
982
- 141, 141, 141, 141, 141, 141, 141, 141, 141, 84,
983
- 243, 85, 243, 161, 161, 77, 54, 161, 161, 161,
984
- 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
985
- 161, 161, 161, 161, 161, 161, 161, 161, 54, 111,
986
- 111, 111, 111, 222, 256, 256, 256, 256, 136, 136,
987
- 256, 256, 234, 234, 234, 234, 133, 133, 161, 225,
988
- 161, 256, 256, 256, 157, 256, 256, 226, 157, 157,
989
- 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
990
- 157, 157, 157, 157, 157, 157, 157, 256, 227, 256,
991
- 20, 20, 20, 20, 20, 20, 232, 232, 256, 252,
992
- 252, 117, 117, 49, 86, 117, 87, 20, 20, 95,
993
- 227, 157, 157, 49, 49, 49, 49, 49, 49, 49,
994
- 49, 49, 49, 49, 49, 49, 32, 117, 253, 253,
995
- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
996
- 32, 32, 32, 32, 32, 32, 32, 32, 32, 198,
997
- 49, 135, 135, 134, 134, 135, 101, 134, 103, 198,
998
- 198, 198, 198, 198, 198, 198, 198, 198, 198, 198,
999
- 198, 198, 89, 32, 132, 132, 105, 135, 132, 134,
1000
- 233, 233, 89, 89, 89, 89, 89, 89, 89, 89,
1001
- 89, 89, 89, 89, 89, 158, 198, 251, 251, 251,
1002
- 132, 235, 235, 235, 235, 107, 89, 26, 26, 26,
1003
- 131, 131, 131, 112, 112, 110, 83, 112, 150, 89,
1004
- 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
1005
- 83, 83, 83, 83, 83, 83, 83, 83, 83, 112,
1006
- 228, 250, 250, 250, 228, 228, 228, 228, 228, 228,
1007
- 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
1008
- 228, 228, 228, 83, 228, 23, 23, 23, 23, 23,
1009
- 23, 23, 23, 23, 237, 238, 239, 240, 241, 147,
1010
- 115, 122, 122, 17, 59, 122, 59, 228, 59, 59,
1011
- 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
1012
- 59, 59, 59, 59, 59, 59, 59, 122, 138, 116,
1013
- 124, 121, 254, 5, 262, 263, 120, 59, nil, nil,
1014
- nil, nil, nil, nil, nil, nil, nil, nil, 19, nil,
1015
- nil, 59, 19, 19, 19, 19, 19, 19, 19, 19,
1016
- 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
1017
- 19, nil, 78, 78, nil, nil, 78, 78, 78, 78,
1018
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
1019
- 78, 78, 78, 78, 78, 19, 78, 182, 182, 182,
1020
- 182, nil, nil, 182, 182, nil, nil, nil, nil, nil,
1021
- 64, nil, nil, nil, 182, 182, nil, nil, 182, 78,
1022
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
1023
- 64, 64, 64, 65, nil, nil, nil, nil, nil, nil,
1024
- 182, nil, 182, 65, 65, 65, 65, 65, 65, 65,
1025
- 65, 65, 65, 65, 65, 65, nil, 64, nil, nil,
1026
- nil, nil, nil, nil, nil, nil, nil, 65, nil, nil,
1027
- nil, nil, nil, nil, nil, nil, nil, nil, 0, nil,
1028
- 65, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1017
+ 122, 122, 122, 122, 181, 29, 122, 122, 186, 240,
1018
+ 197, 248, 182, 59, 122, 1, 50, 201, 47, 201,
1019
+ 122, 122, 122, 122, 122, 233, 233, 29, 240, 108,
1020
+ 248, 197, 59, 122, 122, 122, 122, 122, 122, 122,
1021
+ 122, 122, 122, 122, 122, 122, 122, 181, 179, 179,
1022
+ 179, 179, 130, 197, 179, 179, 1, 1, 197, 47,
1023
+ 47, 108, 179, 230, 230, 230, 181, 122, 179, 179,
1024
+ 179, 179, 179, 130, 219, 219, 219, 219, 137, 232,
1025
+ 232, 179, 179, 179, 179, 179, 179, 179, 179, 179,
1026
+ 179, 179, 179, 179, 179, 130, 249, 249, 249, 249,
1027
+ 82, 43, 249, 249, 137, 187, 187, 187, 187, 189,
1028
+ 249, 187, 187, 180, 130, 179, 249, 249, 249, 187,
1029
+ 249, 82, 43, 82, 88, 187, 187, 187, 61, 187,
1030
+ 192, 189, 71, 71, 71, 71, 57, 32, 71, 71,
1031
+ 65, 69, 249, 82, 43, 88, 71, 68, 82, 192,
1032
+ 189, 187, 71, 71, 71, 70, 71, 57, 32, 57,
1033
+ 32, 74, 249, 36, 231, 231, 65, 88, 229, 229,
1034
+ 229, 187, 78, 68, 68, 90, 0, 91, 71, 57,
1035
+ 32, 146, 36, 146, 146, 146, 146, 146, 146, 146,
1036
+ 146, 146, 146, 112, 112, 112, 0, 0, 71, 0,
1037
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1029
1038
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1030
- 0, 70, nil, nil, nil, nil, nil, nil, nil, nil,
1031
- nil, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1032
- 70, 70, 70, 70, 137, 0, nil, nil, nil, nil,
1033
- nil, nil, nil, nil, 137, 137, 137, 137, 137, 137,
1034
- 137, 137, 137, 137, 137, 137, 137, 137, 70, 179,
1035
- 179, 179, 179, nil, nil, 179, 179, 176, 176, 176,
1036
- 176, nil, nil, 176, 176, nil, 179, 179, nil, nil,
1037
- 179, 137, nil, nil, 176, 176, nil, nil, 176, nil,
1038
- 183, 183, 183, 183, nil, nil, 183, 183, nil, nil,
1039
- nil, nil, 179, nil, 179, nil, nil, 183, 183, nil,
1040
- 176, 183, 176, 187, 187, 187, 187, nil, nil, 187,
1041
- 187, 81, 81, 81, 81, nil, nil, 81, 81, nil,
1042
- 187, 187, nil, 183, 187, 183, nil, nil, 81, 81,
1043
- 81, nil, 81, 81, 175, 175, 175, 175, nil, nil,
1044
- 175, 175, nil, nil, nil, nil, 187, nil, 187, nil,
1045
- nil, 175, 175, nil, 81, 175, 81, 188, 188, 188,
1046
- 188, nil, nil, 188, 188, 174, 174, 174, 174, nil,
1047
- nil, 174, 174, nil, 188, 188, nil, 175, 188, 175,
1048
- nil, nil, 174, 174, nil, nil, 174, nil, 173, 173,
1049
- 173, 173, nil, nil, 173, 173, nil, nil, nil, nil,
1050
- 188, nil, 188, nil, nil, 173, 173, nil, 174, 173,
1051
- 174, 172, 172, 172, 172, nil, nil, 172, 172, 170,
1052
- 170, 170, 170, nil, nil, 170, 170, nil, 172, 172,
1053
- nil, 173, 172, 173, nil, nil, 170, 170, nil, nil,
1054
- 170, nil, 189, 189, 189, 189, nil, nil, 189, 189,
1055
- nil, nil, nil, nil, 172, nil, 172, nil, nil, 189,
1056
- 189, nil, 170, 189, 170, 92, 92, 92, 92, nil,
1057
- nil, 92, 92, 169, 169, 169, 169, nil, nil, 169,
1058
- 169, nil, 92, 92, nil, 189, 92, 189, nil, nil,
1059
- 169, 169, nil, nil, 169, nil, 168, 168, 168, 168,
1060
- nil, nil, 168, 168, nil, nil, nil, nil, 92, nil,
1061
- 92, nil, nil, 168, 168, nil, 169, 168, 169, 167,
1062
- 167, 167, 167, nil, nil, 167, 167, 191, 191, 191,
1063
- 191, nil, nil, 191, 191, nil, 167, 167, nil, 168,
1064
- 167, 168, nil, nil, 191, 191, nil, nil, 191, nil,
1065
- 192, 192, 192, 192, nil, nil, 192, 192, nil, nil,
1066
- nil, nil, 167, nil, 167, nil, nil, 192, 192, nil,
1067
- 191, 192, 191, 195, 195, 195, 195, nil, nil, 195,
1068
- 195, 196, 196, 196, 196, nil, nil, 196, 196, nil,
1069
- 195, 195, nil, 192, 195, 192, nil, nil, 196, 196,
1070
- nil, nil, 196, nil, 155, 155, 155, 155, nil, nil,
1071
- 155, 155, nil, nil, nil, nil, 195, nil, 195, nil,
1072
- nil, 155, 155, nil, 196, 155, 196, 206, 206, 206,
1073
- 206, nil, nil, 206, 206, 148, 148, 148, 148, nil,
1074
- nil, 148, 148, nil, 206, 206, 206, 155, 206, 155,
1075
- nil, nil, 148, 148, nil, nil, 148, nil, nil, nil,
1039
+ 92, 193, 218, 218, 218, 218, 20, 20, 20, 20,
1040
+ 20, 20, 120, 120, 120, 120, 30, 30, 30, 221,
1041
+ 0, 193, 193, 20, 20, 193, 193, 193, 193, 193,
1042
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
1043
+ 193, 193, 193, 193, 193, 193, 241, 24, 24, 24,
1044
+ 24, 24, 24, 24, 24, 24, 35, 35, 35, 234,
1045
+ 234, 235, 235, 193, 222, 193, 241, 236, 236, 223,
1046
+ 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1047
+ 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1048
+ 241, 256, 256, 256, 256, 95, 95, 256, 256, 224,
1049
+ 143, 143, 143, 143, 225, 256, 143, 143, 241, 94,
1050
+ 241, 256, 256, 256, 143, 256, 256, 115, 115, 99,
1051
+ 143, 143, 143, 100, 143, 143, 102, 168, 168, 168,
1052
+ 168, 118, 118, 168, 168, 220, 220, 256, 103, 105,
1053
+ 151, 168, 150, 237, 139, 256, 143, 168, 168, 168,
1054
+ 131, 168, 123, 246, 143, 121, 121, 121, 121, 129,
1055
+ 127, 121, 121, 18, 198, 198, 198, 198, 252, 121,
1056
+ 198, 198, 253, 168, 6, 121, 121, 121, 198, 121,
1057
+ 126, 263, 266, nil, 198, 198, 198, nil, 198, nil,
1058
+ nil, 209, 209, 209, 209, nil, nil, 209, 209, nil,
1059
+ nil, 121, nil, nil, nil, 209, nil, nil, nil, nil,
1060
+ 198, 209, 209, 209, nil, 209, nil, nil, 259, 259,
1061
+ 259, 259, nil, nil, 259, 259, nil, 177, 177, 177,
1062
+ 177, nil, 259, 177, 177, nil, nil, 209, 259, 259,
1063
+ 259, 177, 259, nil, nil, nil, nil, 177, 177, 177,
1064
+ nil, 177, nil, nil, 119, 119, 119, 119, nil, nil,
1065
+ 119, 119, nil, nil, 259, nil, nil, nil, 119, nil,
1066
+ nil, nil, nil, 177, 119, 119, 119, nil, 119, nil,
1067
+ nil, 176, 176, 176, 176, nil, nil, 176, 176, nil,
1068
+ 175, 175, 175, 175, nil, 176, 175, 175, nil, nil,
1069
+ 119, 176, 176, 176, 175, 176, nil, nil, nil, nil,
1070
+ 175, 175, 175, nil, 175, nil, nil, 174, 174, 174,
1071
+ 174, nil, nil, 174, 174, nil, nil, 176, nil, nil,
1072
+ nil, 174, nil, nil, nil, nil, 175, 174, 174, 174,
1073
+ nil, 174, nil, nil, 172, 172, 172, 172, nil, nil,
1074
+ 172, 172, nil, 171, 171, 171, 171, nil, 172, 171,
1075
+ 171, nil, nil, 174, 172, 172, 172, 171, 172, nil,
1076
+ nil, nil, nil, 171, 171, 171, nil, 171, nil, nil,
1077
+ 136, 136, 136, 136, nil, nil, 136, 136, nil, nil,
1078
+ 172, nil, nil, nil, 136, nil, nil, nil, nil, 171,
1079
+ 136, 136, 136, nil, 136, nil, nil, 116, 116, 116,
1080
+ 116, nil, nil, 116, 116, nil, 169, 169, 169, 169,
1081
+ nil, 116, 169, 169, nil, nil, 136, 116, 116, 116,
1082
+ 169, 116, nil, nil, nil, nil, 169, 169, 169, nil,
1083
+ 169, nil, nil, 148, 148, 148, 148, nil, nil, 148,
1084
+ 148, nil, nil, 116, nil, nil, nil, 148, nil, nil,
1085
+ nil, nil, 169, 148, 148, 148, nil, 148, nil, nil,
1086
+ 107, 107, 107, 107, nil, nil, 107, 107, nil, 242,
1087
+ 242, 242, 242, nil, 107, 242, 242, nil, nil, 148,
1088
+ 107, 107, 107, 242, 107, nil, nil, nil, nil, 242,
1089
+ 242, 242, nil, 242, nil, nil, 152, 152, 152, 152,
1090
+ nil, nil, 152, 152, nil, nil, 107, nil, nil, nil,
1091
+ 152, nil, nil, nil, nil, 242, 152, 152, 152, nil,
1092
+ 152, nil, nil, 104, 104, 104, 104, nil, nil, 104,
1093
+ 104, nil, 167, 167, 167, 167, nil, 104, 167, 167,
1094
+ nil, nil, 152, 104, 104, 104, 167, 104, nil, nil,
1095
+ nil, nil, 167, 167, 167, nil, 167, nil, nil, 89,
1096
+ 89, 89, 89, nil, nil, 89, 89, nil, nil, 104,
1097
+ nil, nil, nil, 89, nil, nil, nil, nil, 167, 89,
1098
+ 89, 89, nil, 89, 89, nil, 153, 153, 153, 153,
1099
+ nil, nil, 153, 153, nil, 165, 165, 165, 165, nil,
1100
+ 153, 165, 165, nil, nil, 89, 153, 153, 153, 165,
1101
+ 153, nil, nil, nil, nil, 165, 165, 165, nil, 165,
1102
+ nil, nil, 164, 164, 164, 164, nil, nil, 164, 164,
1103
+ nil, nil, 153, nil, nil, nil, 164, nil, nil, nil,
1104
+ nil, 165, 164, 164, 164, nil, 164, nil, nil, 163,
1105
+ 163, 163, 163, nil, nil, 163, 163, nil, 161, 161,
1106
+ 161, 161, nil, 163, 161, 161, nil, nil, 164, 163,
1107
+ 163, 163, 161, 163, nil, nil, nil, nil, 161, 161,
1108
+ 161, nil, 161, nil, nil, 96, 96, 96, 96, nil,
1109
+ nil, 96, 96, nil, nil, 163, nil, nil, nil, 96,
1110
+ nil, nil, nil, nil, 161, 96, 96, 96, nil, 96,
1111
+ nil, nil, 97, 97, 97, 97, nil, nil, 97, 97,
1112
+ nil, 159, 159, 159, 159, nil, 97, 159, 159, nil,
1113
+ nil, 96, 97, 97, 97, 159, 97, nil, nil, nil,
1114
+ nil, 159, 159, 159, nil, 159, nil, nil, 157, 157,
1115
+ 157, 157, nil, nil, 157, 157, nil, nil, 97, nil,
1116
+ nil, nil, 157, nil, nil, nil, nil, 159, 157, 157,
1117
+ 157, nil, 157, nil, nil, 156, 156, 156, 156, nil,
1118
+ nil, 156, 156, nil, 166, 166, 166, 166, nil, 156,
1119
+ 166, 166, nil, nil, 157, 156, 156, 156, 166, 156,
1120
+ nil, nil, nil, nil, 166, 166, 166, nil, 166, nil,
1121
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1122
+ nil, 156, nil, nil, nil, nil, nil, 185, nil, nil,
1123
+ 166, 185, 185, 185, 185, 185, 185, 185, 185, 185,
1124
+ 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
1125
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1126
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 250,
1127
+ nil, 185, 185, 250, 250, 250, 250, 250, 250, 250,
1128
+ 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
1129
+ 250, 250, nil, 250, nil, nil, nil, nil, nil, nil,
1130
+ nil, nil, nil, nil, 80, nil, nil, nil, nil, nil,
1131
+ nil, nil, nil, 250, 80, 80, 80, 80, 80, 80,
1132
+ 80, 80, 80, 80, 80, 80, 80, nil, nil, nil,
1133
+ nil, nil, nil, nil, nil, 80, nil, nil, nil, nil,
1134
+ nil, nil, nil, nil, nil, 39, nil, nil, 80, 39,
1135
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
1136
+ 39, 39, 39, 39, 39, 39, 39, 39, nil, nil,
1137
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1138
+ nil, nil, nil, nil, nil, nil, 19, nil, nil, 39,
1139
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
1140
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, nil,
1076
1141
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1077
- 206, nil, 206, nil, nil, nil, nil, nil, 148, nil,
1078
- 148, 144, 144, 144, 144, nil, nil, 144, 144, 246,
1079
- 246, 246, 246, nil, nil, 246, 246, nil, 144, 144,
1080
- 144, nil, 144, 144, nil, nil, 246, 246, nil, nil,
1081
- 246, nil, 181, 181, 181, 181, nil, nil, 181, 181,
1082
- nil, nil, nil, nil, 144, nil, 144, nil, nil, 181,
1083
- 181, nil, 246, 181, 246, 265, 265, 265, 265, nil,
1084
- nil, 265, 265, nil, nil, nil, nil, nil, nil, nil,
1085
- nil, nil, 265, 265, nil, 181, 265, 181, nil, nil,
1142
+ nil, 85, nil, nil, nil, nil, nil, nil, nil, nil,
1143
+ 19, 85, 85, 85, 85, 85, 85, 85, 85, 85,
1144
+ 85, 85, 85, 85, nil, nil, nil, nil, nil, nil,
1086
1145
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1087
- nil, nil, nil, nil, nil, nil, nil, nil, 265, nil,
1088
- 265 ]
1146
+ nil, nil, 72, 72, nil, 85, 72, 72, 72, 72,
1147
+ 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
1148
+ 72, 72, 72, 72, 72, nil, 72, nil, nil, nil,
1149
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1150
+ nil, nil, nil, 26, nil, nil, 72, 26, 26, 26,
1151
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1152
+ 26, 26, 26, 26, 26, 26, nil, nil, nil, nil,
1153
+ nil, nil, nil, nil, nil, nil, nil, nil, 60, nil,
1154
+ nil, nil, nil, nil, nil, nil, nil, 26, 60, 60,
1155
+ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
1156
+ 60, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1157
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 58,
1158
+ nil, nil, 60, 58, 58, 58, 58, 58, 58, 58,
1159
+ 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1160
+ 58, 58, nil, nil, nil, nil, nil, nil, nil, nil,
1161
+ nil, nil, nil, nil, 86, nil, nil, nil, nil, nil,
1162
+ nil, nil, nil, 58, 86, 86, 86, 86, 86, 86,
1163
+ 86, 86, 86, 86, 86, 86, 86, nil, nil, nil,
1164
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 141,
1165
+ nil, nil, nil, nil, nil, nil, nil, nil, 86, 141,
1166
+ 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
1167
+ 141, 141, nil, nil, nil, nil, nil, nil, nil, nil,
1168
+ 141, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1169
+ nil, nil, nil, 141 ]
1089
1170
 
1090
1171
  racc_action_pointer = [
1091
- 590, nil, nil, nil, nil, 473, nil, nil, nil, nil,
1092
- nil, nil, nil, nil, nil, nil, nil, 413, nil, 460,
1093
- 218, nil, nil, 387, nil, nil, 339, nil, 62, nil,
1094
- 122, nil, 258, nil, nil, nil, nil, nil, 103, nil,
1095
- nil, nil, nil, nil, 64, nil, nil, nil, nil, 235,
1096
- 36, 56, nil, nil, 147, nil, 67, -27, nil, 416,
1097
- -18, -1, nil, nil, 522, 545, nil, 47, nil, nil,
1098
- 613, 39, nil, nil, 66, nil, 70, 102, 484, 0,
1099
- nil, 743, 73, 348, 140, 110, 202, 206, nil, 304,
1100
- nil, nil, 897, 51, nil, 210, nil, nil, nil, nil,
1101
- nil, 255, nil, 266, nil, 276, nil, 305, -7, nil,
1102
- 323, 183, 348, 89, nil, 387, 413, 236, nil, nil,
1103
- 402, 414, 416, nil, 448, nil, -10, nil, nil, -8,
1104
- nil, 359, 309, 202, 288, 286, 154, 636, 441, nil,
1105
- nil, 96, nil, nil, 1113, nil, nil, 377, 1067, nil,
1106
- 349, nil, nil, 41, nil, 1036, nil, 196, 326, 46,
1107
- nil, 145, -24, nil, nil, 50, nil, 951, 928, 905,
1108
- 851, nil, 843, 820, 797, 766, 689, nil, nil, 681,
1109
- nil, 1144, 529, 712, -29, 8, -36, 735, 789, 874,
1110
- nil, 959, 982, nil, nil, 1005, 1013, nil, 281, nil,
1111
- nil, nil, nil, nil, nil, nil, 1059, nil, nil, nil,
1112
- nil, nil, nil, 59, nil, nil, nil, nil, nil, nil,
1113
- nil, nil, 129, nil, nil, 167, 175, 197, 372, 54,
1114
- 72, 100, 202, 286, 196, 345, 94, 381, 379, 379,
1115
- 415, 379, nil, 97, nil, 39, 1121, nil, nil, nil,
1116
- 390, 346, 245, 274, 420, nil, 196, nil, nil, nil,
1117
- nil, nil, 422, 401, nil, 1167, nil, nil, nil, nil,
1118
- nil, nil, nil ]
1172
+ 165, 4, nil, nil, nil, nil, 394, nil, nil, nil,
1173
+ nil, nil, nil, nil, nil, nil, nil, nil, 350, 1185,
1174
+ 191, nil, nil, nil, 226, nil, 1302, nil, nil, -27,
1175
+ 205, nil, 126, nil, nil, 245, 109, nil, nil, 1144,
1176
+ nil, nil, nil, 90, nil, nil, nil, 7, nil, nil,
1177
+ 16, nil, nil, nil, nil, nil, nil, 125, 1378, -41,
1178
+ 1337, 95, nil, nil, nil, 106, nil, nil, 113, 109,
1179
+ 122, 124, 1261, nil, 106, nil, nil, nil, 111, nil,
1180
+ 1103, nil, 89, nil, nil, 1220, 1413, nil, 113, 781,
1181
+ 114, 115, 160, nil, 297, 295, 907, 934, nil, 317,
1182
+ 320, nil, 272, 334, 745, 334, nil, 682, 3, nil,
1183
+ nil, nil, 182, nil, nil, 323, 619, nil, 295, 466,
1184
+ 216, 367, -8, 342, nil, nil, 345, 320, nil, 319,
1185
+ 41, 315, nil, nil, nil, nil, 592, 44, nil, 305,
1186
+ nil, 1448, nil, 312, nil, nil, 120, nil, 655, nil,
1187
+ 330, 298, 718, 808, nil, nil, 997, 970, nil, 943,
1188
+ nil, 880, nil, 871, 844, 817, 1006, 754, 339, 628,
1189
+ nil, 565, 556, nil, 529, 502, 493, 439, nil, 40,
1190
+ 58, -7, -43, nil, nil, 1026, -24, 97, nil, 77,
1191
+ nil, nil, 76, 210, nil, nil, nil, -1, 376, nil,
1192
+ nil, -43, nil, nil, nil, nil, nil, nil, nil, 403,
1193
+ nil, nil, nil, nil, nil, nil, nil, nil, 206, 58,
1194
+ 335, 217, 261, 265, 260, 299, nil, nil, nil, 157,
1195
+ 52, 150, 65, -31, 223, 225, 231, 308, nil, nil,
1196
+ -45, 255, 691, nil, nil, nil, 299, nil, -43, 88,
1197
+ 1068, nil, 333, 337, nil, nil, 303, nil, nil, 430,
1198
+ nil, nil, nil, 327, nil, nil, 347, nil, nil, nil,
1199
+ nil, nil, nil, nil ]
1119
1200
 
1120
1201
  racc_action_default = [
1121
- -5, -19, -8, -20, -9, -185, -21, -10, -1, -22,
1122
- -11, -2, -23, -12, -3, -24, -13, -185, -117, -185,
1123
- -109, -25, -14, -112, -106, -15, -185, -114, -185, -16,
1124
- -185, -115, -185, -17, -6, -116, -18, -7, -185, -4,
1125
- -110, -107, -108, -113, -122, -118, -119, -30, -29, -185,
1126
- -155, -185, -138, -83, -185, -135, -185, -137, -82, -85,
1127
- -147, -185, -111, 273, -185, -185, -123, -185, -127, -128,
1128
- -185, -154, -157, -158, -185, -81, -185, -136, -185, -185,
1129
- -79, -185, -185, -77, -185, -152, -185, -148, -150, -185,
1130
- -124, -121, -185, -185, -130, -132, -126, -129, -156, -159,
1131
- -84, -85, -139, -185, -168, -160, -162, -167, -166, -144,
1132
- -185, -61, -185, -64, -33, -66, -68, -185, -35, -31,
1133
- -185, -70, -185, -32, -72, -44, -74, -76, -46, -185,
1134
- -141, -50, -185, -53, -185, -185, -56, -185, -93, -86,
1135
- -87, -44, -26, -92, -185, -27, -80, -185, -185, -146,
1136
- -149, -120, -133, -185, -125, -185, -143, -185, -185, -185,
1137
- -165, -185, -173, -172, -164, -174, -142, -185, -185, -185,
1138
- -185, -37, -185, -185, -185, -185, -185, -38, -140, -185,
1139
- -39, -185, -185, -185, -185, -170, -185, -185, -185, -185,
1140
- -40, -185, -185, -41, -36, -185, -185, -42, -185, -28,
1141
- -99, -100, -101, -102, -103, -104, -185, -105, -95, -96,
1142
- -97, -98, -90, -185, -145, -153, -151, -131, -134, -163,
1143
- -161, -169, -185, -177, -181, -185, -185, -175, -185, -185,
1144
- -57, -59, -58, -60, -62, -63, -65, -67, -69, -71,
1145
- -73, -185, -34, -185, -171, -173, -185, -47, -48, -49,
1146
- -51, -52, -55, -54, -185, -94, -185, -88, -178, -176,
1147
- -182, -183, -185, -185, -179, -185, -45, -43, -91, -89,
1148
- -184, -180, -75 ]
1202
+ -5, -157, -140, -16, -17, -6, -187, -18, -7, -1,
1203
+ -19, -8, -2, -20, -9, -3, -21, -10, -187, -187,
1204
+ -111, -22, -11, -137, -114, -108, -80, -23, -12, -187,
1205
+ -187, -116, -187, -24, -13, -187, -139, -119, -117, -187,
1206
+ -78, -25, -14, -187, -118, -28, -15, -156, -159, -160,
1207
+ -187, -4, -112, -109, -110, -115, -81, -187, -79, -138,
1208
+ -187, -124, -120, -121, -29, -187, -85, -84, -77, -187,
1209
+ -149, -187, -187, -113, -187, -158, -161, 274, -87, -82,
1210
+ -187, -125, -187, -129, -130, -187, -187, -83, -187, -187,
1211
+ -154, -187, -150, -152, -187, -64, -187, -187, -33, -66,
1212
+ -68, -35, -187, -70, -187, -72, -44, -187, -74, -46,
1213
+ -76, -30, -50, -31, -143, -53, -187, -26, -56, -187,
1214
+ -61, -187, -187, -32, -170, -146, -187, -162, -164, -169,
1215
+ -168, -187, -141, -126, -123, -128, -187, -187, -132, -134,
1216
+ -131, -187, -86, -187, -88, -89, -44, -95, -187, -148,
1217
+ -151, -187, -187, -187, -37, -36, -187, -187, -142, -187,
1218
+ -38, -187, -39, -187, -187, -187, -187, -187, -187, -187,
1219
+ -40, -187, -187, -41, -187, -187, -187, -187, -42, -187,
1220
+ -187, -172, -187, -27, -145, -187, -187, -187, -167, -175,
1221
+ -174, -166, -176, -187, -144, -135, -127, -187, -187, -122,
1222
+ -93, -187, -90, -101, -102, -103, -104, -105, -106, -187,
1223
+ -107, -97, -98, -99, -100, -155, -153, -147, -62, -63,
1224
+ -65, -67, -69, -71, -187, -73, -47, -48, -49, -51,
1225
+ -52, -54, -55, -57, -59, -58, -60, -187, -34, -173,
1226
+ -175, -187, -187, -165, -163, -171, -187, -179, -177, -187,
1227
+ -187, -183, -187, -187, -133, -136, -187, -91, -96, -187,
1228
+ -43, -45, -180, -187, -181, -185, -187, -178, -184, -94,
1229
+ -92, -75, -182, -186 ]
1149
1230
 
1150
1231
  racc_goto_table = [
1151
- 72, 143, 141, 42, 139, 110, 120, 76, 94, 69,
1152
- 97, 77, 14, 227, 160, 186, 225, 90, 83, 152,
1153
- 28, 98, 59, 197, 69, 69, 247, 248, 249, 65,
1154
- 69, 44, 70, 73, 86, 60, 250, 251, 206, 40,
1155
- 171, 90, 234, 235, 89, 177, 255, 70, 70, 69,
1156
- 180, 43, 62, 70, 99, 252, 253, 147, 162, 100,
1157
- 190, 213, 193, 194, 143, 141, 240, 212, 101, 185,
1158
- 93, 80, 70, 239, 238, 215, 101, 185, 237, 82,
1159
- 236, 199, 218, 41, 254, 266, 222, 103, 45, 69,
1160
- 52, 244, 45, 17, 217, 146, 227, 69, 225, 216,
1161
- 71, 219, 164, 82, 230, 231, 232, 233, 11, 107,
1162
- 241, 162, 70, 8, 76, 5, 52, 77, 52, nil,
1163
- 70, nil, nil, 85, nil, nil, 143, 141, nil, 52,
1164
- nil, nil, nil, nil, nil, 245, 52, nil, 185, nil,
1165
- 104, nil, nil, nil, 52, nil, 85, nil, nil, nil,
1166
- nil, nil, nil, nil, nil, 262, 263, nil, 69, nil,
1232
+ 48, 40, 2, 49, 131, 59, 147, 146, 74, 133,
1233
+ 144, 140, 102, 91, 188, 138, 84, 248, 182, 252,
1234
+ 61, 80, 54, 229, 230, 70, 233, 234, 235, 236,
1235
+ 142, 2, 62, 68, 2, 209, 84, 62, 151, 178,
1236
+ 258, 84, 84, 154, 155, 2, 75, 141, 181, 76,
1237
+ 15, 160, 55, 32, 162, 231, 232, 218, 219, 2,
1238
+ 147, 146, 85, 170, 200, 239, 173, 252, 248, 201,
1239
+ 133, 90, 52, 58, 124, 237, 56, 195, 84, 57,
1240
+ 26, 137, 85, 139, 2, 225, 223, 85, 85, 215,
1241
+ 2, 222, 73, 221, 220, 53, 90, 84, 126, 18,
1242
+ 216, 47, 243, 12, 224, 181, 129, 9, 79, 6,
1243
+ nil, 57, 226, 227, 228, nil, nil, nil, nil, nil,
1244
+ nil, nil, nil, nil, 85, nil, 147, 146, 246, 189,
1245
+ 254, 191, 2, nil, nil, 84, nil, nil, nil, 255,
1246
+ nil, nil, nil, 85, nil, nil, nil, nil, nil, nil,
1247
+ nil, nil, 90, nil, nil, nil, nil, nil, 74, nil,
1248
+ nil, nil, nil, nil, nil, 59, nil, nil, nil, nil,
1249
+ nil, nil, nil, 147, 146, nil, 271, 269, nil, nil,
1250
+ 240, 85, 266, nil, nil, nil, nil, nil, 245, 261,
1251
+ 263, 2, 189, nil, nil, 2, nil, nil, 139, 2,
1252
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1167
1253
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1168
- 52, nil, nil, nil, nil, nil, 143, 141, nil, 268,
1169
- nil, 70, nil, nil, nil, 272, nil, nil, nil, nil,
1170
- nil, nil, nil, 245, nil, nil, nil, nil, nil, nil,
1171
1254
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1172
- nil, nil, 85, nil, nil, 52, nil, nil, nil, nil,
1173
- 221, nil, nil, 52, 52 ]
1255
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1256
+ 240 ]
1174
1257
 
1175
1258
  racc_goto_check = [
1176
- 52, 29, 16, 9, 35, 54, 15, 51, 50, 40,
1177
- 49, 53, 4, 65, 62, 17, 64, 46, 32, 15,
1178
- 30, 52, 31, 17, 40, 40, 18, 18, 18, 45,
1179
- 40, 44, 9, 9, 56, 44, 19, 19, 38, 30,
1180
- 14, 46, 22, 22, 45, 14, 36, 9, 9, 40,
1181
- 14, 41, 30, 9, 9, 20, 20, 56, 52, 34,
1182
- 14, 37, 14, 14, 29, 16, 27, 35, 31, 49,
1183
- 48, 4, 9, 26, 25, 15, 31, 49, 24, 30,
1184
- 23, 10, 15, 6, 17, 18, 15, 55, 12, 40,
1185
- 12, 62, 12, 5, 50, 4, 65, 40, 64, 58,
1186
- 59, 61, 31, 30, 21, 21, 21, 21, 3, 63,
1187
- 15, 52, 9, 2, 51, 1, 12, 53, 12, nil,
1188
- 9, nil, nil, 12, nil, nil, 29, 16, nil, 12,
1189
- nil, nil, nil, nil, nil, 52, 12, nil, 49, nil,
1190
- 12, nil, nil, nil, 12, nil, 12, nil, nil, nil,
1191
- nil, nil, nil, nil, nil, 54, 15, nil, 40, nil,
1259
+ 52, 31, 11, 9, 54, 53, 28, 15, 51, 46,
1260
+ 35, 49, 14, 56, 62, 50, 40, 65, 17, 64,
1261
+ 44, 45, 9, 18, 18, 44, 20, 20, 20, 20,
1262
+ 34, 11, 11, 31, 11, 38, 40, 11, 56, 15,
1263
+ 36, 40, 40, 16, 16, 11, 52, 45, 49, 9,
1264
+ 4, 16, 41, 30, 16, 19, 19, 21, 21, 11,
1265
+ 28, 15, 9, 16, 35, 62, 16, 64, 65, 37,
1266
+ 46, 11, 30, 32, 11, 17, 4, 14, 40, 30,
1267
+ 29, 48, 9, 31, 11, 26, 25, 9, 9, 14,
1268
+ 11, 24, 30, 23, 22, 6, 11, 40, 55, 5,
1269
+ 58, 59, 61, 3, 14, 49, 63, 2, 4, 1,
1270
+ nil, 30, 16, 16, 16, nil, nil, nil, nil, nil,
1271
+ nil, nil, nil, nil, 9, nil, 28, 15, 14, 52,
1272
+ 50, 31, 11, nil, nil, 40, nil, nil, nil, 14,
1273
+ nil, nil, nil, 9, nil, nil, nil, nil, nil, nil,
1274
+ nil, nil, 11, nil, nil, nil, nil, nil, 51, nil,
1275
+ nil, nil, nil, nil, nil, 53, nil, nil, nil, nil,
1276
+ nil, nil, nil, 28, 15, nil, 28, 35, nil, nil,
1277
+ 52, 9, 54, nil, nil, nil, nil, nil, 11, 16,
1278
+ 14, 11, 52, nil, nil, 11, nil, nil, 31, 11,
1279
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1192
1280
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1193
- 12, nil, nil, nil, nil, nil, 29, 16, nil, 35,
1194
- nil, 9, nil, nil, nil, 29, nil, nil, nil, nil,
1195
- nil, nil, nil, 52, nil, nil, nil, nil, nil, nil,
1196
1281
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1197
- nil, nil, 12, nil, nil, 12, nil, nil, nil, nil,
1198
- 12, nil, nil, 12, 12 ]
1282
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1283
+ 52 ]
1199
1284
 
1200
1285
  racc_goto_pointer = [
1201
- nil, 115, 113, 108, 12, 93, 63, nil, nil, -17,
1202
- -57, nil, 62, nil, -72, -73, -79, -114, -161, -155,
1203
- -140, -63, -131, -95, -98, -105, -108, -116, nil, -80,
1204
- 20, -6, -41, nil, -15, -77, -160, -83, -103, nil,
1205
- -40, 28, nil, nil, 5, -20, -48, nil, 3, -60,
1206
- -59, -47, -50, -45, -73, 9, -27, nil, -51, 50,
1207
- nil, -56, -94, 31, -145, -149 ]
1286
+ nil, 109, 107, 103, 50, 99, 75, nil, nil, 2,
1287
+ nil, 2, nil, nil, -59, -82, -53, -104, -145, -116,
1288
+ -148, -95, -62, -64, -68, -75, -79, nil, -83, 80,
1289
+ 53, 1, 47, nil, -58, -79, -169, -74, -111, nil,
1290
+ -44, 28, nil, nil, -10, -39, -71, nil, -1, -74,
1291
+ -67, -35, -1, -24, -68, 26, -56, nil, -50, 100,
1292
+ nil, -83, -116, 34, -174, -172 ]
1208
1293
 
1209
1294
  racc_goto_default = [
1210
- nil, nil, nil, nil, nil, nil, 19, 23, 26, 32,
1211
- 145, 138, 114, 46, 118, 184, 125, nil, 128, 131,
1212
- 133, 136, 111, 113, 115, 116, 121, 124, 126, 127,
1213
- 108, 95, nil, 51, 53, nil, 140, nil, nil, 20,
1214
- 24, 27, 31, 35, nil, nil, 66, 67, nil, 68,
1215
- nil, 55, 56, 57, 226, nil, nil, 87, 88, nil,
1216
- 105, 106, nil, nil, 163, 165 ]
1295
+ nil, nil, nil, nil, nil, nil, 19, 24, 30, 39,
1296
+ 123, 98, 63, 101, 180, 106, 109, nil, 112, 115,
1297
+ 118, 120, 95, 99, 100, 103, 105, 108, 110, nil,
1298
+ 130, 78, nil, 65, 66, nil, 145, nil, nil, 20,
1299
+ 25, 31, 38, 44, nil, nil, 81, 82, nil, 83,
1300
+ nil, 23, 29, 36, 253, nil, nil, 92, 93, nil,
1301
+ 127, 128, nil, nil, 190, 192 ]
1217
1302
 
1218
1303
  racc_token_table = {
1219
1304
  false => 0,
@@ -1238,42 +1323,42 @@ racc_token_table = {
1238
1323
  ">=" => 19,
1239
1324
  "==" => 20,
1240
1325
  "!=" => 21,
1241
- "&&" => 22,
1242
- "||" => 23,
1243
- :POINTER => 24,
1244
- :CONSTANT => 25,
1245
- :CHARACTER => 26,
1246
- :STRING => 27,
1247
- :TYPEDEF_NAME => 28,
1248
- :IDENTIFIER => 29,
1249
- "{" => 30,
1250
- ";" => 31,
1251
- "inline" => 32,
1252
- "typedef" => 33,
1253
- "extern" => 34,
1254
- "static" => 35,
1255
- "auto" => 36,
1256
- "register" => 37,
1257
- "void" => 38,
1258
- "char" => 39,
1259
- "short" => 40,
1260
- "int" => 41,
1261
- "long" => 42,
1262
- "float" => 43,
1263
- "double" => 44,
1264
- "signed" => 45,
1265
- "unsigned" => 46,
1266
- "struct" => 47,
1267
- "union" => 48,
1268
- "const" => 49,
1269
- "volatile" => 50,
1270
- "(" => 51,
1271
- ")" => 52,
1272
- "&" => 53,
1273
- "<<" => 54,
1274
- ">>" => 55,
1275
- "^" => 56,
1276
- "|" => 57,
1326
+ "&" => 22,
1327
+ "^" => 23,
1328
+ "|" => 24,
1329
+ "&&" => 25,
1330
+ "||" => 26,
1331
+ :POINTER => 27,
1332
+ :CONSTANT => 28,
1333
+ :CHARACTER => 29,
1334
+ :STRING => 30,
1335
+ :TYPEDEF_NAME => 31,
1336
+ :IDENTIFIER => 32,
1337
+ "{" => 33,
1338
+ ";" => 34,
1339
+ "inline" => 35,
1340
+ "typedef" => 36,
1341
+ "extern" => 37,
1342
+ "static" => 38,
1343
+ "auto" => 39,
1344
+ "register" => 40,
1345
+ "void" => 41,
1346
+ "char" => 42,
1347
+ "short" => 43,
1348
+ "int" => 44,
1349
+ "long" => 45,
1350
+ "float" => 46,
1351
+ "double" => 47,
1352
+ "signed" => 48,
1353
+ "unsigned" => 49,
1354
+ "struct" => 50,
1355
+ "union" => 51,
1356
+ "const" => 52,
1357
+ "volatile" => 53,
1358
+ "(" => 54,
1359
+ ")" => 55,
1360
+ "<<" => 56,
1361
+ ">>" => 57,
1277
1362
  "?" => 58,
1278
1363
  ":" => 59,
1279
1364
  "," => 60,
@@ -1337,6 +1422,9 @@ Racc_token_to_s_table = [
1337
1422
  '">="',
1338
1423
  '"=="',
1339
1424
  '"!="',
1425
+ '"&"',
1426
+ '"^"',
1427
+ '"|"',
1340
1428
  '"&&"',
1341
1429
  '"||"',
1342
1430
  'POINTER',
@@ -1368,11 +1456,8 @@ Racc_token_to_s_table = [
1368
1456
  '"volatile"',
1369
1457
  '"("',
1370
1458
  '")"',
1371
- '"&"',
1372
1459
  '"<<"',
1373
1460
  '">>"',
1374
- '"^"',
1375
- '"|"',
1376
1461
  '"?"',
1377
1462
  '":"',
1378
1463
  '","',
@@ -1403,14 +1488,13 @@ Racc_token_to_s_table = [
1403
1488
  'struct_or_union',
1404
1489
  'type_qualifier',
1405
1490
  'cstring',
1406
- 'string',
1407
1491
  'identifier',
1408
1492
  'typedef_identifier',
1409
1493
  'constant_exp',
1410
1494
  'expression',
1411
1495
  'unary_expression',
1412
- 'type_name',
1413
1496
  'cast_expression',
1497
+ 'type_name',
1414
1498
  'multiplicative_expression',
1415
1499
  'additive_expression',
1416
1500
  'shift_expression',
@@ -1422,6 +1506,7 @@ Racc_token_to_s_table = [
1422
1506
  'logical_and_expression',
1423
1507
  'logical_or_expression',
1424
1508
  'conditional_expression',
1509
+ 'function_header',
1425
1510
  'declaration_specifiers',
1426
1511
  'declarator',
1427
1512
  'declaration_list',
@@ -1465,14 +1550,14 @@ Racc_debug_parser = false
1465
1550
 
1466
1551
  # reduce 0 omitted
1467
1552
 
1468
- module_eval <<'.,.,', 'src/ctype.y', 28
1553
+ module_eval <<'.,.,', 'src/ctype.y', 29
1469
1554
  def _reduce_1( val, _values, result )
1470
1555
  yyaccept
1471
1556
  result
1472
1557
  end
1473
1558
  .,.,
1474
1559
 
1475
- module_eval <<'.,.,', 'src/ctype.y', 29
1560
+ module_eval <<'.,.,', 'src/ctype.y', 30
1476
1561
  def _reduce_2( val, _values, result )
1477
1562
  yyaccept
1478
1563
  result
@@ -1481,21 +1566,21 @@ module_eval <<'.,.,', 'src/ctype.y', 29
1481
1566
 
1482
1567
  # reduce 3 omitted
1483
1568
 
1484
- module_eval <<'.,.,', 'src/ctype.y', 35
1569
+ module_eval <<'.,.,', 'src/ctype.y', 36
1485
1570
  def _reduce_4( val, _values, result )
1486
1571
  result = val[0,1]
1487
1572
  result
1488
1573
  end
1489
1574
  .,.,
1490
1575
 
1491
- module_eval <<'.,.,', 'src/ctype.y', 39
1576
+ module_eval <<'.,.,', 'src/ctype.y', 40
1492
1577
  def _reduce_5( val, _values, result )
1493
1578
  result = []
1494
1579
  result
1495
1580
  end
1496
1581
  .,.,
1497
1582
 
1498
- module_eval <<'.,.,', 'src/ctype.y', 40
1583
+ module_eval <<'.,.,', 'src/ctype.y', 41
1499
1584
  def _reduce_6( val, _values, result )
1500
1585
  result = []
1501
1586
  result
@@ -1540,38 +1625,38 @@ module_eval <<'.,.,', 'src/ctype.y', 40
1540
1625
 
1541
1626
  # reduce 25 omitted
1542
1627
 
1543
- module_eval <<'.,.,', 'src/ctype.y', 76
1628
+ module_eval <<'.,.,', 'src/ctype.y', 77
1544
1629
  def _reduce_26( val, _values, result )
1545
- result = val[0]; result = result[1,result.length - 2]
1630
+ result = val[0][1...-1]
1546
1631
  result
1547
1632
  end
1548
1633
  .,.,
1549
1634
 
1550
- # reduce 27 omitted
1551
-
1552
- module_eval <<'.,.,', 'src/ctype.y', 81
1553
- def _reduce_28( val, _values, result )
1554
- result = val[0] << val[1]
1635
+ module_eval <<'.,.,', 'src/ctype.y', 78
1636
+ def _reduce_27( val, _values, result )
1637
+ result = val[0] << val[1][1...-1]
1555
1638
  result
1556
1639
  end
1557
1640
  .,.,
1558
1641
 
1559
- # reduce 29 omitted
1642
+ # reduce 28 omitted
1560
1643
 
1561
- module_eval <<'.,.,', 'src/ctype.y', 89
1562
- def _reduce_30( val, _values, result )
1644
+ module_eval <<'.,.,', 'src/ctype.y', 86
1645
+ def _reduce_29( val, _values, result )
1563
1646
  result = val[0].identifier
1564
1647
  result
1565
1648
  end
1566
1649
  .,.,
1567
1650
 
1651
+ # reduce 30 omitted
1652
+
1568
1653
  # reduce 31 omitted
1569
1654
 
1570
1655
  # reduce 32 omitted
1571
1656
 
1572
1657
  # reduce 33 omitted
1573
1658
 
1574
- module_eval <<'.,.,', 'src/ctype.y', 96
1659
+ module_eval <<'.,.,', 'src/ctype.y', 94
1575
1660
  def _reduce_34( val, _values, result )
1576
1661
  result = val[1]
1577
1662
  result
@@ -1580,56 +1665,56 @@ module_eval <<'.,.,', 'src/ctype.y', 96
1580
1665
 
1581
1666
  # reduce 35 omitted
1582
1667
 
1583
- module_eval <<'.,.,', 'src/ctype.y', 101
1668
+ module_eval <<'.,.,', 'src/ctype.y', 99
1584
1669
  def _reduce_36( val, _values, result )
1585
1670
  result = val[0,2].join
1586
1671
  result
1587
1672
  end
1588
1673
  .,.,
1589
1674
 
1590
- module_eval <<'.,.,', 'src/ctype.y', 102
1675
+ module_eval <<'.,.,', 'src/ctype.y', 100
1591
1676
  def _reduce_37( val, _values, result )
1592
1677
  result = val[0,2].join
1593
1678
  result
1594
1679
  end
1595
1680
  .,.,
1596
1681
 
1597
- module_eval <<'.,.,', 'src/ctype.y', 103
1682
+ module_eval <<'.,.,', 'src/ctype.y', 101
1598
1683
  def _reduce_38( val, _values, result )
1599
1684
  result = val[0,2].join
1600
1685
  result
1601
1686
  end
1602
1687
  .,.,
1603
1688
 
1604
- module_eval <<'.,.,', 'src/ctype.y', 104
1689
+ module_eval <<'.,.,', 'src/ctype.y', 102
1605
1690
  def _reduce_39( val, _values, result )
1606
1691
  result = val[0,2].join
1607
1692
  result
1608
1693
  end
1609
1694
  .,.,
1610
1695
 
1611
- module_eval <<'.,.,', 'src/ctype.y', 105
1696
+ module_eval <<'.,.,', 'src/ctype.y', 103
1612
1697
  def _reduce_40( val, _values, result )
1613
1698
  result = val[0,2].join
1614
1699
  result
1615
1700
  end
1616
1701
  .,.,
1617
1702
 
1618
- module_eval <<'.,.,', 'src/ctype.y', 106
1703
+ module_eval <<'.,.,', 'src/ctype.y', 104
1619
1704
  def _reduce_41( val, _values, result )
1620
1705
  result = val[0,2].join
1621
1706
  result
1622
1707
  end
1623
1708
  .,.,
1624
1709
 
1625
- module_eval <<'.,.,', 'src/ctype.y', 107
1710
+ module_eval <<'.,.,', 'src/ctype.y', 105
1626
1711
  def _reduce_42( val, _values, result )
1627
1712
  result = val[0,2].join(' ')
1628
1713
  result
1629
1714
  end
1630
1715
  .,.,
1631
1716
 
1632
- module_eval <<'.,.,', 'src/ctype.y', 108
1717
+ module_eval <<'.,.,', 'src/ctype.y', 106
1633
1718
  def _reduce_43( val, _values, result )
1634
1719
  result = val[0,4].join('')
1635
1720
  result
@@ -1638,7 +1723,7 @@ module_eval <<'.,.,', 'src/ctype.y', 108
1638
1723
 
1639
1724
  # reduce 44 omitted
1640
1725
 
1641
- module_eval <<'.,.,', 'src/ctype.y', 113
1726
+ module_eval <<'.,.,', 'src/ctype.y', 111
1642
1727
  def _reduce_45( val, _values, result )
1643
1728
  result = val[0,3].join
1644
1729
  result
@@ -1647,21 +1732,21 @@ module_eval <<'.,.,', 'src/ctype.y', 113
1647
1732
 
1648
1733
  # reduce 46 omitted
1649
1734
 
1650
- module_eval <<'.,.,', 'src/ctype.y', 118
1735
+ module_eval <<'.,.,', 'src/ctype.y', 116
1651
1736
  def _reduce_47( val, _values, result )
1652
1737
  result = val[0,3].join(' ')
1653
1738
  result
1654
1739
  end
1655
1740
  .,.,
1656
1741
 
1657
- module_eval <<'.,.,', 'src/ctype.y', 119
1742
+ module_eval <<'.,.,', 'src/ctype.y', 117
1658
1743
  def _reduce_48( val, _values, result )
1659
1744
  result = val[0,3].join(' ')
1660
1745
  result
1661
1746
  end
1662
1747
  .,.,
1663
1748
 
1664
- module_eval <<'.,.,', 'src/ctype.y', 120
1749
+ module_eval <<'.,.,', 'src/ctype.y', 118
1665
1750
  def _reduce_49( val, _values, result )
1666
1751
  result = val[0,3].join(' ')
1667
1752
  result
@@ -1670,14 +1755,14 @@ module_eval <<'.,.,', 'src/ctype.y', 120
1670
1755
 
1671
1756
  # reduce 50 omitted
1672
1757
 
1673
- module_eval <<'.,.,', 'src/ctype.y', 125
1758
+ module_eval <<'.,.,', 'src/ctype.y', 123
1674
1759
  def _reduce_51( val, _values, result )
1675
1760
  result = val[0,3].join(' ')
1676
1761
  result
1677
1762
  end
1678
1763
  .,.,
1679
1764
 
1680
- module_eval <<'.,.,', 'src/ctype.y', 126
1765
+ module_eval <<'.,.,', 'src/ctype.y', 124
1681
1766
  def _reduce_52( val, _values, result )
1682
1767
  result = val[0,3].join(' ')
1683
1768
  result
@@ -1686,14 +1771,14 @@ module_eval <<'.,.,', 'src/ctype.y', 126
1686
1771
 
1687
1772
  # reduce 53 omitted
1688
1773
 
1689
- module_eval <<'.,.,', 'src/ctype.y', 131
1774
+ module_eval <<'.,.,', 'src/ctype.y', 129
1690
1775
  def _reduce_54( val, _values, result )
1691
1776
  result = val[0,3].join(' ')
1692
1777
  result
1693
1778
  end
1694
1779
  .,.,
1695
1780
 
1696
- module_eval <<'.,.,', 'src/ctype.y', 132
1781
+ module_eval <<'.,.,', 'src/ctype.y', 130
1697
1782
  def _reduce_55( val, _values, result )
1698
1783
  result = val[0,3].join(' ')
1699
1784
  result
@@ -1702,28 +1787,28 @@ module_eval <<'.,.,', 'src/ctype.y', 132
1702
1787
 
1703
1788
  # reduce 56 omitted
1704
1789
 
1705
- module_eval <<'.,.,', 'src/ctype.y', 137
1790
+ module_eval <<'.,.,', 'src/ctype.y', 135
1706
1791
  def _reduce_57( val, _values, result )
1707
1792
  result = val[0,3].join(' ')
1708
1793
  result
1709
1794
  end
1710
1795
  .,.,
1711
1796
 
1712
- module_eval <<'.,.,', 'src/ctype.y', 138
1797
+ module_eval <<'.,.,', 'src/ctype.y', 136
1713
1798
  def _reduce_58( val, _values, result )
1714
1799
  result = val[0,3].join(' ')
1715
1800
  result
1716
1801
  end
1717
1802
  .,.,
1718
1803
 
1719
- module_eval <<'.,.,', 'src/ctype.y', 139
1804
+ module_eval <<'.,.,', 'src/ctype.y', 137
1720
1805
  def _reduce_59( val, _values, result )
1721
1806
  result = val[0,3].join(' ')
1722
1807
  result
1723
1808
  end
1724
1809
  .,.,
1725
1810
 
1726
- module_eval <<'.,.,', 'src/ctype.y', 140
1811
+ module_eval <<'.,.,', 'src/ctype.y', 138
1727
1812
  def _reduce_60( val, _values, result )
1728
1813
  result = val[0,3].join(' ')
1729
1814
  result
@@ -1732,14 +1817,14 @@ module_eval <<'.,.,', 'src/ctype.y', 140
1732
1817
 
1733
1818
  # reduce 61 omitted
1734
1819
 
1735
- module_eval <<'.,.,', 'src/ctype.y', 145
1820
+ module_eval <<'.,.,', 'src/ctype.y', 143
1736
1821
  def _reduce_62( val, _values, result )
1737
1822
  result = val[0,3].join(' ')
1738
1823
  result
1739
1824
  end
1740
1825
  .,.,
1741
1826
 
1742
- module_eval <<'.,.,', 'src/ctype.y', 146
1827
+ module_eval <<'.,.,', 'src/ctype.y', 144
1743
1828
  def _reduce_63( val, _values, result )
1744
1829
  result = val[0,3].join(' ')
1745
1830
  result
@@ -1748,7 +1833,7 @@ module_eval <<'.,.,', 'src/ctype.y', 146
1748
1833
 
1749
1834
  # reduce 64 omitted
1750
1835
 
1751
- module_eval <<'.,.,', 'src/ctype.y', 151
1836
+ module_eval <<'.,.,', 'src/ctype.y', 149
1752
1837
  def _reduce_65( val, _values, result )
1753
1838
  result = val[0,3].join(' ')
1754
1839
  result
@@ -1757,7 +1842,7 @@ module_eval <<'.,.,', 'src/ctype.y', 151
1757
1842
 
1758
1843
  # reduce 66 omitted
1759
1844
 
1760
- module_eval <<'.,.,', 'src/ctype.y', 156
1845
+ module_eval <<'.,.,', 'src/ctype.y', 154
1761
1846
  def _reduce_67( val, _values, result )
1762
1847
  result = val[0,3].join(' ')
1763
1848
  result
@@ -1766,7 +1851,7 @@ module_eval <<'.,.,', 'src/ctype.y', 156
1766
1851
 
1767
1852
  # reduce 68 omitted
1768
1853
 
1769
- module_eval <<'.,.,', 'src/ctype.y', 161
1854
+ module_eval <<'.,.,', 'src/ctype.y', 159
1770
1855
  def _reduce_69( val, _values, result )
1771
1856
  result = val[0,3].join(' ')
1772
1857
  result
@@ -1775,7 +1860,7 @@ module_eval <<'.,.,', 'src/ctype.y', 161
1775
1860
 
1776
1861
  # reduce 70 omitted
1777
1862
 
1778
- module_eval <<'.,.,', 'src/ctype.y', 166
1863
+ module_eval <<'.,.,', 'src/ctype.y', 164
1779
1864
  def _reduce_71( val, _values, result )
1780
1865
  result = val[0,3].join(' ')
1781
1866
  result
@@ -1784,7 +1869,7 @@ module_eval <<'.,.,', 'src/ctype.y', 166
1784
1869
 
1785
1870
  # reduce 72 omitted
1786
1871
 
1787
- module_eval <<'.,.,', 'src/ctype.y', 171
1872
+ module_eval <<'.,.,', 'src/ctype.y', 169
1788
1873
  def _reduce_73( val, _values, result )
1789
1874
  result = val[0,3].join(' ')
1790
1875
  result
@@ -1793,7 +1878,7 @@ module_eval <<'.,.,', 'src/ctype.y', 171
1793
1878
 
1794
1879
  # reduce 74 omitted
1795
1880
 
1796
- module_eval <<'.,.,', 'src/ctype.y', 176
1881
+ module_eval <<'.,.,', 'src/ctype.y', 174
1797
1882
  def _reduce_75( val, _values, result )
1798
1883
  result = val[0,3].join(' ')
1799
1884
  result
@@ -1802,46 +1887,57 @@ module_eval <<'.,.,', 'src/ctype.y', 176
1802
1887
 
1803
1888
  # reduce 76 omitted
1804
1889
 
1805
- module_eval <<'.,.,', 'src/ctype.y', 190
1890
+ module_eval <<'.,.,', 'src/ctype.y', 187
1806
1891
  def _reduce_77( val, _values, result )
1807
1892
  result = val[1]
1808
1893
  result.add_declaration_specifiers(val[0])
1809
- result.add_parameter_declarations(val[2])
1810
1894
  result
1811
1895
  end
1812
1896
  .,.,
1813
1897
 
1814
- module_eval <<'.,.,', 'src/ctype.y', 195
1898
+ module_eval <<'.,.,', 'src/ctype.y', 193
1815
1899
  def _reduce_78( val, _values, result )
1816
- result = val[1]
1817
- result.add_declaration_specifiers(val[0])
1900
+ result = val[0]
1901
+ # default to int return value, like gcc *VERY BAD*
1902
+ result.base_type = CType::Primitive['int']
1818
1903
  result
1819
1904
  end
1820
1905
  .,.,
1821
1906
 
1822
- module_eval <<'.,.,', 'src/ctype.y', 198
1907
+ module_eval <<'.,.,', 'src/ctype.y', 200
1823
1908
  def _reduce_79( val, _values, result )
1909
+ # K & R style
1910
+ result = val[0]
1911
+ result.add_parameter_declarations(val[1])
1912
+ result
1913
+ end
1914
+ .,.,
1915
+
1916
+ # reduce 80 omitted
1917
+
1918
+ module_eval <<'.,.,', 'src/ctype.y', 205
1919
+ def _reduce_81( val, _values, result )
1824
1920
  result = val[0,1]; result.flatten!
1825
1921
  result
1826
1922
  end
1827
1923
  .,.,
1828
1924
 
1829
- module_eval <<'.,.,', 'src/ctype.y', 199
1830
- def _reduce_80( val, _values, result )
1925
+ module_eval <<'.,.,', 'src/ctype.y', 206
1926
+ def _reduce_82( val, _values, result )
1831
1927
  result = val[0] << val[1]; result.flatten!
1832
1928
  result
1833
1929
  end
1834
1930
  .,.,
1835
1931
 
1836
- module_eval <<'.,.,', 'src/ctype.y', 204
1837
- def _reduce_81( val, _values, result )
1932
+ module_eval <<'.,.,', 'src/ctype.y', 211
1933
+ def _reduce_83( val, _values, result )
1838
1934
  result = val[1].each { |d| d.add_declaration_specifiers(val[0]) }
1839
1935
  result
1840
1936
  end
1841
1937
  .,.,
1842
1938
 
1843
- module_eval <<'.,.,', 'src/ctype.y', 211
1844
- def _reduce_82( val, _values, result )
1939
+ module_eval <<'.,.,', 'src/ctype.y', 218
1940
+ def _reduce_84( val, _values, result )
1845
1941
  result = CType::Type.new()
1846
1942
  result.add_declaration_specifiers(val[0])
1847
1943
  result = [result]
@@ -1849,54 +1945,50 @@ module_eval <<'.,.,', 'src/ctype.y', 211
1849
1945
  end
1850
1946
  .,.,
1851
1947
 
1852
- module_eval <<'.,.,', 'src/ctype.y', 214
1853
- def _reduce_83( val, _values, result )
1948
+ module_eval <<'.,.,', 'src/ctype.y', 221
1949
+ def _reduce_85( val, _values, result )
1854
1950
  result = val[0,1]
1855
1951
  result
1856
1952
  end
1857
1953
  .,.,
1858
1954
 
1859
- module_eval <<'.,.,', 'src/ctype.y', 215
1860
- def _reduce_84( val, _values, result )
1955
+ module_eval <<'.,.,', 'src/ctype.y', 222
1956
+ def _reduce_86( val, _values, result )
1861
1957
  result = val[0] << val[2]
1862
1958
  result
1863
1959
  end
1864
1960
  .,.,
1865
1961
 
1866
- # reduce 85 omitted
1962
+ # reduce 87 omitted
1867
1963
 
1868
- # reduce 86 omitted
1964
+ # reduce 88 omitted
1869
1965
 
1870
- # reduce 87 omitted
1966
+ # reduce 89 omitted
1871
1967
 
1872
- module_eval <<'.,.,', 'src/ctype.y', 227
1873
- def _reduce_88( val, _values, result )
1874
- result = val[0,3].join(' ')
1968
+ module_eval <<'.,.,', 'src/ctype.y', 234
1969
+ def _reduce_90( val, _values, result )
1970
+ result = '{ }'
1875
1971
  result
1876
1972
  end
1877
1973
  .,.,
1878
1974
 
1879
- module_eval <<'.,.,', 'src/ctype.y', 228
1880
- def _reduce_89( val, _values, result )
1881
- result = val[0,4].join(' ')
1975
+ module_eval <<'.,.,', 'src/ctype.y', 235
1976
+ def _reduce_91( val, _values, result )
1977
+ result = val[0,3].join(' ')
1882
1978
  result
1883
1979
  end
1884
1980
  .,.,
1885
1981
 
1886
- # reduce 90 omitted
1887
-
1888
- module_eval <<'.,.,', 'src/ctype.y', 233
1889
- def _reduce_91( val, _values, result )
1890
- result = val[0,3].join(' ')
1982
+ module_eval <<'.,.,', 'src/ctype.y', 236
1983
+ def _reduce_92( val, _values, result )
1984
+ result = val[0,4].join(' ')
1891
1985
  result
1892
1986
  end
1893
1987
  .,.,
1894
1988
 
1895
- # reduce 92 omitted
1896
-
1897
1989
  # reduce 93 omitted
1898
1990
 
1899
- module_eval <<'.,.,', 'src/ctype.y', 240
1991
+ module_eval <<'.,.,', 'src/ctype.y', 241
1900
1992
  def _reduce_94( val, _values, result )
1901
1993
  result = val[0,3].join(' ')
1902
1994
  result
@@ -1905,7 +1997,12 @@ module_eval <<'.,.,', 'src/ctype.y', 240
1905
1997
 
1906
1998
  # reduce 95 omitted
1907
1999
 
1908
- # reduce 96 omitted
2000
+ module_eval <<'.,.,', 'src/ctype.y', 247
2001
+ def _reduce_96( val, _values, result )
2002
+ result = val[0,3].join(' ')
2003
+ result
2004
+ end
2005
+ .,.,
1909
2006
 
1910
2007
  # reduce 97 omitted
1911
2008
 
@@ -1925,134 +2022,138 @@ module_eval <<'.,.,', 'src/ctype.y', 240
1925
2022
 
1926
2023
  # reduce 105 omitted
1927
2024
 
1928
- module_eval <<'.,.,', 'src/ctype.y', 261
1929
- def _reduce_106( val, _values, result )
2025
+ # reduce 106 omitted
2026
+
2027
+ # reduce 107 omitted
2028
+
2029
+ module_eval <<'.,.,', 'src/ctype.y', 268
2030
+ def _reduce_108( val, _values, result )
1930
2031
  result = val[0,1]
1931
2032
  result
1932
2033
  end
1933
2034
  .,.,
1934
2035
 
1935
- module_eval <<'.,.,', 'src/ctype.y', 263
1936
- def _reduce_107( val, _values, result )
1937
- result = val[0]; result.insert(0, val[1])
2036
+ module_eval <<'.,.,', 'src/ctype.y', 270
2037
+ def _reduce_109( val, _values, result )
2038
+ result = val[0]; result.unshift(val[1])
1938
2039
  result
1939
2040
  end
1940
2041
  .,.,
1941
2042
 
1942
- module_eval <<'.,.,', 'src/ctype.y', 265
1943
- def _reduce_108( val, _values, result )
2043
+ module_eval <<'.,.,', 'src/ctype.y', 272
2044
+ def _reduce_110( val, _values, result )
1944
2045
  result = val[0]; result.last.add_qualifier(val[1])
1945
2046
  result
1946
2047
  end
1947
2048
  .,.,
1948
2049
 
1949
- # reduce 109 omitted
2050
+ # reduce 111 omitted
1950
2051
 
1951
- module_eval <<'.,.,', 'src/ctype.y', 273
1952
- def _reduce_110( val, _values, result )
1953
- result = val[1]; result.insert(0,val[0])
2052
+ module_eval <<'.,.,', 'src/ctype.y', 280
2053
+ def _reduce_112( val, _values, result )
2054
+ result = val[1]; result.unshift(val[0])
1954
2055
  result
1955
2056
  end
1956
2057
  .,.,
1957
2058
 
1958
- module_eval <<'.,.,', 'src/ctype.y', 275
1959
- def _reduce_111( val, _values, result )
2059
+ module_eval <<'.,.,', 'src/ctype.y', 282
2060
+ def _reduce_113( val, _values, result )
1960
2061
  result = val[1]; result.last.add_qualifier(val[0])
1961
2062
  result
1962
2063
  end
1963
2064
  .,.,
1964
2065
 
1965
- module_eval <<'.,.,', 'src/ctype.y', 280
1966
- def _reduce_112( val, _values, result )
1967
- result = CType::Primitive.new(val[0])
2066
+ module_eval <<'.,.,', 'src/ctype.y', 287
2067
+ def _reduce_114( val, _values, result )
2068
+ result = val[0,1]
1968
2069
  result
1969
2070
  end
1970
2071
  .,.,
1971
2072
 
1972
- module_eval <<'.,.,', 'src/ctype.y', 281
1973
- def _reduce_113( val, _values, result )
1974
- result = val[1].insert(val[0])
2073
+ module_eval <<'.,.,', 'src/ctype.y', 288
2074
+ def _reduce_115( val, _values, result )
2075
+ result = val[1].unshift(val[0])
1975
2076
  result
1976
2077
  end
1977
2078
  .,.,
1978
2079
 
1979
- module_eval <<'.,.,', 'src/ctype.y', 286
1980
- def _reduce_114( val, _values, result )
1981
- result = CType::Base.new(val[0])
2080
+ module_eval <<'.,.,', 'src/ctype.y', 294
2081
+ def _reduce_116( val, _values, result )
2082
+ result = CType::Base.new(CType::Primitive[val[0].join(' ').freeze])
1982
2083
  result
1983
2084
  end
1984
2085
  .,.,
1985
2086
 
1986
- module_eval <<'.,.,', 'src/ctype.y', 287
1987
- def _reduce_115( val, _values, result )
2087
+ module_eval <<'.,.,', 'src/ctype.y', 295
2088
+ def _reduce_117( val, _values, result )
1988
2089
  result = CType::Base.new(val[0])
1989
2090
  result
1990
2091
  end
1991
2092
  .,.,
1992
2093
 
1993
- module_eval <<'.,.,', 'src/ctype.y', 288
1994
- def _reduce_116( val, _values, result )
2094
+ module_eval <<'.,.,', 'src/ctype.y', 296
2095
+ def _reduce_118( val, _values, result )
1995
2096
  result = CType::Base.new(val[0])
1996
2097
  result
1997
2098
  end
1998
2099
  .,.,
1999
2100
 
2000
- module_eval <<'.,.,', 'src/ctype.y', 289
2001
- def _reduce_117( val, _values, result )
2101
+ module_eval <<'.,.,', 'src/ctype.y', 297
2102
+ def _reduce_119( val, _values, result )
2002
2103
  result = CType::Base.new(val[0])
2003
2104
  result
2004
2105
  end
2005
2106
  .,.,
2006
2107
 
2007
- # reduce 118 omitted
2108
+ # reduce 120 omitted
2008
2109
 
2009
- # reduce 119 omitted
2110
+ # reduce 121 omitted
2010
2111
 
2011
- module_eval <<'.,.,', 'src/ctype.y', 299
2012
- def _reduce_120( val, _values, result )
2112
+ module_eval <<'.,.,', 'src/ctype.y', 307
2113
+ def _reduce_122( val, _values, result )
2013
2114
  result = CType::StructUnion.get(val[0], val[1], val[3])
2014
2115
  result
2015
2116
  end
2016
2117
  .,.,
2017
2118
 
2018
- module_eval <<'.,.,', 'src/ctype.y', 301
2019
- def _reduce_121( val, _values, result )
2119
+ module_eval <<'.,.,', 'src/ctype.y', 309
2120
+ def _reduce_123( val, _values, result )
2020
2121
  result = CType::StructUnion.get(val[0], nil, val[2])
2021
2122
  result
2022
2123
  end
2023
2124
  .,.,
2024
2125
 
2025
- module_eval <<'.,.,', 'src/ctype.y', 303
2026
- def _reduce_122( val, _values, result )
2126
+ module_eval <<'.,.,', 'src/ctype.y', 311
2127
+ def _reduce_124( val, _values, result )
2027
2128
  result = CType::StructUnion.get(val[0], val[1])
2028
2129
  result
2029
2130
  end
2030
2131
  .,.,
2031
2132
 
2032
- module_eval <<'.,.,', 'src/ctype.y', 308
2033
- def _reduce_123( val, _values, result )
2133
+ module_eval <<'.,.,', 'src/ctype.y', 316
2134
+ def _reduce_125( val, _values, result )
2034
2135
  result = val[0,1]
2035
2136
  result
2036
2137
  end
2037
2138
  .,.,
2038
2139
 
2039
- module_eval <<'.,.,', 'src/ctype.y', 309
2040
- def _reduce_124( val, _values, result )
2140
+ module_eval <<'.,.,', 'src/ctype.y', 317
2141
+ def _reduce_126( val, _values, result )
2041
2142
  result = val[0] << val[1]
2042
2143
  result
2043
2144
  end
2044
2145
  .,.,
2045
2146
 
2046
- module_eval <<'.,.,', 'src/ctype.y', 319
2047
- def _reduce_125( val, _values, result )
2147
+ module_eval <<'.,.,', 'src/ctype.y', 327
2148
+ def _reduce_127( val, _values, result )
2048
2149
  result = val[1].each { |d| d.base_type = val[0] };
2049
2150
  self.in_member = false
2050
2151
  result
2051
2152
  end
2052
2153
  .,.,
2053
2154
 
2054
- module_eval <<'.,.,', 'src/ctype.y', 327
2055
- def _reduce_126( val, _values, result )
2155
+ module_eval <<'.,.,', 'src/ctype.y', 335
2156
+ def _reduce_128( val, _values, result )
2056
2157
  result = val[0].primitive
2057
2158
  raise ParseError, "expecting a union" unless result.class == CType::Union
2058
2159
  result = result.get_members
@@ -2061,61 +2162,61 @@ module_eval <<'.,.,', 'src/ctype.y', 327
2061
2162
  end
2062
2163
  .,.,
2063
2164
 
2064
- module_eval <<'.,.,', 'src/ctype.y', 330
2065
- def _reduce_127( val, _values, result )
2165
+ module_eval <<'.,.,', 'src/ctype.y', 338
2166
+ def _reduce_129( val, _values, result )
2066
2167
  result = val[0]; self.in_member = true
2067
2168
  result
2068
2169
  end
2069
2170
  .,.,
2070
2171
 
2071
- # reduce 128 omitted
2172
+ # reduce 130 omitted
2072
2173
 
2073
- module_eval <<'.,.,', 'src/ctype.y', 337
2074
- def _reduce_129( val, _values, result )
2174
+ module_eval <<'.,.,', 'src/ctype.y', 345
2175
+ def _reduce_131( val, _values, result )
2075
2176
  result = val[1]; result.add_qualifier(val[0])
2076
2177
  result
2077
2178
  end
2078
2179
  .,.,
2079
2180
 
2080
- module_eval <<'.,.,', 'src/ctype.y', 341
2081
- def _reduce_130( val, _values, result )
2181
+ module_eval <<'.,.,', 'src/ctype.y', 349
2182
+ def _reduce_132( val, _values, result )
2082
2183
  result = val[0,1]
2083
2184
  result
2084
2185
  end
2085
2186
  .,.,
2086
2187
 
2087
- module_eval <<'.,.,', 'src/ctype.y', 342
2088
- def _reduce_131( val, _values, result )
2188
+ module_eval <<'.,.,', 'src/ctype.y', 350
2189
+ def _reduce_133( val, _values, result )
2089
2190
  result = val[0] << val[2]
2090
2191
  result
2091
2192
  end
2092
2193
  .,.,
2093
2194
 
2094
- # reduce 132 omitted
2195
+ # reduce 134 omitted
2095
2196
 
2096
- module_eval <<'.,.,', 'src/ctype.y', 348
2097
- def _reduce_133( val, _values, result )
2197
+ module_eval <<'.,.,', 'src/ctype.y', 356
2198
+ def _reduce_135( val, _values, result )
2098
2199
  result = CType::Type.new(); result.size = val[1]
2099
2200
  result
2100
2201
  end
2101
2202
  .,.,
2102
2203
 
2103
- module_eval <<'.,.,', 'src/ctype.y', 349
2104
- def _reduce_134( val, _values, result )
2204
+ module_eval <<'.,.,', 'src/ctype.y', 357
2205
+ def _reduce_136( val, _values, result )
2105
2206
  result = val[0]; result.size = val[2]
2106
2207
  result
2107
2208
  end
2108
2209
  .,.,
2109
2210
 
2110
- module_eval <<'.,.,', 'src/ctype.y', 353
2111
- def _reduce_135( val, _values, result )
2211
+ module_eval <<'.,.,', 'src/ctype.y', 361
2212
+ def _reduce_137( val, _values, result )
2112
2213
  result = val[0].first
2113
2214
  result
2114
2215
  end
2115
2216
  .,.,
2116
2217
 
2117
- module_eval <<'.,.,', 'src/ctype.y', 368
2118
- def _reduce_136( val, _values, result )
2218
+ module_eval <<'.,.,', 'src/ctype.y', 376
2219
+ def _reduce_138( val, _values, result )
2119
2220
  # the base type of the last element in the declarator sequence
2120
2221
  # is not a pointer. that pointer points to a new type which is
2121
2222
  # appended to the end of the declarator sequence
@@ -2126,248 +2227,248 @@ module_eval <<'.,.,', 'src/ctype.y', 368
2126
2227
  end
2127
2228
  .,.,
2128
2229
 
2129
- # reduce 137 omitted
2230
+ # reduce 139 omitted
2130
2231
 
2131
- module_eval <<'.,.,', 'src/ctype.y', 377
2132
- def _reduce_138( val, _values, result )
2232
+ module_eval <<'.,.,', 'src/ctype.y', 385
2233
+ def _reduce_140( val, _values, result )
2133
2234
  result = [CType::Type.new(val[0])]
2134
2235
  self.in_member = false
2135
2236
  result
2136
2237
  end
2137
2238
  .,.,
2138
2239
 
2139
- module_eval <<'.,.,', 'src/ctype.y', 378
2140
- def _reduce_139( val, _values, result )
2240
+ module_eval <<'.,.,', 'src/ctype.y', 386
2241
+ def _reduce_141( val, _values, result )
2141
2242
  result = val[1]
2142
2243
  result
2143
2244
  end
2144
2245
  .,.,
2145
2246
 
2146
- module_eval <<'.,.,', 'src/ctype.y', 380
2147
- def _reduce_140( val, _values, result )
2247
+ module_eval <<'.,.,', 'src/ctype.y', 388
2248
+ def _reduce_142( val, _values, result )
2148
2249
  result = val[0]; result.last.dimensions << val[2]
2149
2250
  result
2150
2251
  end
2151
2252
  .,.,
2152
2253
 
2153
- module_eval <<'.,.,', 'src/ctype.y', 382
2154
- def _reduce_141( val, _values, result )
2254
+ module_eval <<'.,.,', 'src/ctype.y', 390
2255
+ def _reduce_143( val, _values, result )
2155
2256
  result = val[0]; result.last.dimensions << nil
2156
2257
  result
2157
2258
  end
2158
2259
  .,.,
2159
2260
 
2160
- module_eval <<'.,.,', 'src/ctype.y', 384
2161
- def _reduce_142( val, _values, result )
2261
+ module_eval <<'.,.,', 'src/ctype.y', 392
2262
+ def _reduce_144( val, _values, result )
2162
2263
  result = val[0]; result.last.parameters = val[2]
2163
2264
  result
2164
2265
  end
2165
2266
  .,.,
2166
2267
 
2167
- module_eval <<'.,.,', 'src/ctype.y', 386
2168
- def _reduce_143( val, _values, result )
2268
+ module_eval <<'.,.,', 'src/ctype.y', 394
2269
+ def _reduce_145( val, _values, result )
2169
2270
  result = val[0]; result.last.parameters = val[2]
2170
2271
  result
2171
2272
  end
2172
2273
  .,.,
2173
2274
 
2174
- module_eval <<'.,.,', 'src/ctype.y', 388
2175
- def _reduce_144( val, _values, result )
2275
+ module_eval <<'.,.,', 'src/ctype.y', 396
2276
+ def _reduce_146( val, _values, result )
2176
2277
  result = val[0]; result.last.parameters = nil
2177
2278
  result
2178
2279
  end
2179
2280
  .,.,
2180
2281
 
2181
- module_eval <<'.,.,', 'src/ctype.y', 393
2182
- def _reduce_145( val, _values, result )
2282
+ module_eval <<'.,.,', 'src/ctype.y', 401
2283
+ def _reduce_147( val, _values, result )
2183
2284
  result = CType::Enum[val[1]]; result.add(val[3])
2184
2285
  result
2185
2286
  end
2186
2287
  .,.,
2187
2288
 
2188
- module_eval <<'.,.,', 'src/ctype.y', 395
2189
- def _reduce_146( val, _values, result )
2289
+ module_eval <<'.,.,', 'src/ctype.y', 403
2290
+ def _reduce_148( val, _values, result )
2190
2291
  result = CType::Enum[]; result.add(val[2])
2191
2292
  result
2192
2293
  end
2193
2294
  .,.,
2194
2295
 
2195
- module_eval <<'.,.,', 'src/ctype.y', 397
2196
- def _reduce_147( val, _values, result )
2296
+ module_eval <<'.,.,', 'src/ctype.y', 405
2297
+ def _reduce_149( val, _values, result )
2197
2298
  result = CType::Enum[val[1]]
2198
2299
  result
2199
2300
  end
2200
2301
  .,.,
2201
2302
 
2202
- # reduce 148 omitted
2303
+ # reduce 150 omitted
2203
2304
 
2204
- # reduce 149 omitted
2305
+ # reduce 151 omitted
2205
2306
 
2206
- module_eval <<'.,.,', 'src/ctype.y', 407
2207
- def _reduce_150( val, _values, result )
2307
+ module_eval <<'.,.,', 'src/ctype.y', 415
2308
+ def _reduce_152( val, _values, result )
2208
2309
  result = val[0,1]
2209
2310
  result
2210
2311
  end
2211
2312
  .,.,
2212
2313
 
2213
- module_eval <<'.,.,', 'src/ctype.y', 408
2214
- def _reduce_151( val, _values, result )
2314
+ module_eval <<'.,.,', 'src/ctype.y', 416
2315
+ def _reduce_153( val, _values, result )
2215
2316
  result = val[0] << val[2]
2216
2317
  result
2217
2318
  end
2218
2319
  .,.,
2219
2320
 
2220
- module_eval <<'.,.,', 'src/ctype.y', 412
2221
- def _reduce_152( val, _values, result )
2321
+ module_eval <<'.,.,', 'src/ctype.y', 420
2322
+ def _reduce_154( val, _values, result )
2222
2323
  result = val[0,1]
2223
2324
  result
2224
2325
  end
2225
2326
  .,.,
2226
2327
 
2227
- module_eval <<'.,.,', 'src/ctype.y', 413
2228
- def _reduce_153( val, _values, result )
2328
+ module_eval <<'.,.,', 'src/ctype.y', 421
2329
+ def _reduce_155( val, _values, result )
2229
2330
  result = [val[0], val[2]]
2230
2331
  result
2231
2332
  end
2232
2333
  .,.,
2233
2334
 
2234
- module_eval <<'.,.,', 'src/ctype.y', 418
2235
- def _reduce_154( val, _values, result )
2335
+ module_eval <<'.,.,', 'src/ctype.y', 426
2336
+ def _reduce_156( val, _values, result )
2236
2337
  result = CType::Pointer.new(val[1])
2237
2338
  result
2238
2339
  end
2239
2340
  .,.,
2240
2341
 
2241
- module_eval <<'.,.,', 'src/ctype.y', 420
2242
- def _reduce_155( val, _values, result )
2342
+ module_eval <<'.,.,', 'src/ctype.y', 428
2343
+ def _reduce_157( val, _values, result )
2243
2344
  result = CType::Pointer.new()
2244
2345
  result
2245
2346
  end
2246
2347
  .,.,
2247
2348
 
2248
- module_eval <<'.,.,', 'src/ctype.y', 426
2249
- def _reduce_156( val, _values, result )
2349
+ module_eval <<'.,.,', 'src/ctype.y', 434
2350
+ def _reduce_158( val, _values, result )
2250
2351
  result = val[2]
2251
2352
  result.base_type = CType::Pointer.new(val[1])
2252
2353
  result
2253
2354
  end
2254
2355
  .,.,
2255
2356
 
2256
- module_eval <<'.,.,', 'src/ctype.y', 431
2257
- def _reduce_157( val, _values, result )
2357
+ module_eval <<'.,.,', 'src/ctype.y', 439
2358
+ def _reduce_159( val, _values, result )
2258
2359
  result = val[1]
2259
2360
  result.base_type = CType::Pointer.new()
2260
2361
  result
2261
2362
  end
2262
2363
  .,.,
2263
2364
 
2264
- module_eval <<'.,.,', 'src/ctype.y', 435
2265
- def _reduce_158( val, _values, result )
2365
+ module_eval <<'.,.,', 'src/ctype.y', 443
2366
+ def _reduce_160( val, _values, result )
2266
2367
  result = val[0,1]
2267
2368
  result
2268
2369
  end
2269
2370
  .,.,
2270
2371
 
2271
- module_eval <<'.,.,', 'src/ctype.y', 436
2272
- def _reduce_159( val, _values, result )
2372
+ module_eval <<'.,.,', 'src/ctype.y', 444
2373
+ def _reduce_161( val, _values, result )
2273
2374
  result = val[0] << val[1]
2274
2375
  result
2275
2376
  end
2276
2377
  .,.,
2277
2378
 
2278
- module_eval <<'.,.,', 'src/ctype.y', 441
2279
- def _reduce_160( val, _values, result )
2379
+ module_eval <<'.,.,', 'src/ctype.y', 449
2380
+ def _reduce_162( val, _values, result )
2280
2381
  result = val[0].finalize
2281
2382
  result
2282
2383
  end
2283
2384
  .,.,
2284
2385
 
2285
- module_eval <<'.,.,', 'src/ctype.y', 442
2286
- def _reduce_161( val, _values, result )
2386
+ module_eval <<'.,.,', 'src/ctype.y', 450
2387
+ def _reduce_163( val, _values, result )
2287
2388
  result = val[0].with_ellipses
2288
2389
  result
2289
2390
  end
2290
2391
  .,.,
2291
2392
 
2292
- module_eval <<'.,.,', 'src/ctype.y', 447
2293
- def _reduce_162( val, _values, result )
2393
+ module_eval <<'.,.,', 'src/ctype.y', 455
2394
+ def _reduce_164( val, _values, result )
2294
2395
  result = CType::List.new << val[0]
2295
2396
  result
2296
2397
  end
2297
2398
  .,.,
2298
2399
 
2299
- module_eval <<'.,.,', 'src/ctype.y', 448
2300
- def _reduce_163( val, _values, result )
2400
+ module_eval <<'.,.,', 'src/ctype.y', 456
2401
+ def _reduce_165( val, _values, result )
2301
2402
  result = val[0] << val[2]
2302
2403
  result
2303
2404
  end
2304
2405
  .,.,
2305
2406
 
2306
- module_eval <<'.,.,', 'src/ctype.y', 454
2307
- def _reduce_164( val, _values, result )
2407
+ module_eval <<'.,.,', 'src/ctype.y', 462
2408
+ def _reduce_166( val, _values, result )
2308
2409
  result = val[1]; result.add_declaration_specifiers(val[0])
2309
2410
  result
2310
2411
  end
2311
2412
  .,.,
2312
2413
 
2313
- module_eval <<'.,.,', 'src/ctype.y', 456
2314
- def _reduce_165( val, _values, result )
2414
+ module_eval <<'.,.,', 'src/ctype.y', 464
2415
+ def _reduce_167( val, _values, result )
2315
2416
  result = val[1]; result.add_declaration_specifiers(val[0])
2316
2417
  result
2317
2418
  end
2318
2419
  .,.,
2319
2420
 
2320
- module_eval <<'.,.,', 'src/ctype.y', 458
2321
- def _reduce_166( val, _values, result )
2421
+ module_eval <<'.,.,', 'src/ctype.y', 466
2422
+ def _reduce_168( val, _values, result )
2322
2423
  result = CType::Type.new(); result.add_declaration_specifiers(val[0])
2323
2424
  result
2324
2425
  end
2325
2426
  .,.,
2326
2427
 
2327
- module_eval <<'.,.,', 'src/ctype.y', 467
2328
- def _reduce_167( val, _values, result )
2428
+ module_eval <<'.,.,', 'src/ctype.y', 475
2429
+ def _reduce_169( val, _values, result )
2329
2430
  result = val[0].finalize
2330
2431
  result
2331
2432
  end
2332
2433
  .,.,
2333
2434
 
2334
- module_eval <<'.,.,', 'src/ctype.y', 472
2335
- def _reduce_168( val, _values, result )
2435
+ module_eval <<'.,.,', 'src/ctype.y', 480
2436
+ def _reduce_170( val, _values, result )
2336
2437
  result = CType::List.new << val[0]
2337
2438
  result
2338
2439
  end
2339
2440
  .,.,
2340
2441
 
2341
- module_eval <<'.,.,', 'src/ctype.y', 473
2342
- def _reduce_169( val, _values, result )
2442
+ module_eval <<'.,.,', 'src/ctype.y', 481
2443
+ def _reduce_171( val, _values, result )
2343
2444
  result = val[0] << val[2]
2344
2445
  result
2345
2446
  end
2346
2447
  .,.,
2347
2448
 
2348
- module_eval <<'.,.,', 'src/ctype.y', 478
2349
- def _reduce_170( val, _values, result )
2449
+ module_eval <<'.,.,', 'src/ctype.y', 486
2450
+ def _reduce_172( val, _values, result )
2350
2451
  result = CType::Type.new(); result.base_type = val[0]
2351
2452
  result
2352
2453
  end
2353
2454
  .,.,
2354
2455
 
2355
- module_eval <<'.,.,', 'src/ctype.y', 480
2356
- def _reduce_171( val, _values, result )
2456
+ module_eval <<'.,.,', 'src/ctype.y', 488
2457
+ def _reduce_173( val, _values, result )
2357
2458
  result = val[1]; result.base_type = val[0]
2358
2459
  result
2359
2460
  end
2360
2461
  .,.,
2361
2462
 
2362
- module_eval <<'.,.,', 'src/ctype.y', 485
2363
- def _reduce_172( val, _values, result )
2463
+ module_eval <<'.,.,', 'src/ctype.y', 493
2464
+ def _reduce_174( val, _values, result )
2364
2465
  result = val[0].first
2365
2466
  result
2366
2467
  end
2367
2468
  .,.,
2368
2469
 
2369
- module_eval <<'.,.,', 'src/ctype.y', 498
2370
- def _reduce_173( val, _values, result )
2470
+ module_eval <<'.,.,', 'src/ctype.y', 506
2471
+ def _reduce_175( val, _values, result )
2371
2472
  # create new type, example: int (*)(const char *, const char *)
2372
2473
  result = [CType::Type.new(), CType::Type.new()]
2373
2474
  result.first.base_type = val[0] # pointer to a
@@ -2376,10 +2477,10 @@ module_eval <<'.,.,', 'src/ctype.y', 498
2376
2477
  end
2377
2478
  .,.,
2378
2479
 
2379
- # reduce 174 omitted
2480
+ # reduce 176 omitted
2380
2481
 
2381
- module_eval <<'.,.,', 'src/ctype.y', 506
2382
- def _reduce_175( val, _values, result )
2482
+ module_eval <<'.,.,', 'src/ctype.y', 514
2483
+ def _reduce_177( val, _values, result )
2383
2484
  # see direct_declarator for more info
2384
2485
  result = val[1]
2385
2486
  result.last.base_type = val[0]
@@ -2388,15 +2489,15 @@ module_eval <<'.,.,', 'src/ctype.y', 506
2388
2489
  end
2389
2490
  .,.,
2390
2491
 
2391
- module_eval <<'.,.,', 'src/ctype.y', 510
2392
- def _reduce_176( val, _values, result )
2492
+ module_eval <<'.,.,', 'src/ctype.y', 518
2493
+ def _reduce_178( val, _values, result )
2393
2494
  result = val[1]
2394
2495
  result
2395
2496
  end
2396
2497
  .,.,
2397
2498
 
2398
- module_eval <<'.,.,', 'src/ctype.y', 517
2399
- def _reduce_177( val, _values, result )
2499
+ module_eval <<'.,.,', 'src/ctype.y', 525
2500
+ def _reduce_179( val, _values, result )
2400
2501
  # create new type
2401
2502
  result = [CType::Type.new()]
2402
2503
  result.last.dimensions << nil
@@ -2404,8 +2505,8 @@ module_eval <<'.,.,', 'src/ctype.y', 517
2404
2505
  end
2405
2506
  .,.,
2406
2507
 
2407
- module_eval <<'.,.,', 'src/ctype.y', 523
2408
- def _reduce_178( val, _values, result )
2508
+ module_eval <<'.,.,', 'src/ctype.y', 531
2509
+ def _reduce_180( val, _values, result )
2409
2510
  # create new type
2410
2511
  result = [CType::Type.new()]
2411
2512
  result.last.dimensions << val[1]
@@ -2413,22 +2514,22 @@ module_eval <<'.,.,', 'src/ctype.y', 523
2413
2514
  end
2414
2515
  .,.,
2415
2516
 
2416
- module_eval <<'.,.,', 'src/ctype.y', 524
2417
- def _reduce_179( val, _values, result )
2517
+ module_eval <<'.,.,', 'src/ctype.y', 532
2518
+ def _reduce_181( val, _values, result )
2418
2519
  result = val[0]; result.last.dimensions << nil
2419
2520
  result
2420
2521
  end
2421
2522
  .,.,
2422
2523
 
2423
- module_eval <<'.,.,', 'src/ctype.y', 526
2424
- def _reduce_180( val, _values, result )
2524
+ module_eval <<'.,.,', 'src/ctype.y', 534
2525
+ def _reduce_182( val, _values, result )
2425
2526
  result = val[0]; result.last.dimensions << val[2]
2426
2527
  result
2427
2528
  end
2428
2529
  .,.,
2429
2530
 
2430
- module_eval <<'.,.,', 'src/ctype.y', 533
2431
- def _reduce_181( val, _values, result )
2531
+ module_eval <<'.,.,', 'src/ctype.y', 541
2532
+ def _reduce_183( val, _values, result )
2432
2533
  # create new type
2433
2534
  result = [CType::Type.new()]
2434
2535
  result.last.parameters = nil
@@ -2436,8 +2537,8 @@ module_eval <<'.,.,', 'src/ctype.y', 533
2436
2537
  end
2437
2538
  .,.,
2438
2539
 
2439
- module_eval <<'.,.,', 'src/ctype.y', 539
2440
- def _reduce_182( val, _values, result )
2540
+ module_eval <<'.,.,', 'src/ctype.y', 547
2541
+ def _reduce_184( val, _values, result )
2441
2542
  # create new type
2442
2543
  result = [CType::Type.new()]
2443
2544
  result.last.parameters = val[1]
@@ -2445,15 +2546,15 @@ module_eval <<'.,.,', 'src/ctype.y', 539
2445
2546
  end
2446
2547
  .,.,
2447
2548
 
2448
- module_eval <<'.,.,', 'src/ctype.y', 540
2449
- def _reduce_183( val, _values, result )
2549
+ module_eval <<'.,.,', 'src/ctype.y', 548
2550
+ def _reduce_185( val, _values, result )
2450
2551
  result = val[0]; result.last.parameters = nil
2451
2552
  result
2452
2553
  end
2453
2554
  .,.,
2454
2555
 
2455
- module_eval <<'.,.,', 'src/ctype.y', 542
2456
- def _reduce_184( val, _values, result )
2556
+ module_eval <<'.,.,', 'src/ctype.y', 550
2557
+ def _reduce_186( val, _values, result )
2457
2558
  result = val[0]; result.last.parameters = val[2]
2458
2559
  result
2459
2560
  end