dbc 1.3.0 → 2.0.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.
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.1
3
3
  specification_version: 1
4
4
  name: dbc
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.3.0
7
- date: 2004-12-02
6
+ version: 2.0.0
7
+ date: 2005-05-10
8
8
  summary: Design by Contract (DBC) for C
9
9
  require_paths:
10
10
  - lib
@@ -27,17 +27,21 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
27
27
  version:
28
28
  platform: ruby
29
29
  files:
30
+ - lib/caphir
30
31
  - lib/dbc
31
- - lib/dbc/ctokenizer.rb
32
- - lib/dbc/ctype.rb
32
+ - lib/caphir/ctokenizer.rb
33
+ - lib/caphir/ctype.rb
34
+ - lib/caphir/define.rb
35
+ - lib/caphir/parseerrorhandler.rb
36
+ - lib/caphir/parser.rb
37
+ - lib/caphir/parsersettings.rb
38
+ - lib/caphir/preprocessor.rb
39
+ - lib/caphir/preprocessor_conf.rb
40
+ - lib/caphir/searchpath.rb
33
41
  - lib/dbc/dbc.rb
34
- - lib/dbc/define.rb
35
42
  - lib/dbc/expand_function.rb
36
43
  - lib/dbc/ocl.rb
37
- - lib/dbc/parameters.rb
38
- - lib/dbc/parseerrorhandler.rb
39
- - lib/dbc/preprocessor.rb
40
- - lib/dbc/searchpath.rb
44
+ - bin/caphir.rb
41
45
  - bin/dbcparse.rb
42
46
  test_files: []
43
47
  rdoc_options: []
