dbc 1.2.3 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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