@@ -1,2569 +0,0 @@
1
- #
2
- # DO NOT MODIFY!!!!
3
- # This file is automatically generated by racc 1.4.4
4
- # from racc grammer file "src/ctype.y".
5
- #
6
-
7
- require 'racc/parser'
8
-
9
-
10
-
11
- require 'dbc/ctokenizer'
12
- require 'dbc/parseerrorhandler'
13
-
14
- class Module
15
- private
16
- def setter(*symbols)
17
- symbols.each do |s|
18
- s = s.to_s
19
- #raise "invalid attribute #{s}" unless s =~ /\A[A-Za-z_]\w*\Z/
20
- module_eval(%Q{
21
- def #{s}?
22
- @#{s}
23
- end
24
- def set_#{s}
25
- raise ParseError, "#{s} specified more than once" if @#{s}
26
- @#{s} = true
27
- self
28
- end
29
- })
30
- end
31
- nil
32
- end # setter
33
- end # Module
34
-
35
- module CType
36
- class EvaluationError < StandardError; end
37
-
38
- def CType.evaluation_error(part)
39
- raise EvaluationError, "cannot evaluate '#{part}'"
40
- end
41
-
42
- def CType.parse(source)
43
- tokens = CTokenizer::SkipMacros.new(source)
44
- ctype_parser = Parser.new()
45
-
46
- until tokens.empty?
47
- results = ctype_parser.parse(tokens)
48
- until tokens.scope == 0 or tokens.empty?
49
- # get back to group zero
50
- tokens.shift
51
- end
52
- if results
53
- results = [results] unless results.class == Array
54
- results.each do |t|
55
- CType[t.to_s] = t if t.typedef?
56
- end
57
- end
58
- end
59
- end
60
-
61
- @@typedefs = {}
62
-
63
- def CType.[](val)
64
- t = @@typedefs[val]
65
- t && t.at(1)
66
- end
67
-
68
- def CType.convert_token(t)
69
- @@typedefs.fetch(t.at(1), t)
70
- end
71
-
72
- def CType.include?(name)
73
- @@typedefs.include?(name)
74
- end
75
-
76
- def CType.[]=(name, tdef)
77
- raise ParseError, "type #{name} already defined" if @@typedefs.include?(name)
78
- @@typedefs[name.freeze] = [:TYPEDEF_NAME, tdef].freeze
79
- end
80
-
81
- class StructUnion
82
- # want only one instance of each unique Struct or Union
83
- def StructUnion.get(type, name, members = nil)
84
- case type
85
- when 'struct'
86
- if members
87
- Struct[name].add(members)
88
- else
89
- Struct[name]
90
- end
91
- when 'union'
92
- if members
93
- Union[name].add(members)
94
- else
95
- Union[name]
96
- end
97
- end
98
- end
99
- def initialize(name = nil)
100
- @name = name
101
- @members = nil
102
- end
103
- def add(items)
104
- #warn "structure or union #{@name} already defined" if @members
105
- @members = items.flatten
106
- self
107
- end
108
- def lookup(identifier)
109
- @members.find do |m|
110
- identifier == m.identifier
111
- end
112
- end
113
-
114
- def get_members
115
- @members.dup
116
- end
117
-
118
- def evaluate(identifier)
119
- return self if identifier.empty?
120
- CType.evaluation_error(identifier) unless identifier =~ /\A\.([A-Za-z_]\w*)/
121
- post_match = $'
122
- p_type = lookup($1)
123
- if p_type
124
- p_type.evaluate(post_match)
125
- else
126
- CType.evaluation_error(identifier)
127
- end
128
- end
129
-
130
- def keyword
131
- if self.class == Struct
132
- 'struct'
133
- elsif self.class == Union
134
- 'union'
135
- end
136
- end
137
- def to_s
138
- to_init_s()
139
- end
140
- def to_init_s(ident = nil)
141
- str = ''
142
- str << keyword
143
- str << ' ' << @name if @name
144
- str << ' ' << ident if ident
145
- str # make sure we don't return nil
146
- end
147
-
148
- # to_def is pretty much depreciated - might be useful for debugging in the future
149
- # to_def methods would have to be added to all classes in this module though.
150
- def to_def(indent='')
151
- str = to_s
152
- str << " {\n"
153
- @members.each do |m|
154
- str << indent << "\t" << m.to_def(indent + "\t") << ";\n"
155
- end
156
- str << indent << '}'
157
- end
158
- end # StructUnion
159
-
160
- class Struct < StructUnion
161
- @@structs = {}
162
- # factory method
163
- def Struct.[](val = nil)
164
- # for unnamed structures
165
- return Struct.send(:new) unless val
166
-
167
- result = @@structs[val]
168
- unless result
169
- result = @@structs[val] = Struct.send(:new, val)
170
- end
171
- result
172
- end
173
-
174
- class << self
175
- protected :new
176
- end
177
- def initialize(name = nil)
178
- super
179
- end
180
- end # Struct
181
-
182
- class Union < StructUnion
183
- @@unions = {}
184
- # factory method
185
- def Union.[](val = nil)
186
- # for unnamed structures
187
- return Union.send(:new) unless val
188
-
189
- result = @@unions[val]
190
- unless result
191
- result = @@unions[val] = Union.send(:new, val)
192
- end
193
- result
194
- end
195
- class << self
196
- protected :new
197
- end
198
- def initialize(name = nil)
199
- super
200
- end
201
- end # Union
202
-
203
- class Enum
204
- @@enums = {}
205
- def Enum.[](val = nil)
206
- # for unnamed enumerations
207
- return Enum.send(:new, nil) unless val
208
-
209
- result = @@enums[val]
210
- unless result
211
- result = @@enums[val] = Enum.send(:new, val)
212
- end
213
- result
214
- end
215
-
216
- class << self
217
- protected :new
218
- end
219
-
220
- def initialize(name)
221
- @name = name
222
- @members = nil
223
- end
224
- def add(items)
225
- warn "enum #{@name} already defined" if @members
226
- @members = items
227
- self
228
- end
229
- def evaluate
230
- CType.evaluation_error(identifier) unless identifier.empty?
231
- self
232
- end
233
- def to_s
234
- to_init_s()
235
- end
236
- def to_init_s(ident=nil)
237
- str = 'enum'
238
- str << ' ' << @name if @name
239
- str << ' ' << ident if ident
240
- str
241
- end
242
- def to_def(indent='')
243
- str = to_s
244
- str << " {\n"
245
- @members.each do |name, num|
246
- str << indent << "\t" << name
247
- str << " = #{num.to_s}" if num
248
- str << ",\n"
249
- end
250
- str[-2, 2] = "\n" # get rid of trailing comma
251
- str << indent << "}"
252
- end
253
- end # Enum
254
-
255
- class Primitive
256
-
257
- def initialize(val)
258
- @p = val.frozen? ? val : val.dup.freeze
259
- end
260
-
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)
280
- end
281
-
282
- def evaluate(identifier)
283
- CType.evaluation_error(identifier) unless identifier.empty?
284
- self
285
- end
286
- def to_init_s(ident=nil)
287
- if ident
288
- "#{@p} #{ident}"
289
- else
290
- @p
291
- end
292
- end
293
- end # Primitive
294
-
295
- module Qualifiers
296
- setter :const, :volatile
297
- def add_qualifier(q)
298
- case q
299
- when 'const'
300
- set_const
301
- when 'volatile'
302
- set_volatile
303
- else
304
- raise "invalid type qualifier #{q}" # shouldn't get here
305
- end
306
- end
307
- end
308
-
309
- module Specifiers
310
- setter :inline, :typedef, :extern, :static, :auto, :register
311
- def add_specifier(s)
312
- case s
313
- when 'inline'
314
- set_inline
315
- when 'typedef'
316
- set_typedef
317
- when 'extern'
318
- set_extern
319
- when 'static'
320
- set_static
321
- when 'auto'
322
- set_auto
323
- when 'register'
324
- set_register
325
- else
326
- raise "unexpected storage class specifier #{s}"
327
- end
328
- end
329
- end
330
-
331
- module BaseReference
332
- attr_reader :base_type
333
- def base_type=(val)
334
- if @base_type
335
- @base_type.base_type = val
336
- else
337
- @base_type = val
338
- end
339
- end
340
- end
341
-
342
- class Base
343
- include Qualifiers
344
-
345
- def initialize(type)
346
- @primitive = type
347
- end
348
-
349
- attr_reader :primitive
350
-
351
- def to_s
352
- to_init_s
353
- end
354
-
355
- def evaluate(identifier)
356
- self.primitive.evaluate(identifier)
357
- end
358
-
359
- def to_init_s(ident=nil)
360
- str = ''
361
- str << 'const ' if @const
362
- str << 'volatile ' if @volatile
363
- str << @primitive.to_init_s(ident)
364
- end
365
- end # Base
366
-
367
- class Pointer
368
- include Qualifiers
369
- include BaseReference
370
-
371
- def initialize(type_qualifiers=[])
372
- @const = false
373
- @volatile = false
374
- @base_type = nil
375
- type_qualifiers.each do |q|
376
- add_qualifier(q)
377
- end # do
378
- end
379
-
380
- def evaluate(identifier)
381
- return self if identifier.empty?
382
- if identifier =~ /\A->/
383
- self.base_type.evaluate('.' + $')
384
- elsif identifier =~ /\A\[.+?\]/
385
- self.base_type.evaluate($')
386
- else
387
- CType.evaluation_error(identifier)
388
- end
389
- end
390
-
391
- def to_s
392
- to_init_s()
393
- end
394
- def to_init_s(ident=nil)
395
- str = '*'
396
- str << ' const' if @const
397
- str << ' volatile' if @volatile
398
- str << ' ' << ident if ident
399
- if @base_type.class == Type and (@base_type.function? or @base_type.array?)
400
- # then parens are required
401
- str[0,0] = '('
402
- str << ')'
403
- end
404
- if @base_type
405
- @base_type.to_init_s(str)
406
- else
407
- str
408
- end
409
- end
410
- end # Pointer
411
-
412
- class Type
413
- include BaseReference
414
- include Specifiers
415
-
416
- def initialize(identifier=nil)
417
- @identifier = identifier
418
- @dimensions = []
419
- @parameters = nil
420
- @base_type = nil
421
- @size = nil
422
- end
423
-
424
- def dup
425
- new_type = Type.new(self.identifier)
426
- self.dimensions.each do |d|
427
- new_type.dimensions << d
428
- end
429
- new_type.parameters = self.parameters
430
- new_type.base_type = self.base_type
431
- new_type.size = self.size
432
- new_type
433
- end
434
-
435
- def abstract?
436
- @identifier == nil
437
- end
438
- attr_reader :identifier, :dimensions, :parameters, :size
439
-
440
- def parameters=(params)
441
- raise ParseError, "invalid type" if @parameters
442
- params = List.new(true) unless params
443
- @parameters = params
444
- end
445
-
446
- def add_parameter_declarations(declarations)
447
- # @parameters should be an identifier list
448
- if @parameters.length != declarations.length
449
- raise ParseError, "invalid function definition"
450
- end
451
- declarations.each do |d|
452
- idx = @parameters.index(d.identifier)
453
- unless idx
454
- raise ParseError, "identifier not found in parameter list: #{d.identifier}"
455
- end
456
- @parameters[idx] = d
457
- end
458
- self
459
- end
460
-
461
- # array of specifiers, last element is type specifier
462
- def add_declaration_specifiers(val)
463
- # make sure we don't modify specifiers
464
- self.base_type = val.last
465
- val[0...-1].each do |s|
466
- self.add_specifier(s)
467
- end
468
- self
469
- end
470
-
471
- # override this
472
- def set_typedef
473
- raise ParseError, "typedef must have a name" if abstract?
474
- @typedef = true
475
- self
476
- end
477
-
478
- def size=(val)
479
- raise "bit field size already set" if @size
480
- @size = val
481
- end
482
-
483
- def bit_field?
484
- @size != nil
485
- end
486
-
487
- def evaluate(identifier)
488
- if identifier.empty?
489
- result = self
490
- elsif identifier =~ /\A[A-Za-z_]\w*/
491
- post_match = $'
492
- p_type = @parameters.lookup($&) if function?
493
- CType.evaluation_error(identifier) unless p_type
494
- p_type.evaluate(post_match)
495
- elsif identifier =~ /\A(?:\s*\[[^\]]*\])+/
496
- if self.dimensions.empty?
497
- # then let the base type evaluate this
498
- @base_type.evaluate(identifier)
499
- else
500
- post_match = $'
501
-
502
- indicies = $&.scan(/\[.+?\]/)
503
- ret_type = self.dup
504
-
505
- min = indicies.length
506
- if min > self.dimensions.length
507
- min = self.dimensions.length
508
- end
509
- # remove lower dimensions
510
- min.times do
511
- ret_type.dimensions.shift
512
- indicies.shift
513
- end
514
- ret_type.evaluate(indicies.join << post_match)
515
- end
516
- else
517
- @base_type.evaluate(identifier)
518
- end
519
- end
520
-
521
- def function?
522
- @parameters != nil
523
- end
524
-
525
- def array?
526
- @dimensions.length > 0
527
- end
528
-
529
- def prototype?
530
- @parameters.prototype?
531
- end
532
-
533
- def to_init_s(ident=nil)
534
- str = ''
535
- if typedef?
536
- str << @identifier
537
- str << ' ' << ident if ident
538
- else
539
- ident = @identifier unless ident
540
- str << ident if ident
541
- str << '(' << @parameters.to_s << ')' if @parameters
542
- @dimensions.each do |d|
543
- str << "[#{d}]"
544
- end
545
- # should pass nil to base_type if we have nothing to add
546
- str = @base_type.to_init_s(str.empty? ? nil : str) if @base_type
547
- end
548
- str
549
- end
550
-
551
- def to_s
552
- to_init_s
553
- end
554
-
555
- def short_name
556
- if typedef?
557
- @identifier.dup
558
- elsif function?
559
- "#{@identifier}()"
560
- else
561
- to_init_s('')
562
- end
563
- end
564
- end # Type
565
-
566
- class List < Array
567
- def initialize(proto=false)
568
- super()
569
- @ellipses = false
570
- @prototype = proto
571
- self.freeze if @prototype
572
- end
573
-
574
- # check if K & R style prototype: main();
575
- def prototype?
576
- @prototype
577
- end
578
-
579
- def lookup(ident)
580
- self.find { |p| p.identifier == ident }
581
- end
582
-
583
- def with_ellipses()
584
- #raise "already has ellipses #{self}" if ellipses?
585
- #raise "prototype with ellipses?" if prototype?
586
- @ellipses = true
587
- self
588
- end
589
-
590
- def ellipses?
591
- @ellipses
592
- end
593
-
594
- def finalize
595
- if self.length == 1 and self[0].to_s == 'void'
596
- self.pop # get rid of (void)
597
- end
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
602
- end
603
-
604
- def to_s
605
- if self.length == 0
606
- if prototype?
607
- ''
608
- else
609
- 'void'
610
- end
611
- else
612
- if ellipses?
613
- [self, '...']
614
- else
615
- self
616
- end.join(', ')
617
- end
618
- end
619
- end # List
620
-
621
- end # module CType
622
-
623
-
624
- module CType
625
-
626
- class Parser < Racc::Parser
627
-
628
- module_eval <<'..end src/ctype.y modeval..ida1cf1ee523', 'src/ctype.y', 1169
629
-
630
- def parse(str, file=nil, line=1)
631
- @tokens = CTokenizer::CLexer.new(str, file, line)
632
- @in_member
633
-
634
- #@yydebug = true
635
- begin
636
- do_parse
637
- rescue ParseError
638
- @tokens.error($!)
639
- end
640
- end
641
-
642
- protected
643
-
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
649
-
650
- attr_writer :in_member
651
-
652
- def next_token
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
658
- if t_sym == :IDENTIFIER and not @in_member
659
- t = CType.convert_token(t)
660
- end
661
- @current_token = t
662
- end
663
-
664
- ..end src/ctype.y modeval..ida1cf1ee523
665
-
666
- ##### racc 1.4.4 generates ###
667
-
668
- racc_reduce_table = [
669
- 0, 0, :racc_error,
670
- 1, 78, :_reduce_1,
671
- 1, 78, :_reduce_2,
672
- 1, 79, :_reduce_none,
673
- 2, 79, :_reduce_4,
674
- 0, 80, :_reduce_5,
675
- 1, 80, :_reduce_6,
676
- 1, 83, :_reduce_none,
677
- 1, 83, :_reduce_none,
678
- 1, 83, :_reduce_none,
679
- 1, 83, :_reduce_none,
680
- 1, 83, :_reduce_none,
681
- 1, 83, :_reduce_none,
682
- 1, 84, :_reduce_none,
683
- 1, 84, :_reduce_none,
684
- 1, 84, :_reduce_none,
685
- 1, 84, :_reduce_none,
686
- 1, 84, :_reduce_none,
687
- 1, 84, :_reduce_none,
688
- 1, 84, :_reduce_none,
689
- 1, 84, :_reduce_none,
690
- 1, 84, :_reduce_none,
691
- 1, 85, :_reduce_none,
692
- 1, 85, :_reduce_none,
693
- 1, 86, :_reduce_none,
694
- 1, 86, :_reduce_none,
695
- 1, 87, :_reduce_26,
696
- 2, 87, :_reduce_27,
697
- 1, 88, :_reduce_none,
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,
713
- 1, 93, :_reduce_none,
714
- 4, 93, :_reduce_45,
715
- 1, 95, :_reduce_none,
716
- 3, 95, :_reduce_47,
717
- 3, 95, :_reduce_48,
718
- 3, 95, :_reduce_49,
719
- 1, 96, :_reduce_none,
720
- 3, 96, :_reduce_51,
721
- 3, 96, :_reduce_52,
722
- 1, 97, :_reduce_none,
723
- 3, 97, :_reduce_54,
724
- 3, 97, :_reduce_55,
725
- 1, 98, :_reduce_none,
726
- 3, 98, :_reduce_57,
727
- 3, 98, :_reduce_58,
728
- 3, 98, :_reduce_59,
729
- 3, 98, :_reduce_60,
730
- 1, 99, :_reduce_none,
731
- 3, 99, :_reduce_62,
732
- 3, 99, :_reduce_63,
733
- 1, 100, :_reduce_none,
734
- 3, 100, :_reduce_65,
735
- 1, 101, :_reduce_none,
736
- 3, 101, :_reduce_67,
737
- 1, 102, :_reduce_none,
738
- 3, 102, :_reduce_69,
739
- 1, 103, :_reduce_none,
740
- 3, 103, :_reduce_71,
741
- 1, 104, :_reduce_none,
742
- 3, 104, :_reduce_73,
743
- 1, 105, :_reduce_none,
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,
756
- 1, 111, :_reduce_none,
757
- 3, 111, :_reduce_none,
758
- 1, 112, :_reduce_none,
759
- 2, 112, :_reduce_90,
760
- 3, 112, :_reduce_91,
761
- 4, 112, :_reduce_92,
762
- 1, 114, :_reduce_none,
763
- 3, 114, :_reduce_94,
764
- 1, 113, :_reduce_none,
765
- 3, 113, :_reduce_96,
766
- 1, 115, :_reduce_none,
767
- 1, 115, :_reduce_none,
768
- 1, 115, :_reduce_none,
769
- 1, 115, :_reduce_none,
770
- 1, 115, :_reduce_none,
771
- 1, 115, :_reduce_none,
772
- 1, 115, :_reduce_none,
773
- 1, 115, :_reduce_none,
774
- 1, 115, :_reduce_none,
775
- 1, 115, :_reduce_none,
776
- 1, 115, :_reduce_none,
777
- 1, 116, :_reduce_108,
778
- 2, 116, :_reduce_109,
779
- 2, 116, :_reduce_110,
780
- 1, 107, :_reduce_none,
781
- 2, 107, :_reduce_112,
782
- 2, 107, :_reduce_113,
783
- 1, 118, :_reduce_114,
784
- 2, 118, :_reduce_115,
785
- 1, 117, :_reduce_116,
786
- 1, 117, :_reduce_117,
787
- 1, 117, :_reduce_118,
788
- 1, 117, :_reduce_119,
789
- 1, 121, :_reduce_none,
790
- 1, 121, :_reduce_none,
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,
799
- 1, 126, :_reduce_none,
800
- 2, 126, :_reduce_131,
801
- 1, 125, :_reduce_132,
802
- 3, 125, :_reduce_133,
803
- 1, 127, :_reduce_none,
804
- 2, 127, :_reduce_135,
805
- 3, 127, :_reduce_136,
806
- 1, 108, :_reduce_137,
807
- 2, 128, :_reduce_138,
808
- 1, 128, :_reduce_none,
809
- 1, 130, :_reduce_140,
810
- 3, 130, :_reduce_141,
811
- 4, 130, :_reduce_142,
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,
819
- 1, 133, :_reduce_none,
820
- 2, 133, :_reduce_none,
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,
845
- 1, 141, :_reduce_none,
846
- 2, 141, :_reduce_177,
847
- 3, 142, :_reduce_178,
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 ]
856
-
857
- racc_reduce_n = 187
858
-
859
- racc_shift_n = 274
860
-
861
- racc_action_table = [
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,
982
- nil, nil, nil, nil, nil, nil, nil, nil, 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,
986
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
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 ]
1015
-
1016
- racc_action_check = [
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,
1038
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1141
- nil, nil, nil, nil, nil, nil, nil, nil, 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,
1145
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
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 ]
1170
-
1171
- racc_action_pointer = [
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 ]
1200
-
1201
- racc_action_default = [
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 ]
1230
-
1231
- racc_goto_table = [
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,
1253
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1254
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1255
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1256
- 240 ]
1257
-
1258
- racc_goto_check = [
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,
1280
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1281
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1282
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1283
- 52 ]
1284
-
1285
- racc_goto_pointer = [
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 ]
1293
-
1294
- racc_goto_default = [
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 ]
1302
-
1303
- racc_token_table = {
1304
- false => 0,
1305
- Object.new => 1,
1306
- "." => 2,
1307
- "->" => 3,
1308
- :UADDRS => 4,
1309
- :UDEREF => 5,
1310
- :UPLUS => 6,
1311
- :UMINUS => 7,
1312
- "!" => 8,
1313
- "~" => 9,
1314
- "sizeof" => 10,
1315
- "*" => 11,
1316
- "/" => 12,
1317
- "%" => 13,
1318
- "+" => 14,
1319
- "-" => 15,
1320
- "<" => 16,
1321
- "<=" => 17,
1322
- ">" => 18,
1323
- ">=" => 19,
1324
- "==" => 20,
1325
- "!=" => 21,
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,
1362
- "?" => 58,
1363
- ":" => 59,
1364
- "," => 60,
1365
- "=" => 61,
1366
- "}" => 62,
1367
- "+=" => 63,
1368
- "-=" => 64,
1369
- "*=" => 65,
1370
- "/=" => 66,
1371
- "%=" => 67,
1372
- "&=" => 68,
1373
- "^=" => 69,
1374
- "|=" => 70,
1375
- "<<=" => 71,
1376
- ">>=" => 72,
1377
- "[" => 73,
1378
- "]" => 74,
1379
- "enum" => 75,
1380
- "..." => 76 }
1381
-
1382
- racc_use_result_var = true
1383
-
1384
- racc_nt_base = 77
1385
-
1386
- Racc_arg = [
1387
- racc_action_table,
1388
- racc_action_check,
1389
- racc_action_default,
1390
- racc_action_pointer,
1391
- racc_goto_table,
1392
- racc_goto_check,
1393
- racc_goto_default,
1394
- racc_goto_pointer,
1395
- racc_nt_base,
1396
- racc_reduce_table,
1397
- racc_token_table,
1398
- racc_shift_n,
1399
- racc_reduce_n,
1400
- racc_use_result_var ]
1401
-
1402
- Racc_token_to_s_table = [
1403
- '$end',
1404
- 'error',
1405
- '"."',
1406
- '"->"',
1407
- 'UADDRS',
1408
- 'UDEREF',
1409
- 'UPLUS',
1410
- 'UMINUS',
1411
- '"!"',
1412
- '"~"',
1413
- '"sizeof"',
1414
- '"*"',
1415
- '"/"',
1416
- '"%"',
1417
- '"+"',
1418
- '"-"',
1419
- '"<"',
1420
- '"<="',
1421
- '">"',
1422
- '">="',
1423
- '"=="',
1424
- '"!="',
1425
- '"&"',
1426
- '"^"',
1427
- '"|"',
1428
- '"&&"',
1429
- '"||"',
1430
- 'POINTER',
1431
- 'CONSTANT',
1432
- 'CHARACTER',
1433
- 'STRING',
1434
- 'TYPEDEF_NAME',
1435
- 'IDENTIFIER',
1436
- '"{"',
1437
- '";"',
1438
- '"inline"',
1439
- '"typedef"',
1440
- '"extern"',
1441
- '"static"',
1442
- '"auto"',
1443
- '"register"',
1444
- '"void"',
1445
- '"char"',
1446
- '"short"',
1447
- '"int"',
1448
- '"long"',
1449
- '"float"',
1450
- '"double"',
1451
- '"signed"',
1452
- '"unsigned"',
1453
- '"struct"',
1454
- '"union"',
1455
- '"const"',
1456
- '"volatile"',
1457
- '"("',
1458
- '")"',
1459
- '"<<"',
1460
- '">>"',
1461
- '"?"',
1462
- '":"',
1463
- '","',
1464
- '"="',
1465
- '"}"',
1466
- '"+="',
1467
- '"-="',
1468
- '"*="',
1469
- '"/="',
1470
- '"%="',
1471
- '"&="',
1472
- '"^="',
1473
- '"|="',
1474
- '"<<="',
1475
- '">>="',
1476
- '"["',
1477
- '"]"',
1478
- '"enum"',
1479
- '"..."',
1480
- '$start',
1481
- 'target',
1482
- 'statement_target',
1483
- 'empty_target',
1484
- 'declaration',
1485
- 'function_definition',
1486
- 'storage_class_specifier',
1487
- 'primitive_type',
1488
- 'struct_or_union',
1489
- 'type_qualifier',
1490
- 'cstring',
1491
- 'identifier',
1492
- 'typedef_identifier',
1493
- 'constant_exp',
1494
- 'expression',
1495
- 'unary_expression',
1496
- 'cast_expression',
1497
- 'type_name',
1498
- 'multiplicative_expression',
1499
- 'additive_expression',
1500
- 'shift_expression',
1501
- 'relational_expression',
1502
- 'equality_expression',
1503
- 'and_expression',
1504
- 'exclusive_or_expression',
1505
- 'inclusive_or_expression',
1506
- 'logical_and_expression',
1507
- 'logical_or_expression',
1508
- 'conditional_expression',
1509
- 'function_header',
1510
- 'declaration_specifiers',
1511
- 'declarator',
1512
- 'declaration_list',
1513
- 'init_declarator_list',
1514
- 'init_declarator',
1515
- 'initializer',
1516
- 'assignment_expression',
1517
- 'initializer_list',
1518
- 'assignment_operator',
1519
- 'post_declaration_specifiers',
1520
- 'type_specifier',
1521
- 'primitive_type_specifier',
1522
- 'struct_or_union_specifier',
1523
- 'enum_specifier',
1524
- 'struct_or_union_or_enum_name',
1525
- 'struct_declaration_list',
1526
- 'struct_declaration',
1527
- 'struct_specifiers',
1528
- 'struct_declarator_list',
1529
- 'specifier_qualifier_list',
1530
- 'struct_declarator',
1531
- 'declarator_sequence',
1532
- 'pointer',
1533
- 'direct_declarator',
1534
- 'parameter_type_list',
1535
- 'identifier_list',
1536
- 'enumerator_list',
1537
- 'enumerator_list_pre',
1538
- 'enumerator',
1539
- 'type_qualifier_list',
1540
- 'parameter_list',
1541
- 'parameter_declaration',
1542
- 'abstract_declarator',
1543
- 'identifier_sequence',
1544
- 'abstract_declarator_sequence',
1545
- 'direct_abstract_declarator']
1546
-
1547
- Racc_debug_parser = false
1548
-
1549
- ##### racc system variables end #####
1550
-
1551
- # reduce 0 omitted
1552
-
1553
- module_eval <<'.,.,', 'src/ctype.y', 29
1554
- def _reduce_1( val, _values, result )
1555
- yyaccept
1556
- result
1557
- end
1558
- .,.,
1559
-
1560
- module_eval <<'.,.,', 'src/ctype.y', 30
1561
- def _reduce_2( val, _values, result )
1562
- yyaccept
1563
- result
1564
- end
1565
- .,.,
1566
-
1567
- # reduce 3 omitted
1568
-
1569
- module_eval <<'.,.,', 'src/ctype.y', 36
1570
- def _reduce_4( val, _values, result )
1571
- result = val[0,1]
1572
- result
1573
- end
1574
- .,.,
1575
-
1576
- module_eval <<'.,.,', 'src/ctype.y', 40
1577
- def _reduce_5( val, _values, result )
1578
- result = []
1579
- result
1580
- end
1581
- .,.,
1582
-
1583
- module_eval <<'.,.,', 'src/ctype.y', 41
1584
- def _reduce_6( val, _values, result )
1585
- result = []
1586
- result
1587
- end
1588
- .,.,
1589
-
1590
- # reduce 7 omitted
1591
-
1592
- # reduce 8 omitted
1593
-
1594
- # reduce 9 omitted
1595
-
1596
- # reduce 10 omitted
1597
-
1598
- # reduce 11 omitted
1599
-
1600
- # reduce 12 omitted
1601
-
1602
- # reduce 13 omitted
1603
-
1604
- # reduce 14 omitted
1605
-
1606
- # reduce 15 omitted
1607
-
1608
- # reduce 16 omitted
1609
-
1610
- # reduce 17 omitted
1611
-
1612
- # reduce 18 omitted
1613
-
1614
- # reduce 19 omitted
1615
-
1616
- # reduce 20 omitted
1617
-
1618
- # reduce 21 omitted
1619
-
1620
- # reduce 22 omitted
1621
-
1622
- # reduce 23 omitted
1623
-
1624
- # reduce 24 omitted
1625
-
1626
- # reduce 25 omitted
1627
-
1628
- module_eval <<'.,.,', 'src/ctype.y', 77
1629
- def _reduce_26( val, _values, result )
1630
- result = val[0][1...-1]
1631
- result
1632
- end
1633
- .,.,
1634
-
1635
- module_eval <<'.,.,', 'src/ctype.y', 78
1636
- def _reduce_27( val, _values, result )
1637
- result = val[0] << val[1][1...-1]
1638
- result
1639
- end
1640
- .,.,
1641
-
1642
- # reduce 28 omitted
1643
-
1644
- module_eval <<'.,.,', 'src/ctype.y', 86
1645
- def _reduce_29( val, _values, result )
1646
- result = val[0].identifier
1647
- result
1648
- end
1649
- .,.,
1650
-
1651
- # reduce 30 omitted
1652
-
1653
- # reduce 31 omitted
1654
-
1655
- # reduce 32 omitted
1656
-
1657
- # reduce 33 omitted
1658
-
1659
- module_eval <<'.,.,', 'src/ctype.y', 94
1660
- def _reduce_34( val, _values, result )
1661
- result = val[1]
1662
- result
1663
- end
1664
- .,.,
1665
-
1666
- # reduce 35 omitted
1667
-
1668
- module_eval <<'.,.,', 'src/ctype.y', 99
1669
- def _reduce_36( val, _values, result )
1670
- result = val[0,2].join
1671
- result
1672
- end
1673
- .,.,
1674
-
1675
- module_eval <<'.,.,', 'src/ctype.y', 100
1676
- def _reduce_37( val, _values, result )
1677
- result = val[0,2].join
1678
- result
1679
- end
1680
- .,.,
1681
-
1682
- module_eval <<'.,.,', 'src/ctype.y', 101
1683
- def _reduce_38( val, _values, result )
1684
- result = val[0,2].join
1685
- result
1686
- end
1687
- .,.,
1688
-
1689
- module_eval <<'.,.,', 'src/ctype.y', 102
1690
- def _reduce_39( val, _values, result )
1691
- result = val[0,2].join
1692
- result
1693
- end
1694
- .,.,
1695
-
1696
- module_eval <<'.,.,', 'src/ctype.y', 103
1697
- def _reduce_40( val, _values, result )
1698
- result = val[0,2].join
1699
- result
1700
- end
1701
- .,.,
1702
-
1703
- module_eval <<'.,.,', 'src/ctype.y', 104
1704
- def _reduce_41( val, _values, result )
1705
- result = val[0,2].join
1706
- result
1707
- end
1708
- .,.,
1709
-
1710
- module_eval <<'.,.,', 'src/ctype.y', 105
1711
- def _reduce_42( val, _values, result )
1712
- result = val[0,2].join(' ')
1713
- result
1714
- end
1715
- .,.,
1716
-
1717
- module_eval <<'.,.,', 'src/ctype.y', 106
1718
- def _reduce_43( val, _values, result )
1719
- result = val[0,4].join('')
1720
- result
1721
- end
1722
- .,.,
1723
-
1724
- # reduce 44 omitted
1725
-
1726
- module_eval <<'.,.,', 'src/ctype.y', 111
1727
- def _reduce_45( val, _values, result )
1728
- result = val[0,3].join
1729
- result
1730
- end
1731
- .,.,
1732
-
1733
- # reduce 46 omitted
1734
-
1735
- module_eval <<'.,.,', 'src/ctype.y', 116
1736
- def _reduce_47( val, _values, result )
1737
- result = val[0,3].join(' ')
1738
- result
1739
- end
1740
- .,.,
1741
-
1742
- module_eval <<'.,.,', 'src/ctype.y', 117
1743
- def _reduce_48( val, _values, result )
1744
- result = val[0,3].join(' ')
1745
- result
1746
- end
1747
- .,.,
1748
-
1749
- module_eval <<'.,.,', 'src/ctype.y', 118
1750
- def _reduce_49( val, _values, result )
1751
- result = val[0,3].join(' ')
1752
- result
1753
- end
1754
- .,.,
1755
-
1756
- # reduce 50 omitted
1757
-
1758
- module_eval <<'.,.,', 'src/ctype.y', 123
1759
- def _reduce_51( val, _values, result )
1760
- result = val[0,3].join(' ')
1761
- result
1762
- end
1763
- .,.,
1764
-
1765
- module_eval <<'.,.,', 'src/ctype.y', 124
1766
- def _reduce_52( val, _values, result )
1767
- result = val[0,3].join(' ')
1768
- result
1769
- end
1770
- .,.,
1771
-
1772
- # reduce 53 omitted
1773
-
1774
- module_eval <<'.,.,', 'src/ctype.y', 129
1775
- def _reduce_54( val, _values, result )
1776
- result = val[0,3].join(' ')
1777
- result
1778
- end
1779
- .,.,
1780
-
1781
- module_eval <<'.,.,', 'src/ctype.y', 130
1782
- def _reduce_55( val, _values, result )
1783
- result = val[0,3].join(' ')
1784
- result
1785
- end
1786
- .,.,
1787
-
1788
- # reduce 56 omitted
1789
-
1790
- module_eval <<'.,.,', 'src/ctype.y', 135
1791
- def _reduce_57( val, _values, result )
1792
- result = val[0,3].join(' ')
1793
- result
1794
- end
1795
- .,.,
1796
-
1797
- module_eval <<'.,.,', 'src/ctype.y', 136
1798
- def _reduce_58( val, _values, result )
1799
- result = val[0,3].join(' ')
1800
- result
1801
- end
1802
- .,.,
1803
-
1804
- module_eval <<'.,.,', 'src/ctype.y', 137
1805
- def _reduce_59( val, _values, result )
1806
- result = val[0,3].join(' ')
1807
- result
1808
- end
1809
- .,.,
1810
-
1811
- module_eval <<'.,.,', 'src/ctype.y', 138
1812
- def _reduce_60( val, _values, result )
1813
- result = val[0,3].join(' ')
1814
- result
1815
- end
1816
- .,.,
1817
-
1818
- # reduce 61 omitted
1819
-
1820
- module_eval <<'.,.,', 'src/ctype.y', 143
1821
- def _reduce_62( val, _values, result )
1822
- result = val[0,3].join(' ')
1823
- result
1824
- end
1825
- .,.,
1826
-
1827
- module_eval <<'.,.,', 'src/ctype.y', 144
1828
- def _reduce_63( val, _values, result )
1829
- result = val[0,3].join(' ')
1830
- result
1831
- end
1832
- .,.,
1833
-
1834
- # reduce 64 omitted
1835
-
1836
- module_eval <<'.,.,', 'src/ctype.y', 149
1837
- def _reduce_65( val, _values, result )
1838
- result = val[0,3].join(' ')
1839
- result
1840
- end
1841
- .,.,
1842
-
1843
- # reduce 66 omitted
1844
-
1845
- module_eval <<'.,.,', 'src/ctype.y', 154
1846
- def _reduce_67( val, _values, result )
1847
- result = val[0,3].join(' ')
1848
- result
1849
- end
1850
- .,.,
1851
-
1852
- # reduce 68 omitted
1853
-
1854
- module_eval <<'.,.,', 'src/ctype.y', 159
1855
- def _reduce_69( val, _values, result )
1856
- result = val[0,3].join(' ')
1857
- result
1858
- end
1859
- .,.,
1860
-
1861
- # reduce 70 omitted
1862
-
1863
- module_eval <<'.,.,', 'src/ctype.y', 164
1864
- def _reduce_71( val, _values, result )
1865
- result = val[0,3].join(' ')
1866
- result
1867
- end
1868
- .,.,
1869
-
1870
- # reduce 72 omitted
1871
-
1872
- module_eval <<'.,.,', 'src/ctype.y', 169
1873
- def _reduce_73( val, _values, result )
1874
- result = val[0,3].join(' ')
1875
- result
1876
- end
1877
- .,.,
1878
-
1879
- # reduce 74 omitted
1880
-
1881
- module_eval <<'.,.,', 'src/ctype.y', 174
1882
- def _reduce_75( val, _values, result )
1883
- result = val[0,3].join(' ')
1884
- result
1885
- end
1886
- .,.,
1887
-
1888
- # reduce 76 omitted
1889
-
1890
- module_eval <<'.,.,', 'src/ctype.y', 187
1891
- def _reduce_77( val, _values, result )
1892
- result = val[1]
1893
- result.add_declaration_specifiers(val[0])
1894
- result
1895
- end
1896
- .,.,
1897
-
1898
- module_eval <<'.,.,', 'src/ctype.y', 193
1899
- def _reduce_78( val, _values, result )
1900
- result = val[0]
1901
- # default to int return value, like gcc *VERY BAD*
1902
- result.base_type = CType::Primitive['int']
1903
- result
1904
- end
1905
- .,.,
1906
-
1907
- module_eval <<'.,.,', 'src/ctype.y', 200
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 )
1920
- result = val[0,1]; result.flatten!
1921
- result
1922
- end
1923
- .,.,
1924
-
1925
- module_eval <<'.,.,', 'src/ctype.y', 206
1926
- def _reduce_82( val, _values, result )
1927
- result = val[0] << val[1]; result.flatten!
1928
- result
1929
- end
1930
- .,.,
1931
-
1932
- module_eval <<'.,.,', 'src/ctype.y', 211
1933
- def _reduce_83( val, _values, result )
1934
- result = val[1].each { |d| d.add_declaration_specifiers(val[0]) }
1935
- result
1936
- end
1937
- .,.,
1938
-
1939
- module_eval <<'.,.,', 'src/ctype.y', 218
1940
- def _reduce_84( val, _values, result )
1941
- result = CType::Type.new()
1942
- result.add_declaration_specifiers(val[0])
1943
- result = [result]
1944
- result
1945
- end
1946
- .,.,
1947
-
1948
- module_eval <<'.,.,', 'src/ctype.y', 221
1949
- def _reduce_85( val, _values, result )
1950
- result = val[0,1]
1951
- result
1952
- end
1953
- .,.,
1954
-
1955
- module_eval <<'.,.,', 'src/ctype.y', 222
1956
- def _reduce_86( val, _values, result )
1957
- result = val[0] << val[2]
1958
- result
1959
- end
1960
- .,.,
1961
-
1962
- # reduce 87 omitted
1963
-
1964
- # reduce 88 omitted
1965
-
1966
- # reduce 89 omitted
1967
-
1968
- module_eval <<'.,.,', 'src/ctype.y', 234
1969
- def _reduce_90( val, _values, result )
1970
- result = '{ }'
1971
- result
1972
- end
1973
- .,.,
1974
-
1975
- module_eval <<'.,.,', 'src/ctype.y', 235
1976
- def _reduce_91( val, _values, result )
1977
- result = val[0,3].join(' ')
1978
- result
1979
- end
1980
- .,.,
1981
-
1982
- module_eval <<'.,.,', 'src/ctype.y', 236
1983
- def _reduce_92( val, _values, result )
1984
- result = val[0,4].join(' ')
1985
- result
1986
- end
1987
- .,.,
1988
-
1989
- # reduce 93 omitted
1990
-
1991
- module_eval <<'.,.,', 'src/ctype.y', 241
1992
- def _reduce_94( val, _values, result )
1993
- result = val[0,3].join(' ')
1994
- result
1995
- end
1996
- .,.,
1997
-
1998
- # reduce 95 omitted
1999
-
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
- .,.,
2006
-
2007
- # reduce 97 omitted
2008
-
2009
- # reduce 98 omitted
2010
-
2011
- # reduce 99 omitted
2012
-
2013
- # reduce 100 omitted
2014
-
2015
- # reduce 101 omitted
2016
-
2017
- # reduce 102 omitted
2018
-
2019
- # reduce 103 omitted
2020
-
2021
- # reduce 104 omitted
2022
-
2023
- # reduce 105 omitted
2024
-
2025
- # reduce 106 omitted
2026
-
2027
- # reduce 107 omitted
2028
-
2029
- module_eval <<'.,.,', 'src/ctype.y', 268
2030
- def _reduce_108( val, _values, result )
2031
- result = val[0,1]
2032
- result
2033
- end
2034
- .,.,
2035
-
2036
- module_eval <<'.,.,', 'src/ctype.y', 270
2037
- def _reduce_109( val, _values, result )
2038
- result = val[0]; result.unshift(val[1])
2039
- result
2040
- end
2041
- .,.,
2042
-
2043
- module_eval <<'.,.,', 'src/ctype.y', 272
2044
- def _reduce_110( val, _values, result )
2045
- result = val[0]; result.last.add_qualifier(val[1])
2046
- result
2047
- end
2048
- .,.,
2049
-
2050
- # reduce 111 omitted
2051
-
2052
- module_eval <<'.,.,', 'src/ctype.y', 280
2053
- def _reduce_112( val, _values, result )
2054
- result = val[1]; result.unshift(val[0])
2055
- result
2056
- end
2057
- .,.,
2058
-
2059
- module_eval <<'.,.,', 'src/ctype.y', 282
2060
- def _reduce_113( val, _values, result )
2061
- result = val[1]; result.last.add_qualifier(val[0])
2062
- result
2063
- end
2064
- .,.,
2065
-
2066
- module_eval <<'.,.,', 'src/ctype.y', 287
2067
- def _reduce_114( val, _values, result )
2068
- result = val[0,1]
2069
- result
2070
- end
2071
- .,.,
2072
-
2073
- module_eval <<'.,.,', 'src/ctype.y', 288
2074
- def _reduce_115( val, _values, result )
2075
- result = val[1].unshift(val[0])
2076
- result
2077
- end
2078
- .,.,
2079
-
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])
2083
- result
2084
- end
2085
- .,.,
2086
-
2087
- module_eval <<'.,.,', 'src/ctype.y', 295
2088
- def _reduce_117( val, _values, result )
2089
- result = CType::Base.new(val[0])
2090
- result
2091
- end
2092
- .,.,
2093
-
2094
- module_eval <<'.,.,', 'src/ctype.y', 296
2095
- def _reduce_118( val, _values, result )
2096
- result = CType::Base.new(val[0])
2097
- result
2098
- end
2099
- .,.,
2100
-
2101
- module_eval <<'.,.,', 'src/ctype.y', 297
2102
- def _reduce_119( val, _values, result )
2103
- result = CType::Base.new(val[0])
2104
- result
2105
- end
2106
- .,.,
2107
-
2108
- # reduce 120 omitted
2109
-
2110
- # reduce 121 omitted
2111
-
2112
- module_eval <<'.,.,', 'src/ctype.y', 307
2113
- def _reduce_122( val, _values, result )
2114
- result = CType::StructUnion.get(val[0], val[1], val[3])
2115
- result
2116
- end
2117
- .,.,
2118
-
2119
- module_eval <<'.,.,', 'src/ctype.y', 309
2120
- def _reduce_123( val, _values, result )
2121
- result = CType::StructUnion.get(val[0], nil, val[2])
2122
- result
2123
- end
2124
- .,.,
2125
-
2126
- module_eval <<'.,.,', 'src/ctype.y', 311
2127
- def _reduce_124( val, _values, result )
2128
- result = CType::StructUnion.get(val[0], val[1])
2129
- result
2130
- end
2131
- .,.,
2132
-
2133
- module_eval <<'.,.,', 'src/ctype.y', 316
2134
- def _reduce_125( val, _values, result )
2135
- result = val[0,1]
2136
- result
2137
- end
2138
- .,.,
2139
-
2140
- module_eval <<'.,.,', 'src/ctype.y', 317
2141
- def _reduce_126( val, _values, result )
2142
- result = val[0] << val[1]
2143
- result
2144
- end
2145
- .,.,
2146
-
2147
- module_eval <<'.,.,', 'src/ctype.y', 327
2148
- def _reduce_127( val, _values, result )
2149
- result = val[1].each { |d| d.base_type = val[0] };
2150
- self.in_member = false
2151
- result
2152
- end
2153
- .,.,
2154
-
2155
- module_eval <<'.,.,', 'src/ctype.y', 335
2156
- def _reduce_128( val, _values, result )
2157
- result = val[0].primitive
2158
- raise ParseError, "expecting a union" unless result.class == CType::Union
2159
- result = result.get_members
2160
- self.in_member = false
2161
- result
2162
- end
2163
- .,.,
2164
-
2165
- module_eval <<'.,.,', 'src/ctype.y', 338
2166
- def _reduce_129( val, _values, result )
2167
- result = val[0]; self.in_member = true
2168
- result
2169
- end
2170
- .,.,
2171
-
2172
- # reduce 130 omitted
2173
-
2174
- module_eval <<'.,.,', 'src/ctype.y', 345
2175
- def _reduce_131( val, _values, result )
2176
- result = val[1]; result.add_qualifier(val[0])
2177
- result
2178
- end
2179
- .,.,
2180
-
2181
- module_eval <<'.,.,', 'src/ctype.y', 349
2182
- def _reduce_132( val, _values, result )
2183
- result = val[0,1]
2184
- result
2185
- end
2186
- .,.,
2187
-
2188
- module_eval <<'.,.,', 'src/ctype.y', 350
2189
- def _reduce_133( val, _values, result )
2190
- result = val[0] << val[2]
2191
- result
2192
- end
2193
- .,.,
2194
-
2195
- # reduce 134 omitted
2196
-
2197
- module_eval <<'.,.,', 'src/ctype.y', 356
2198
- def _reduce_135( val, _values, result )
2199
- result = CType::Type.new(); result.size = val[1]
2200
- result
2201
- end
2202
- .,.,
2203
-
2204
- module_eval <<'.,.,', 'src/ctype.y', 357
2205
- def _reduce_136( val, _values, result )
2206
- result = val[0]; result.size = val[2]
2207
- result
2208
- end
2209
- .,.,
2210
-
2211
- module_eval <<'.,.,', 'src/ctype.y', 361
2212
- def _reduce_137( val, _values, result )
2213
- result = val[0].first
2214
- result
2215
- end
2216
- .,.,
2217
-
2218
- module_eval <<'.,.,', 'src/ctype.y', 376
2219
- def _reduce_138( val, _values, result )
2220
- # the base type of the last element in the declarator sequence
2221
- # is not a pointer. that pointer points to a new type which is
2222
- # appended to the end of the declarator sequence
2223
- result = val[1]
2224
- result.last.base_type = val[0]
2225
- result << val[0].base_type = CType::Type.new()
2226
- result
2227
- end
2228
- .,.,
2229
-
2230
- # reduce 139 omitted
2231
-
2232
- module_eval <<'.,.,', 'src/ctype.y', 385
2233
- def _reduce_140( val, _values, result )
2234
- result = [CType::Type.new(val[0])]
2235
- self.in_member = false
2236
- result
2237
- end
2238
- .,.,
2239
-
2240
- module_eval <<'.,.,', 'src/ctype.y', 386
2241
- def _reduce_141( val, _values, result )
2242
- result = val[1]
2243
- result
2244
- end
2245
- .,.,
2246
-
2247
- module_eval <<'.,.,', 'src/ctype.y', 388
2248
- def _reduce_142( val, _values, result )
2249
- result = val[0]; result.last.dimensions << val[2]
2250
- result
2251
- end
2252
- .,.,
2253
-
2254
- module_eval <<'.,.,', 'src/ctype.y', 390
2255
- def _reduce_143( val, _values, result )
2256
- result = val[0]; result.last.dimensions << nil
2257
- result
2258
- end
2259
- .,.,
2260
-
2261
- module_eval <<'.,.,', 'src/ctype.y', 392
2262
- def _reduce_144( val, _values, result )
2263
- result = val[0]; result.last.parameters = val[2]
2264
- result
2265
- end
2266
- .,.,
2267
-
2268
- module_eval <<'.,.,', 'src/ctype.y', 394
2269
- def _reduce_145( val, _values, result )
2270
- result = val[0]; result.last.parameters = val[2]
2271
- result
2272
- end
2273
- .,.,
2274
-
2275
- module_eval <<'.,.,', 'src/ctype.y', 396
2276
- def _reduce_146( val, _values, result )
2277
- result = val[0]; result.last.parameters = nil
2278
- result
2279
- end
2280
- .,.,
2281
-
2282
- module_eval <<'.,.,', 'src/ctype.y', 401
2283
- def _reduce_147( val, _values, result )
2284
- result = CType::Enum[val[1]]; result.add(val[3])
2285
- result
2286
- end
2287
- .,.,
2288
-
2289
- module_eval <<'.,.,', 'src/ctype.y', 403
2290
- def _reduce_148( val, _values, result )
2291
- result = CType::Enum[]; result.add(val[2])
2292
- result
2293
- end
2294
- .,.,
2295
-
2296
- module_eval <<'.,.,', 'src/ctype.y', 405
2297
- def _reduce_149( val, _values, result )
2298
- result = CType::Enum[val[1]]
2299
- result
2300
- end
2301
- .,.,
2302
-
2303
- # reduce 150 omitted
2304
-
2305
- # reduce 151 omitted
2306
-
2307
- module_eval <<'.,.,', 'src/ctype.y', 415
2308
- def _reduce_152( val, _values, result )
2309
- result = val[0,1]
2310
- result
2311
- end
2312
- .,.,
2313
-
2314
- module_eval <<'.,.,', 'src/ctype.y', 416
2315
- def _reduce_153( val, _values, result )
2316
- result = val[0] << val[2]
2317
- result
2318
- end
2319
- .,.,
2320
-
2321
- module_eval <<'.,.,', 'src/ctype.y', 420
2322
- def _reduce_154( val, _values, result )
2323
- result = val[0,1]
2324
- result
2325
- end
2326
- .,.,
2327
-
2328
- module_eval <<'.,.,', 'src/ctype.y', 421
2329
- def _reduce_155( val, _values, result )
2330
- result = [val[0], val[2]]
2331
- result
2332
- end
2333
- .,.,
2334
-
2335
- module_eval <<'.,.,', 'src/ctype.y', 426
2336
- def _reduce_156( val, _values, result )
2337
- result = CType::Pointer.new(val[1])
2338
- result
2339
- end
2340
- .,.,
2341
-
2342
- module_eval <<'.,.,', 'src/ctype.y', 428
2343
- def _reduce_157( val, _values, result )
2344
- result = CType::Pointer.new()
2345
- result
2346
- end
2347
- .,.,
2348
-
2349
- module_eval <<'.,.,', 'src/ctype.y', 434
2350
- def _reduce_158( val, _values, result )
2351
- result = val[2]
2352
- result.base_type = CType::Pointer.new(val[1])
2353
- result
2354
- end
2355
- .,.,
2356
-
2357
- module_eval <<'.,.,', 'src/ctype.y', 439
2358
- def _reduce_159( val, _values, result )
2359
- result = val[1]
2360
- result.base_type = CType::Pointer.new()
2361
- result
2362
- end
2363
- .,.,
2364
-
2365
- module_eval <<'.,.,', 'src/ctype.y', 443
2366
- def _reduce_160( val, _values, result )
2367
- result = val[0,1]
2368
- result
2369
- end
2370
- .,.,
2371
-
2372
- module_eval <<'.,.,', 'src/ctype.y', 444
2373
- def _reduce_161( val, _values, result )
2374
- result = val[0] << val[1]
2375
- result
2376
- end
2377
- .,.,
2378
-
2379
- module_eval <<'.,.,', 'src/ctype.y', 449
2380
- def _reduce_162( val, _values, result )
2381
- result = val[0].finalize
2382
- result
2383
- end
2384
- .,.,
2385
-
2386
- module_eval <<'.,.,', 'src/ctype.y', 450
2387
- def _reduce_163( val, _values, result )
2388
- result = val[0].with_ellipses
2389
- result
2390
- end
2391
- .,.,
2392
-
2393
- module_eval <<'.,.,', 'src/ctype.y', 455
2394
- def _reduce_164( val, _values, result )
2395
- result = CType::List.new << val[0]
2396
- result
2397
- end
2398
- .,.,
2399
-
2400
- module_eval <<'.,.,', 'src/ctype.y', 456
2401
- def _reduce_165( val, _values, result )
2402
- result = val[0] << val[2]
2403
- result
2404
- end
2405
- .,.,
2406
-
2407
- module_eval <<'.,.,', 'src/ctype.y', 462
2408
- def _reduce_166( val, _values, result )
2409
- result = val[1]; result.add_declaration_specifiers(val[0])
2410
- result
2411
- end
2412
- .,.,
2413
-
2414
- module_eval <<'.,.,', 'src/ctype.y', 464
2415
- def _reduce_167( val, _values, result )
2416
- result = val[1]; result.add_declaration_specifiers(val[0])
2417
- result
2418
- end
2419
- .,.,
2420
-
2421
- module_eval <<'.,.,', 'src/ctype.y', 466
2422
- def _reduce_168( val, _values, result )
2423
- result = CType::Type.new(); result.add_declaration_specifiers(val[0])
2424
- result
2425
- end
2426
- .,.,
2427
-
2428
- module_eval <<'.,.,', 'src/ctype.y', 475
2429
- def _reduce_169( val, _values, result )
2430
- result = val[0].finalize
2431
- result
2432
- end
2433
- .,.,
2434
-
2435
- module_eval <<'.,.,', 'src/ctype.y', 480
2436
- def _reduce_170( val, _values, result )
2437
- result = CType::List.new << val[0]
2438
- result
2439
- end
2440
- .,.,
2441
-
2442
- module_eval <<'.,.,', 'src/ctype.y', 481
2443
- def _reduce_171( val, _values, result )
2444
- result = val[0] << val[2]
2445
- result
2446
- end
2447
- .,.,
2448
-
2449
- module_eval <<'.,.,', 'src/ctype.y', 486
2450
- def _reduce_172( val, _values, result )
2451
- result = CType::Type.new(); result.base_type = val[0]
2452
- result
2453
- end
2454
- .,.,
2455
-
2456
- module_eval <<'.,.,', 'src/ctype.y', 488
2457
- def _reduce_173( val, _values, result )
2458
- result = val[1]; result.base_type = val[0]
2459
- result
2460
- end
2461
- .,.,
2462
-
2463
- module_eval <<'.,.,', 'src/ctype.y', 493
2464
- def _reduce_174( val, _values, result )
2465
- result = val[0].first
2466
- result
2467
- end
2468
- .,.,
2469
-
2470
- module_eval <<'.,.,', 'src/ctype.y', 506
2471
- def _reduce_175( val, _values, result )
2472
- # create new type, example: int (*)(const char *, const char *)
2473
- result = [CType::Type.new(), CType::Type.new()]
2474
- result.first.base_type = val[0] # pointer to a
2475
- val[0].base_type = result.last # yet to be determined type
2476
- result
2477
- end
2478
- .,.,
2479
-
2480
- # reduce 176 omitted
2481
-
2482
- module_eval <<'.,.,', 'src/ctype.y', 514
2483
- def _reduce_177( val, _values, result )
2484
- # see direct_declarator for more info
2485
- result = val[1]
2486
- result.last.base_type = val[0]
2487
- result << val[0].base_type = CType::Type.new()
2488
- result
2489
- end
2490
- .,.,
2491
-
2492
- module_eval <<'.,.,', 'src/ctype.y', 518
2493
- def _reduce_178( val, _values, result )
2494
- result = val[1]
2495
- result
2496
- end
2497
- .,.,
2498
-
2499
- module_eval <<'.,.,', 'src/ctype.y', 525
2500
- def _reduce_179( val, _values, result )
2501
- # create new type
2502
- result = [CType::Type.new()]
2503
- result.last.dimensions << nil
2504
- result
2505
- end
2506
- .,.,
2507
-
2508
- module_eval <<'.,.,', 'src/ctype.y', 531
2509
- def _reduce_180( val, _values, result )
2510
- # create new type
2511
- result = [CType::Type.new()]
2512
- result.last.dimensions << val[1]
2513
- result
2514
- end
2515
- .,.,
2516
-
2517
- module_eval <<'.,.,', 'src/ctype.y', 532
2518
- def _reduce_181( val, _values, result )
2519
- result = val[0]; result.last.dimensions << nil
2520
- result
2521
- end
2522
- .,.,
2523
-
2524
- module_eval <<'.,.,', 'src/ctype.y', 534
2525
- def _reduce_182( val, _values, result )
2526
- result = val[0]; result.last.dimensions << val[2]
2527
- result
2528
- end
2529
- .,.,
2530
-
2531
- module_eval <<'.,.,', 'src/ctype.y', 541
2532
- def _reduce_183( val, _values, result )
2533
- # create new type
2534
- result = [CType::Type.new()]
2535
- result.last.parameters = nil
2536
- result
2537
- end
2538
- .,.,
2539
-
2540
- module_eval <<'.,.,', 'src/ctype.y', 547
2541
- def _reduce_184( val, _values, result )
2542
- # create new type
2543
- result = [CType::Type.new()]
2544
- result.last.parameters = val[1]
2545
- result
2546
- end
2547
- .,.,
2548
-
2549
- module_eval <<'.,.,', 'src/ctype.y', 548
2550
- def _reduce_185( val, _values, result )
2551
- result = val[0]; result.last.parameters = nil
2552
- result
2553
- end
2554
- .,.,
2555
-
2556
- module_eval <<'.,.,', 'src/ctype.y', 550
2557
- def _reduce_186( val, _values, result )
2558
- result = val[0]; result.last.parameters = val[2]
2559
- result
2560
- end
2561
- .,.,
2562
-
2563
- def _reduce_none( val, _values, result )
2564
- result
2565
- end
2566
-
2567
- end # class Parser
2568
-
2569
- end # module CType