source: asp3_tinet_ecnl_rx/trunk/asp3_dcre/tecsgen/tecslib/core/C_parser.tab.rb@ 374

Last change on this file since 374 was 374, checked in by coas-nagasima, 5 years ago

mbed関連を更新
シリアルドライバをmbedのHALを使うよう変更
ファイルディスクリプタの処理を更新

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-ruby;charset=UTF-8
File size: 72.9 KB
RevLine 
[337]1#
2# DO NOT MODIFY!!!!
[374]3# This file is automatically generated by Racc 1.4.9
[337]4# from Racc grammer file "".
5#
6
7require 'racc/parser.rb'
8class C_parser < Racc::Parser
9
[374]10module_eval(<<'...end C_parser.y.rb/module_eval...', 'C_parser.y.rb', 784)
[337]11
[374]12 RESERVED = {
13 # keyword
14 'typedef' => :TYPEDEF,
15 'struct' => :STRUCT,
16 'union' => :UNION,
17 'sizeof' => :SIZEOF,
18 'throw' => :THROW,
[337]19
[374]20 # specifier
21 # types
22 'void' => :VOID,
23 'char' => :CHAR,
24 'short' => :SHORT,
[337]25
[374]26 'volatile'=> :VOLATILE,
27 'restrict'=> :RESTRICT,
28 'const' => :CONST,
29 'extern' => :EXTERN,
[337]30
[374]31 'long' => :LONG,
32 'float' => :FLOAT,
33 'double' => :DOUBLE,
34 'signed' => :SIGNED,
35 'unsigned'=> :UNSIGNED,
[337]36
[374]37 'int' => :INT,
38 'enum' => :ENUM,
[337]39
[374]40 'if' => :IF,
41 'else' => :ELSE,
42 'while' => :WHILE,
43 'do' => :DO,
44 'for' => :FOR,
45 'switch' => :SWITCH,
46 'case' => :CASE,
47 'default' => :DEFAULT,
48 'goto' => :GOTO,
49 'continue' => :CONTINUE,
50 'break' => :BREAK,
51 'return' => :RETURN,
52 '__inline__' => :__INLINE__,
53 'inline' => :INLINE,
54 '__inline' => :__INLINE,
55 'Inline' => :CINLINE, # inline starting with Capital letter
56 'static' => :STATIC,
57 'register' => :REGISTER,
58 'auto' => :AUTO,
59 '__extension__' => :EXTENSION,
60 '__asm__' => :_ASM,
61 'asm' => :_ASM
[337]62
[374]63 }
[337]64
[374]65 @@generator_nest = -1
66 @@generator_stack = []
67 @@current_locale = []
[337]68
[374]69 def finalize
[337]70
[374]71 # mikan Namespace.pop
72 Celltype.pop
73 Cell.pop
74 CompositeCelltype.pop
75 Region.pop
[337]76
[374]77 end
[337]78
[374]79 def set_plugin( plugin )
80 @plugin = plugin
81 end
[337]82
[374]83 def self.get_plugin
84 @@generator_stack[@@generator_nest].get_plugin
85 end
[337]86
[374]87 def get_plugin
88 @plugin
89 end
[337]90
[374]91 def parse(files)
[337]92
[374]93 # mikan Namespace.push
94 Celltype.push
95 Cell.push
96 CompositeCelltype.push
97 Region.push
[337]98
[374]99 @@generator_nest += 1
100 @@generator_stack[@@generator_nest] = self
101 @b_no_type_name = false
[337]102
[374]103 begin
[337]104
[374]105 @q = []
106 comment = false
107# b_asm = false
[337]108
[374]109 # euc のコメントを utf8 として扱うと、コメントの終わりを誤る問題の対策
110 TECS_LANG::set_kcode_binary
[337]111
[374]112 # 800U, 0xffLL など (整数リテラルに共通の修飾子)
113 integer_qualifier = "([Uu][Ll][Ll]|[Uu][Ll]|[Uu]|[Ll][Ll]|[Ll])?"
[337]114
[374]115 files.each {|file|
116 lineno = 1
117 begin
118#2.0 IO.foreach(file) {|line|
119 TECSIO.foreach(file) {|line|
120 col = 1
121 line.rstrip!
[337]122
[374]123 until line.empty?
[337]124
[374]125 if comment
126 case line
127 # コメント終了
128 when /\A\*\//
129 comment = false
130 when /\A./
131 ;
132 end
133 else
134 case line
135 # 空白、プリプロセスディレクティブ
136 when /\A\s+/
137 ;
138 # 識別子
139 when /\A[a-zA-Z_]\w*/
140 word = $&
141 @q << [RESERVED[word] || :IDENTIFIER, Token.new(word.intern, file, lineno, col)]
142 # 16 進数定数
143 when /\A0x[0-9A-Fa-f]+#{integer_qualifier}/
144 @q << [:HEX_CONSTANT, Token.new($&, file, lineno, col)]
145 # 8 進数定数
146 when /\A0[0-7]+#{integer_qualifier}/
147 @q << [:OCTAL_CONSTANT, Token.new($&, file, lineno, col)]
148 # 浮動小数定数
149 when /\A[0-9]+\.([0-9]*)?([Ee][+-]?[0-9]+)?/
150 @q << [:FLOATING_CONSTANT, Token.new($&, file, lineno, col)]
151 # 整数定数
152 when /\A\d+#{integer_qualifier}/
153 # when /\A\d+/
154 @q << [:INTEGER_CONSTANT, Token.new($&.to_i, file, lineno, col)]
155 # 文字
156 when /\A'(?:[^'\\]|\\.)'/
157 @q << [:CHARACTER_LITERAL, Token.new($&, file, lineno, col)]
158 # 文字列
159# "#include #include #include \"../systask/logtask.cfg\" 最後の " 忘れ)で無限ループ
160# when /\A"(?:[^"\\]+|\\.)*"/
161 when /\A"(?:[^"\\]|\\.)*"/ # これはうまく行くようだ
162 @q << [:STRING_LITERAL, Token.new($&, file, lineno, col)]
163 # 行コメント
164 when /\A\/\/.*$/
165 # 読み飛ばすだけ
166 # コメント開始
167 when /\A\/\*/
168 comment = true
169 when /\A>>=/, /\A<<=/, /\A>>/, /\A<</
170 @q << [$&, Token.new($&, file, lineno, col)]
171 when /\A\+=/, /\A\-=/, /\A\*=/, /\A\/=/, /\A%=/, /\A&=/, /\A\|=/, /\A\^=/
172 @q << [$&, Token.new($&, file, lineno, col)]
173 when /\A::/, /\A==/, /\A!=/, /\A>=/, /\A<=/, /\A\->/, /\A\+\+/, /\A\-\-/
174 @q << [$&, Token.new($&, file, lineno, col)]
175 when /\A\|\|/, /\A\&\&/
176 @q << [$&, Token.new($&, file, lineno, col)]
177 when /\A./
178 @q << [$&, Token.new($&, file, lineno, col)]
179 else
180 raise
181 end
182 end
[337]183
[374]184 line = $'
185 col += $&.length
186 end
[337]187
[374]188 lineno += 1
189 }
[337]190
[374]191 rescue => evar
192 Generator.error( "B1002 while open or reading \'$1\'" , file )
193 print_exception( evar )
194 end
195 }
[337]196
[374]197 # 終了の印
198 @q << nil
[337]199
[374]200 @yydebug = true
201 do_parse
[337]202
[374]203 ensure
204 @@generator_nest -= 1
205 TECS_LANG::reset_kcode
206 end
[337]207
[374]208 end
[337]209
210
[374]211 def next_token
212 token = @q.shift
[337]213
[374]214 if token then
215 @@current_locale[@@generator_nest] = token[1].locale
[337]216
[374]217 case token[1].val
218 when ";", ":", ",", "(", ")", "{", "}"
219 set_no_type_name false
220 when ".", "->"
221 set_no_type_name true
222 end
[337]223
[374]224 # TYPE_NAME トークンへ置き換え
225 if @b_no_type_name == false
226 if token[0] == :IDENTIFIER && Namespace.is_typename?( token[1].val ) then
227 token[0] = :TYPE_NAME
228 locale = @@current_locale[@@generator_nest]
[337]229#print( "#{locale[0]}: line #{locale[1]} : #{token[0]} '#{token[1].val}: type_name'\n" )
[374]230 end
231 end
[337]232
[374]233 if $debug then # 070107 token 無効時ここを通さないようした (through 対応 -d の時に例外発生)
234 locale = @@current_locale[@@generator_nest]
235 if token then
236 print( "#{locale[0]}: line #{locale[1]} : #{token[0]} '#{token[1].val}'\n" )
237 else
238 print( "#{locale[0]}: line #{locale[1]} : EOF\n" )
239 end
240 end
241 end
[337]242
[374]243 token
244 end
[337]245
[374]246 def on_error(t, v, vstack)
247 if v == "$" then
248 Generator.error( "B1003 Unexpected EOF" )
249 else
250 Generator.error( "B1004 syntax error near \'$1\'" , v.val )
251 end
[337]252
[374]253 end
[337]254
[374]255 def self.current_locale
256 @@current_locale[ @@generator_nest ]
257 end
[337]258
[374]259 @@n_error = 0
260 @@n_warning = 0
261 @@n_info = 0
[337]262
[374]263 # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でエラー発生は不適切)
264 def self.error( msg )
265 @@n_error += 1
266 locale = @@current_locale[ @@generator_nest ]
[337]267
[374]268 if locale then
269 Console.puts "#{locale[0]}:#{locale[1]}: error: #{msg}"
270 else
271 Console.puts "error: #{msg}"
272 end
273 end
[337]274
[374]275 # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でウォーニング発生は不適切)
276 def self.warning( msg )
277 @@n_warning += 1
278 locale = @@current_locale[ @@generator_nest ]
279 Console.puts "warning: #{locale[0]}: line #{locale[1]} #{msg}"
280 end
[337]281
[374]282 # このメソッドは構文解析、意味解析からのみ呼出し可
283 def self.info( msg )
284 @@n_info += 1
285 locale = @@current_locale[ @@generator_nest ]
286 Console.puts "info: #{locale[0]}: line #{locale[1]} #{msg}"
287 end
[337]288
[374]289 def self.get_n_error
290 @@n_error
291 end
[337]292
[374]293 def self.get_n_warning
294 @@n_warning
295 end
[337]296
[374]297 def self.get_nest
298 @@generator_nest
299 end
[337]300
[374]301 def set_no_type_name b_no_type_name
302 locale = @@current_locale[ @@generator_nest ]
[337]303#print "b_no_type_name=#{b_no_type_name} #{locale[0]}: line #{locale[1]}\n"
[374]304 @b_no_type_name = b_no_type_name
305 end
[337]306
307...end C_parser.y.rb/module_eval...
308##### State transition tables begin ###
309
310clist = [
[374]311'111,112,113,114,115,117,294,118,56,298,55,163,54,123,124,82,54,262,122',
312'125,126,127,128,129,130,111,112,113,114,115,117,217,118,271,391,101',
313'163,91,123,124,82,271,271,122,125,126,127,128,129,130,56,70,171,72,82',
314'69,397,71,80,32,33,34,224,309,271,223,216,226,84,227,228,229,84,392',
315'101,325,272,171,298,312,80,164,165,172,393,173,174,175,176,177,178,179',
316'180,149,181,101,218,79,308,369,388,32,33,34,265,266,164,165,172,73,173',
317'174,175,176,177,178,179,180,149,181,111,112,113,114,115,117,384,118',
318'32,33,34,163,78,123,124,82,440,402,122,125,126,127,128,129,130,55,219',
319'271,271,383,101,54,332,248,325,387,55,298,249,250,56,382,54,111,112',
320'113,114,115,117,56,118,56,171,331,163,395,123,124,82,276,210,122,125',
321'126,127,128,129,130,420,55,378,210,248,377,396,54,330,249,250,393,92',
322'164,165,172,56,173,174,175,176,177,178,179,180,149,181,171,9,10,11,12',
323'13,14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,355,356',
324'213,164,165,172,204,173,174,175,176,177,178,179,180,149,181,111,112',
325'113,114,115,117,404,118,93,378,203,163,377,123,124,82,193,271,122,125',
326'126,127,128,129,130,111,112,113,114,115,117,290,118,101,86,55,163,85',
327'123,124,82,54,291,122,125,126,127,128,129,130,56,357,171,13,14,15,16',
328'17,18,19,20,21,22,26,28,30,31,32,33,34,248,86,322,438,85,249,250,171',
329'434,435,370,164,165,172,271,173,174,175,176,177,178,179,180,149,181',
330'259,260,261,321,255,256,257,258,315,316,262,164,165,172,271,173,174',
331'175,176,177,178,179,180,149,181,111,112,113,114,115,117,403,118,317',
332'318,263,163,264,123,124,82,320,271,122,125,126,127,128,129,130,13,14',
333'15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,437,111,112,113,114,115',
334'117,360,118,400,171,271,163,368,123,124,82,166,103,122,125,126,127,128',
335'129,130,102,55,255,256,257,258,310,54,255,256,257,258,405,164,165,172',
336'56,173,174,175,176,177,178,179,180,149,181,171,9,10,11,12,13,14,15,16',
337'17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,259,260,301,164,165',
338'172,300,173,174,175,176,177,178,179,180,149,181,111,112,113,114,115',
339'117,408,118,253,254,292,163,409,123,124,82,253,254,122,125,126,127,128',
340'129,130,111,112,113,114,115,117,410,118,253,254,55,163,289,123,124,82',
341'54,288,122,125,126,127,128,129,130,56,415,171,13,14,15,16,17,18,19,20',
342'21,22,26,28,30,31,32,33,34,253,254,253,254,251,252,261,171,211,212,285',
343'164,165,172,284,173,174,175,176,177,178,179,180,149,181,237,238,239',
344'240,241,242,243,244,245,246,247,164,165,172,283,173,174,175,176,177',
345'178,179,180,149,181,111,112,113,114,115,117,282,118,251,252,389,163',
346'389,123,124,82,251,252,122,125,126,127,128,129,130,111,112,113,114,115',
347'117,101,118,67,82,55,163,64,123,124,82,54,63,122,125,126,127,128,129',
348'130,56,55,171,55,55,294,280,54,298,54,54,54,279,430,431,432,56,433,56',
349'56,56,365,436,278,263,275,264,171,273,270,48,164,165,172,444,173,174',
350'175,176,177,178,179,180,149,181,269,3,,,,,,,,,,164,165,172,,173,174',
351'175,176,177,178,179,180,149,181,111,112,113,114,115,117,,118,,,,163',
352',123,124,82,,,122,125,126,127,128,129,130,111,112,113,114,115,117,,118',
353',,,148,,123,124,,,,122,125,126,127,128,129,130,,,171,111,112,113,114',
354'115,117,,118,,,,148,,123,124,,,,122,125,126,127,128,129,130,,,,164,165',
355'172,,173,174,175,176,177,178,179,180,149,181,,,,,,,111,112,113,114,115',
356'117,,118,,411,,148,,123,124,,,149,122,125,126,127,128,129,130,,,,111',
357'112,113,114,115,117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129',
358'130,111,112,113,114,115,117,,118,,,,148,,123,124,,,,122,125,126,127',
359'128,129,130,,,171,,,,,,,,,,,,,149,,111,112,113,114,115,117,,118,,,171',
360'148,,123,124,,,,122,125,126,127,128,129,130,,149,,,,,,,,111,112,113',
361'114,115,117,,118,,,,148,,123,124,146,398,149,122,125,126,127,128,129',
362'130,111,112,113,114,115,117,,118,,,,148,,123,124,,,,122,125,126,127',
363'128,129,130,111,112,113,114,115,117,,118,,149,,148,,123,124,389,,,122',
364'125,126,127,128,129,130,,,,147,,,111,112,113,114,115,117,,118,,,,148',
365'149,123,124,,,,122,125,126,127,128,129,130,111,112,113,114,115,117,',
366'118,,379,,148,149,123,124,,,,122,125,126,127,128,129,130,,,,,,,,,,,',
367',149,,,,,111,112,113,114,115,117,,118,,,,148,,123,124,,,,122,125,126',
368'127,128,129,130,,149,,,,,,,,,,,,,,,,,,,,,,,,,149,171,9,10,11,12,13,14',
369'15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,111,112,113',
370'114,115,117,,118,,,,148,,123,124,149,,,122,125,126,127,128,129,130,111',
371'112,113,114,115,117,,118,,,,148,,123,124,146,,,122,125,126,127,128,129',
372'130,111,112,113,114,115,117,,118,,,,148,,123,124,,,,122,125,126,127',
373'128,129,130,,111,112,113,114,115,117,,118,,,,148,,123,124,,,149,122',
374'125,126,127,128,129,130,,,147,,,111,112,113,114,115,117,,118,,,,148',
375'149,123,124,,,,122,125,126,127,128,129,130,111,112,113,114,115,117,',
376'118,,,,148,149,123,124,,,,122,125,126,127,128,129,130,,111,112,113,114',
377'115,117,,118,,,,148,149,123,124,,,,122,125,126,127,128,129,130,111,112',
378'113,114,115,117,,118,,,,148,,123,124,146,,149,122,125,126,127,128,129',
379'130,111,112,113,114,115,117,427,118,,,,148,,123,124,,,149,122,125,126',
380'127,128,129,130,,111,112,113,114,115,117,,118,,,,148,,123,124,,,149',
381'122,125,126,127,128,129,130,,,147,,,111,112,113,114,115,117,,118,,185',
382',148,149,123,124,,,,122,125,126,127,128,129,130,111,112,113,114,115',
383'117,,118,,,,148,149,123,124,,,,122,125,126,127,128,129,130,,111,112',
384'113,114,115,117,,118,,,,148,149,123,124,,,,122,125,126,127,128,129,130',
385'111,112,113,114,115,117,,118,,,,148,,123,124,,,149,122,125,126,127,128',
386'129,130,111,112,113,114,115,117,,118,,,,148,,123,124,,,149,122,125,126',
387'127,128,129,130,,111,112,113,114,115,117,,118,,,,148,,123,124,,,149',
388'122,125,126,127,128,129,130,111,112,113,114,115,117,,118,,,,148,,123',
389'124,,,149,122,125,126,127,128,129,130,111,112,113,114,115,117,,118,',
390',,148,,123,124,,,149,122,125,126,127,128,129,130,,111,112,113,114,115',
391'117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129,130,111,112,113',
392'114,115,117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129,130,111',
393'112,113,114,115,117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129',
394'130,,111,112,113,114,115,117,,118,,,,148,,123,124,,,149,122,125,126',
395'127,128,129,130,111,112,113,114,115,117,,118,,,,148,,123,124,,,149,122',
396'125,126,127,128,129,130,111,112,113,114,115,117,,118,,,,148,,123,124',
397',,149,122,125,126,127,128,129,130,,111,112,113,114,115,117,,118,,,,148',
398',123,124,,,149,122,125,126,127,128,129,130,111,112,113,114,115,117,',
399'118,,,,148,,123,124,,,149,122,125,126,127,128,129,130,111,112,113,114',
400'115,117,,118,,,,148,,123,124,146,,149,122,125,126,127,128,129,130,,111',
401'112,113,114,115,117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129',
402'130,,,,,,,,,,,,,,,,,,149,,,,,,,,,,147,,,111,112,113,114,115,117,,118',
403',,,148,149,123,124,,,,122,125,126,127,128,129,130,,111,112,113,114,115',
404'117,,118,,,,148,149,123,124,,,,122,125,126,127,128,129,130,,,,,,,13',
405'14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,,,111,112,113,114,115',
406'117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129,130,,111,112',
407'113,114,115,231,,118,,,,148,,123,124,,,149,122,125,126,127,128,129,130',
408'111,112,113,114,115,233,,118,,,,148,,123,124,,,,122,125,126,127,128',
409'129,130,111,112,113,114,115,233,,118,,,,148,,123,124,,,149,122,125,126',
410'127,128,129,130,,,,,,,,,,,,,111,112,113,114,115,117,149,118,,,,148,',
411'123,124,,,,122,125,126,127,128,129,130,111,112,113,114,115,117,149,118',
412',,,148,,123,124,,,,122,125,126,127,128,129,130,,,,,,,149,13,14,15,16',
413'17,18,19,20,21,22,26,28,30,31,32,33,34,,,111,112,113,114,115,117,,118',
414',,,148,,123,124,,,149,122,125,126,127,128,129,130,111,112,113,114,115',
415'117,327,118,,,,148,,123,124,,,149,122,125,126,127,128,129,130,,,,,,',
416',13,14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,,,111,112,113,114',
417'115,117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129,130,111,112',
418'113,114,115,117,,118,,,,148,,123,124,,,149,122,125,126,127,128,129,130',
419'111,112,113,114,115,117,,118,,,,148,,123,124,,,,122,125,126,127,128',
420'129,130,,111,112,113,114,115,117,429,118,,,,148,,123,124,,,149,122,125',
421'126,127,128,129,130,,287,,,,111,112,113,114,115,117,,118,,,,148,149',
422'123,124,146,442,,122,125,126,127,128,129,130,111,112,113,114,115,117',
423',118,,,,148,149,123,124,,,,122,125,126,127,128,129,130,,111,112,113',
424'114,115,117,,118,,,,148,149,123,124,,,,122,125,126,127,128,129,130,',
425',147,,,,,,,,,,,,,,46,149,,,,,,,,,,,,,,,,,,,,,,,,,149,,,46,,,,,,,,,,',
426',,,,,,,,,,,,149,45,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,28,30',
427'31,32,33,34,35,36,37,38,,,47,45,9,10,11,12,13,14,15,16,17,18,19,20,21',
428'22,26,28,30,31,32,33,34,35,36,37,38,,41,47,294,375,,298,,,54,,,,,,,',
429',56,,,,,,,,,,325,375,,298,,,,,,,,,,,,56,,,,,,,,9,10,11,12,13,14,15,16',
430'17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,9,10,11,12,13,14',
431'15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,188,,,,,192',
432',,,,,,,,,,,,,,,,,,,413,,,,,,,,,,,,,,,,,,,,,,9,10,11,12,13,14,15,16,17',
433'18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,9,10,11,12,13,14,15',
434'16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,371,9,10,11,12',
435'13,14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,,,,,',
436'205,,,,,,,,,,,,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,28,30,31',
437'32,33,34,35,36,37,38,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,28',
438'30,31,32,33,34,35,36,37,38,307,,,,,,,,,,,,,,,,,,,,,,,,,381,,,,,,,,,',
439',,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36',
440'37,38,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34',
441'35,36,37,38,302,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,28,30,31',
442'32,33,34,35,36,37,38,,,,,,,,,,,,9,10,11,12,13,14,15,16,17,18,19,20,21',
443'22,26,28,30,31,32,33,34,35,36,37,38,9,10,11,12,13,14,15,16,17,18,19',
444'20,21,22,26,28,30,31,32,33,34,35,36,37,38,9,10,11,12,13,14,15,16,17',
445'18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,9,10,11,12,13,14,15',
446'16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,9,10,11,12,13',
447'14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,9,10,11',
448'12,13,14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37,38,9',
449'10,11,12,13,14,15,16,17,18,19,20,21,22,26,28,30,31,32,33,34,35,36,37',
450'38' ]
451 racc_action_table = arr = ::Array.new(3198, nil)
[337]452 idx = 0
453 clist.each do |str|
454 str.split(',', -1).each do |i|
455 arr[idx] = i.to_i unless i.empty?
456 idx += 1
457 end
458 end
459
460clist = [
[374]461'440,440,440,440,440,440,293,440,56,293,52,440,293,440,440,440,52,139',
462'440,440,440,440,440,440,440,438,438,438,438,438,438,106,438,354,326',
463'103,438,65,438,438,438,151,326,438,438,438,438,438,438,438,88,29,440',
464'31,51,29,354,31,109,56,56,56,120,207,286,120,106,120,293,120,120,120',
465'52,328,212,324,151,438,324,212,51,440,440,440,328,440,440,440,440,440',
466'440,440,440,440,440,318,110,49,207,286,318,88,88,88,142,142,438,438',
467'438,31,438,438,438,438,438,438,438,438,438,438,436,436,436,436,436,436',
468'304,436,120,120,120,436,49,436,436,436,428,362,436,436,436,436,436,436',
469'436,98,116,428,362,304,316,98,227,340,222,316,309,222,340,340,98,304',
470'309,167,167,167,167,167,167,222,167,309,436,226,167,333,167,167,167',
471'167,98,167,167,167,167,167,167,167,394,4,297,309,339,297,334,4,225,339',
472'339,394,66,436,436,436,4,436,436,436,436,436,436,436,436,436,436,167',
473'167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167',
474'167,167,167,167,167,167,167,167,267,267,101,167,167,167,95,167,167,167',
475'167,167,167,167,167,167,167,429,429,429,429,429,429,364,429,68,373,94',
476'429,373,429,429,429,87,364,429,429,429,429,429,429,429,427,427,427,427',
477'427,427,187,427,71,83,217,427,83,427,427,427,217,187,427,427,427,427',
478'427,427,427,217,269,429,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75',
479'75,75,133,53,221,426,53,133,133,427,418,418,291,429,429,429,426,429',
480'429,429,429,429,429,429,429,429,429,137,137,350,220,136,136,136,136',
481'214,214,351,427,427,427,220,427,427,427,427,427,427,427,427,427,427',
482'175,175,175,175,175,175,363,175,215,215,352,175,353,175,175,175,218',
483'363,175,175,175,175,175,175,175,76,76,76,76,76,76,76,76,76,76,76,76',
484'76,76,76,76,76,425,82,82,82,82,82,82,274,82,357,175,425,82,283,82,82',
485'82,82,73,82,82,82,82,82,82,82,72,201,347,347,347,347,209,201,348,348',
486'348,348,365,175,175,175,201,175,175,175,175,175,175,175,175,175,175',
487'82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82',
488'82,82,82,349,349,198,82,82,82,197,82,82,82,82,82,82,82,82,82,82,273',
489'273,273,273,273,273,371,273,135,135,189,273,374,273,273,273,346,346',
490'273,273,273,273,273,273,273,404,404,404,404,404,404,376,404,345,345',
491'79,404,186,404,404,404,79,184,404,404,404,404,404,404,404,79,380,273',
492'47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,344,344,343,343,342',
493'342,138,404,99,99,179,273,273,273,178,273,273,273,273,273,273,273,273',
494'273,273,131,131,131,131,131,131,131,131,131,131,131,404,404,404,177',
495'404,404,404,404,404,404,404,404,404,404,402,402,402,402,402,402,176',
496'402,341,341,395,402,396,402,402,402,134,134,402,402,402,402,402,402',
497'402,275,275,275,275,275,275,102,275,27,403,77,275,25,275,275,275,77',
498'23,275,275,275,275,275,275,275,77,55,402,152,384,191,174,55,191,152',
499'384,191,173,408,412,414,55,416,152,384,191,281,422,172,140,165,141,275',
500'163,149,3,402,402,402,437,402,402,402,402,402,402,402,402,402,402,147',
501'1,,,,,,,,,,275,275,275,,275,275,275,275,275,275,275,275,275,275,360',
502'360,360,360,360,360,,360,,,,360,,360,360,360,,,360,360,360,360,360,360',
503'360,249,249,249,249,249,249,,249,,,,249,,249,249,,,,249,249,249,249',
504'249,249,249,,,360,383,383,383,383,383,383,,383,,,,383,,383,383,,,,383',
505'383,383,383,383,383,383,,,,360,360,360,,360,360,360,360,360,360,360',
506'360,360,360,,,,,,,377,377,377,377,377,377,,377,,377,,377,,377,377,,',
507'249,377,377,377,377,377,377,377,,,,367,367,367,367,367,367,,367,,,,367',
508',367,367,,,383,367,367,367,367,367,367,367,366,366,366,366,366,366,',
509'366,,,,366,,366,366,,,,366,366,366,366,366,366,366,,,367,,,,,,,,,,,',
510',377,,393,393,393,393,393,393,,393,,,366,393,,393,393,,,,393,393,393',
511'393,393,393,393,,367,,,,,,,,356,356,356,356,356,356,,356,,,,356,,356',
512'356,356,356,366,356,356,356,356,356,356,356,330,330,330,330,330,330',
513',330,,,,330,,330,330,,,,330,330,330,330,330,330,330,322,322,322,322',
514'322,322,,322,,393,,322,,322,322,322,,,322,322,322,322,322,322,322,,',
515',356,,,310,310,310,310,310,310,,310,,,,310,356,310,310,,,,310,310,310',
516'310,310,310,310,298,298,298,298,298,298,,298,,298,,298,330,298,298,',
517',,298,298,298,298,298,298,298,,,,,,,,,,,,,322,,,,,282,282,282,282,282',
518'282,,282,,,,282,,282,282,,,,282,282,282,282,282,282,282,,310,,,,,,,',
519',,,,,,,,,,,,,,,,,298,282,282,282,282,282,282,282,282,282,282,282,282',
520'282,282,282,282,282,282,282,282,282,282,282,282,282,282,280,280,280',
521'280,280,280,,280,,,,280,,280,280,282,,,280,280,280,280,280,280,280,146',
522'146,146,146,146,146,,146,,,,146,,146,146,146,,,146,146,146,146,146,146',
523'146,278,278,278,278,278,278,,278,,,,278,,278,278,,,,278,278,278,278',
524'278,278,278,,397,397,397,397,397,397,,397,,,,397,,397,397,,,280,397',
525'397,397,397,397,397,397,,,146,,,405,405,405,405,405,405,,405,,,,405',
526'146,405,405,,,,405,405,405,405,405,405,405,271,271,271,271,271,271,',
527'271,,,,271,278,271,271,,,,271,271,271,271,271,271,271,,266,266,266,266',
528'266,266,,266,,,,266,397,266,266,,,,266,266,266,266,266,266,266,80,80',
529'80,80,80,80,,80,,,,80,,80,80,80,,405,80,80,80,80,80,80,80,406,406,406',
530'406,406,406,406,406,,,,406,,406,406,,,271,406,406,406,406,406,406,406',
531',265,265,265,265,265,265,,265,,,,265,,265,265,,,266,265,265,265,265',
532'265,265,265,,,80,,,85,85,85,85,85,85,,85,,85,,85,80,85,85,,,,85,85,85',
533'85,85,85,85,264,264,264,264,264,264,,264,,,,264,406,264,264,,,,264,264',
534'264,264,264,264,264,,263,263,263,263,263,263,,263,,,,263,265,263,263',
535',,,263,263,263,263,263,263,263,262,262,262,262,262,262,,262,,,,262,',
536'262,262,,,85,262,262,262,262,262,262,262,261,261,261,261,261,261,,261',
537',,,261,,261,261,,,264,261,261,261,261,261,261,261,,260,260,260,260,260',
538'260,,260,,,,260,,260,260,,,263,260,260,260,260,260,260,260,259,259,259',
539'259,259,259,,259,,,,259,,259,259,,,262,259,259,259,259,259,259,259,258',
540'258,258,258,258,258,,258,,,,258,,258,258,,,261,258,258,258,258,258,258',
541'258,,257,257,257,257,257,257,,257,,,,257,,257,257,,,260,257,257,257',
542'257,257,257,257,256,256,256,256,256,256,,256,,,,256,,256,256,,,259,256',
543'256,256,256,256,256,256,255,255,255,255,255,255,,255,,,,255,,255,255',
544',,258,255,255,255,255,255,255,255,,254,254,254,254,254,254,,254,,,,254',
545',254,254,,,257,254,254,254,254,254,254,254,253,253,253,253,253,253,',
546'253,,,,253,,253,253,,,256,253,253,253,253,253,253,253,252,252,252,252',
547'252,252,,252,,,,252,,252,252,,,255,252,252,252,252,252,252,252,,251',
548'251,251,251,251,251,,251,,,,251,,251,251,,,254,251,251,251,251,251,251',
549'251,250,250,250,250,250,250,,250,,,,250,,250,250,,,253,250,250,250,250',
550'250,250,250,389,389,389,389,389,389,,389,,,,389,,389,389,389,,252,389',
551'389,389,389,389,389,389,,248,248,248,248,248,248,,248,,,,248,,248,248',
552',,251,248,248,248,248,248,248,248,,,,,,,,,,,,,,,,,,250,,,,,,,,,,389',
553',,117,117,117,117,117,117,,117,,,,117,389,117,117,,,,117,117,117,117',
554'117,117,117,,236,236,236,236,236,236,,236,,,,236,248,236,236,,,,236',
555'236,236,236,236,236,236,,,,,,,117,117,117,117,117,117,117,117,117,117',
556'117,117,117,117,117,117,117,,,121,121,121,121,121,121,,121,,,,121,,121',
557'121,,,117,121,121,121,121,121,121,121,,122,122,122,122,122,122,,122',
558',,,122,,122,122,,,236,122,122,122,122,122,122,122,123,123,123,123,123',
559'123,,123,,,,123,,123,123,,,,123,123,123,123,123,123,123,124,124,124',
560'124,124,124,,124,,,,124,,124,124,,,121,124,124,124,124,124,124,124,',
561',,,,,,,,,,,233,233,233,233,233,233,122,233,,,,233,,233,233,,,,233,233',
562'233,233,233,233,233,223,223,223,223,223,223,123,223,,,,223,,223,223',
563',,,223,223,223,223,223,223,223,,,,,,,124,233,233,233,233,233,233,233',
564'233,233,233,233,233,233,233,233,233,233,,,231,231,231,231,231,231,,231',
565',,,231,,231,231,,,233,231,231,231,231,231,231,231,224,224,224,224,224',
566'224,224,224,,,,224,,224,224,,,223,224,224,224,224,224,224,224,,,,,,',
567',231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231',
568',,213,213,213,213,213,213,,213,,,,213,,213,213,,,231,213,213,213,213',
569'213,213,213,210,210,210,210,210,210,,210,,,,210,,210,210,,,224,210,210',
570'210,210,210,210,210,180,180,180,180,180,180,,180,,,,180,,180,180,,,',
571'180,180,180,180,180,180,180,,407,407,407,407,407,407,407,407,,,,407',
572',407,407,,,213,407,407,407,407,407,407,407,,180,,,,435,435,435,435,435',
573'435,,435,,,,435,210,435,435,435,435,,435,435,435,435,435,435,435,164',
574'164,164,164,164,164,,164,,,,164,180,164,164,,,,164,164,164,164,164,164',
575'164,,279,279,279,279,279,279,,279,,,,279,407,279,279,,,,279,279,279',
576'279,279,279,279,,,435,,,,,,,,,,,,,,41,435,,,,,,,,,,,,,,,,,,,,,,,,,164',
577',,2,,,,,,,,,,,,,,,,,,,,,,,279,41,41,41,41,41,41,41,41,41,41,41,41,41',
578'41,41,41,41,41,41,41,41,41,41,41,41,41,,,41,2,2,2,2,2,2,2,2,2,2,2,2',
579'2,2,2,2,2,2,2,2,2,2,2,2,2,2,,2,2,294,294,,294,,,294,,,,,,,,,294,,,,',
580',,,,,325,325,,325,,,,,,,,,,,,325,,,,,,,,294,294,294,294,294,294,294',
581'294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294',
582'294,325,325,325,325,325,325,325,325,325,325,325,325,325,325,325,325',
583'325,325,325,325,325,325,325,325,325,86,,,,,86,,,,,,,,,,,,,,,,,,,,378',
584',,,,,,,,,,,,,,,,,,,,,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86',
585'86,86,86,86,86,86,86,86,86,378,378,378,378,378,378,378,378,378,378,378',
586'378,378,378,378,378,378,378,378,378,378,378,378,378,378,292,7,7,7,7',
587'7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,,,,,,96,,,,,,,,,,,,292,292',
588'292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292',
589'292,292,292,292,292,292,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96',
590'96,96,96,96,96,96,96,96,96,96,202,,,,,,,,,,,,,,,,,,,,,,,,,299,,,,,,',
591',,,,,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202',
592'202,202,202,202,202,202,202,202,202,299,299,299,299,299,299,299,299',
593'299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299',
594'199,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92',
595'92,92,92,,,,,,,,,,,,199,199,199,199,199,199,199,199,199,199,199,199',
596'199,199,199,199,199,199,199,199,199,199,199,199,199,8,8,8,8,8,8,8,8',
597'8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,196,196,196,196,196,196,196,196,196',
598'196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,6,6',
599'6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5',
600'5,5,5,5,5,5,5,5,5,5,5,5,5,5,93,93,93,93,93,93,93,93,93,93,93,93,93,93',
601'93,93,93,93,93,93,93,93,93,93,93,69,69,69,69,69,69,69,69,69,69,69,69',
602'69,69,69,69,69,69,69,69,69,69,69,69,69' ]
603 racc_action_check = arr = ::Array.new(3198, nil)
[337]604 idx = 0
605 clist.each do |str|
606 str.split(',', -1).each do |i|
607 arr[idx] = i.to_i unless i.empty?
608 idx += 1
609 end
610 end
611
612racc_action_pointer = [
[374]613 nil, 732, 2528, 716, 182, 3068, 3043, 2752, 2993, nil,
[337]614 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
[374]615 nil, nil, nil, 624, nil, 619, nil, 656, nil, 38,
616 nil, 40, nil, nil, nil, nil, nil, nil, nil, nil,
617 nil, 2499, nil, nil, nil, nil, nil, 510, nil, 78,
618 nil, 37, 3, 322, nil, 680, -14, nil, nil, nil,
619 nil, nil, nil, nil, nil, 20, 183, nil, 249, 3118,
620 nil, 278, 429, 421, nil, 252, 344, 664, nil, 544,
621 1392, nil, 419, 285, nil, 1473, 2701, 266, 28, nil,
622 nil, nil, 2932, 3093, 214, 193, 2819, nil, 138, 576,
623 nil, 200, 654, 22, nil, nil, 12, nil, nil, 15,
624 1, nil, nil, nil, nil, nil, 137, 1959, nil, nil,
625 55, 2035, 2061, 2086, 2111, nil, nil, nil, nil, nil,
626 nil, 568, nil, 306, 629, 495, 326, 318, 571, -20,
627 672, 673, 64, nil, nil, nil, 1235, 724, nil, 702,
628 nil, 22, 682, nil, nil, nil, nil, nil, nil, nil,
629 nil, nil, nil, 672, 2431, 669, nil, 161, nil, nil,
630 nil, nil, 702, 691, 685, 376, 635, 612, 546, 542,
631 2350, nil, nil, nil, 547, nil, 545, 281, nil, 507,
632 nil, 684, nil, nil, nil, nil, 3018, 451, 447, 2968,
633 nil, 440, 2881, nil, nil, nil, nil, 44, nil, 410,
634 2325, nil, 61, 2300, 343, 368, nil, 286, 381, nil,
635 348, 322, 147, 2173, 2249, 189, 160, 139, nil, nil,
636 nil, 2224, nil, 2148, nil, nil, 1985, nil, nil, nil,
637 nil, nil, nil, nil, nil, nil, nil, nil, 1904, 779,
638 1853, 1828, 1802, 1777, 1752, 1726, 1701, 1676, 1650, 1625,
639 1600, 1574, 1549, 1524, 1498, 1443, 1367, 223, nil, 300,
640 nil, 1341, nil, 514, 385, 659, nil, nil, 1260, 2457,
641 1210, 619, 1132, 379, nil, nil, 45, nil, nil, nil,
642 nil, 325, 2794, -1, 2604, nil, nil, 183, 1090, 2906,
643 nil, nil, nil, nil, 107, nil, nil, nil, nil, 149,
644 1065, nil, nil, nil, nil, nil, 137, nil, 82, nil,
645 nil, nil, 1034, nil, 68, 2629, 23, nil, 65, nil,
646 1009, nil, nil, 167, 186, nil, nil, nil, nil, 170,
647 131, 621, 567, 559, 557, 520, 503, 417, 423, 464,
648 334, 326, 350, 351, 14, nil, 984, 421, nil, nil,
649 754, nil, 129, 376, 256, 451, 908, 883, nil, nil,
650 nil, 510, nil, 260, 520, nil, 539, 855, 2726, nil,
651 556, nil, nil, 807, 683, nil, nil, nil, nil, 1878,
652 nil, nil, nil, 950, 180, 629, 631, 1286, nil, nil,
653 nil, nil, 634, 653, 539, 1316, 1417, 2376, 687, nil,
654 nil, nil, 689, nil, 693, nil, 649, nil, 318, nil,
655 nil, nil, 622, nil, nil, 412, 323, 281, 128, 256,
656 nil, nil, nil, nil, nil, 2406, 118, 666, 23, nil,
657 -2, nil, nil, nil, nil, nil, nil ]
[337]658
659racc_action_default = [
[374]660 -215, -269, -1, -269, -269, -86, -88, -90, -92, -98,
661 -99, -100, -101, -102, -103, -104, -105, -106, -107, -108,
662 -109, -110, -111, -112, -113, -114, -115, -118, -121, -269,
663 -139, -269, -163, -164, -165, -166, -167, -168, -169, -216,
664 -217, -269, -219, -220, -223, -224, -225, -269, 447, -269,
665 -94, -96, -269, -171, -173, -269, -180, -87, -112, -114,
666 -89, -91, -93, -222, -221, -120, -269, -124, -138, -269,
667 -142, -269, -155, -158, -218, -130, -132, -269, -85, -269,
668 -269, -229, -269, -170, -172, -269, -269, -269, -181, -182,
669 -184, -116, -269, -269, -112, -113, -269, -140, -269, -269,
670 -159, -161, -269, -269, -129, -131, -269, -227, -95, -96,
671 -2, -3, -4, -5, -6, -7, -8, -269, -10, -12,
672 -25, -269, -269, -269, -269, -31, -32, -33, -34, -35,
673 -36, -37, -39, -43, -46, -49, -54, -57, -59, -61,
674 -63, -65, -67, -69, -97, -209, -269, -269, -265, -269,
675 -82, -269, -269, -230, -231, -232, -233, -234, -235, -236,
676 -237, -238, -239, -265, -269, -269, -243, -269, -245, -247,
677 -248, -249, -269, -269, -269, -269, -269, -269, -269, -269,
678 -269, -268, -37, -84, -269, -176, -269, -269, -179, -186,
679 -188, -192, -193, -174, -183, -185, -269, -112, -113, -269,
680 -122, -269, -269, -145, -144, -137, -141, -269, -146, -148,
681 -269, -151, -269, -269, -269, -269, -226, -269, -269, -11,
682 -269, -269, -195, -269, -269, -269, -269, -269, -19, -20,
683 -26, -269, -27, -269, -29, -30, -269, -71, -72, -73,
684 -74, -75, -76, -77, -78, -79, -80, -81, -269, -269,
685 -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
686 -269, -269, -269, -269, -269, -269, -269, -269, -213, -269,
687 -266, -269, -250, -269, -269, -269, -244, -246, -269, -269,
688 -269, -269, -269, -269, -261, -262, -269, -263, -175, -177,
689 -178, -269, -269, -197, -269, -190, -191, -198, -269, -269,
690 -128, -127, -119, -123, -269, -133, -135, -136, -143, -269,
691 -269, -149, -153, -160, -162, -152, -269, -156, -269, -228,
692 -267, -9, -269, -196, -197, -269, -269, -14, -269, -23,
693 -269, -17, -18, -269, -269, -70, -40, -41, -42, -44,
694 -45, -47, -48, -50, -51, -52, -53, -55, -56, -58,
695 -60, -62, -64, -66, -269, -210, -269, -269, -83, -240,
696 -269, -242, -269, -269, -269, -269, -269, -269, -260, -264,
697 -194, -269, -189, -199, -269, -205, -269, -269, -269, -201,
698 -269, -117, -125, -269, -269, -147, -150, -154, -157, -269,
699 -38, -13, -15, -269, -269, -28, -269, -269, -211, -214,
700 -212, -241, -269, -269, -269, -269, -269, -269, -269, -200,
701 -206, -203, -269, -207, -269, -202, -269, -134, -269, -24,
702 -16, -68, -251, -253, -254, -269, -269, -269, -269, -269,
703 -187, -204, -208, -126, -21, -269, -269, -269, -269, -256,
704 -269, -258, -22, -252, -255, -257, -259 ]
[337]705
706racc_goto_table = [
[374]707 51, 144, 145, 81, 183, 182, 184, 281, 186, 23,
708 267, 95, 208, 83, 206, 305, 303, 313, 328, 169,
709 25, 4, 199, 230, 57, 60, 61, 62, 75, 89,
710 40, 99, 168, 221, 198, 95, 296, 77, 95, 220,
711 373, 182, 232, 234, 235, 65, 96, 207, 23, 76,
712 304, 366, 343, 344, 345, 346, 75, 75, 90, 25,
713 4, 194, 214, 215, 66, 104, 105, 323, 145, 74,
714 202, 373, 196, 107, 68, 109, 94, 76, 76, 347,
715 348, 339, 340, 183, 182, 274, 341, 342, 98, 108,
716 195, 236, 187, 88, 209, 372, 353, 352, 75, 197,
717 94, 152, 286, 94, 169, 359, 39, 361, 351, 106,
718 350, 201, 98, 349, 2, 98, 303, 277, 167, 76,
719 206, 313, 225, 313, 394, 1, 299, nil, nil, 183,
720 182, 311, 183, 182, 314, 406, 407, nil, 198, nil,
721 nil, 198, nil, nil, 95, 326, 329, 333, 109, 334,
722 336, 337, 338, 220, nil, 220, nil, nil, 335, nil,
723 nil, nil, nil, nil, 293, nil, nil, nil, 182, 182,
724 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
725 182, 182, 182, 182, 182, 182, 152, 295, 354, nil,
726 nil, nil, 401, 358, nil, 324, nil, 306, 417, nil,
727 362, 363, 364, 197, nil, nil, 197, nil, nil, 94,
728 nil, nil, 75, 319, 75, 201, nil, nil, 201, 367,
729 380, 98, nil, 385, 390, nil, nil, nil, nil, 183,
730 182, 386, nil, 76, 422, 76, 424, nil, nil, nil,
731 nil, 198, 182, nil, nil, nil, nil, nil, nil, nil,
732 nil, nil, 329, 418, 83, nil, nil, nil, nil, 439,
733 nil, 441, nil, nil, nil, nil, nil, 293, 443, nil,
734 445, nil, 446, nil, nil, nil, nil, 399, 145, nil,
[337]735 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
[374]736 nil, nil, nil, nil, nil, nil, nil, nil, 324, 412,
737 414, 152, 183, 182, 416, 209, 197, nil, nil, nil,
738 nil, 145, nil, nil, nil, 419, 421, 182, 201, nil,
739 nil, nil, nil, nil, nil, nil, nil, 425, 426, 428,
[337]740 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
741 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
[374]742 nil, nil, nil, nil, nil, 423, 399, 145, nil, nil,
743 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
744 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
745 306 ]
[337]746
747racc_goto_check = [
[374]748 36, 37, 12, 72, 26, 13, 28, 73, 60, 38,
749 11, 39, 55, 59, 53, 49, 46, 57, 8, 29,
750 40, 30, 43, 15, 30, 30, 30, 30, 33, 58,
751 68, 56, 84, 10, 39, 39, 65, 48, 39, 6,
752 66, 13, 13, 13, 13, 42, 52, 54, 38, 9,
753 47, 75, 18, 18, 18, 18, 33, 33, 9, 40,
754 30, 58, 56, 56, 45, 48, 48, 65, 12, 68,
755 52, 66, 44, 36, 51, 36, 38, 9, 9, 19,
756 19, 16, 16, 26, 13, 28, 17, 17, 30, 35,
757 9, 27, 61, 62, 36, 64, 24, 23, 33, 38,
758 38, 30, 6, 38, 29, 73, 67, 73, 22, 71,
759 21, 30, 30, 20, 2, 30, 46, 84, 83, 9,
760 53, 57, 9, 57, 8, 1, 43, nil, nil, 26,
761 13, 28, 26, 13, 28, 75, 75, nil, 39, nil,
762 nil, 39, nil, nil, 39, 6, 12, 10, 36, 10,
763 15, 15, 15, 6, nil, 6, nil, nil, 12, nil,
764 nil, nil, nil, nil, 58, nil, nil, nil, 13, 13,
765 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
766 13, 13, 13, 13, 13, 13, 30, 36, 6, nil,
767 nil, nil, 73, 12, nil, 58, nil, 36, 49, nil,
768 6, 6, 6, 38, nil, nil, 38, nil, nil, 38,
769 nil, nil, 33, 36, 33, 30, nil, nil, 30, 29,
770 12, 30, nil, 55, 15, nil, nil, nil, nil, 26,
771 13, 28, nil, 9, 73, 9, 73, nil, nil, nil,
772 nil, 39, 13, nil, nil, nil, nil, nil, nil, nil,
773 nil, nil, 12, 11, 59, nil, nil, nil, nil, 73,
774 nil, 73, nil, nil, nil, nil, nil, 58, 73, nil,
775 73, nil, 73, nil, nil, nil, nil, 37, 12, nil,
[337]776 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
[374]777 nil, nil, nil, nil, nil, nil, nil, nil, 58, 12,
778 60, 30, 26, 13, 28, 36, 38, nil, nil, nil,
779 nil, 12, nil, nil, nil, 12, 26, 13, 30, nil,
780 nil, nil, nil, nil, nil, nil, nil, 6, 6, 6,
[337]781 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
782 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
[374]783 nil, nil, nil, nil, nil, 72, 37, 12, nil, nil,
784 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
785 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
786 36 ]
[337]787
788racc_goto_pointer = [
[374]789 nil, 125, 114, nil, nil, nil, -78, nil, -206, 2,
790 -84, -136, -78, -80, nil, -98, -170, -167, -203, -180,
791 -148, -152, -155, -167, -169, nil, -81, -40, -79, -63,
792 19, nil, nil, -19, nil, 10, -4, -79, 7, -58,
793 18, nil, 18, -70, -19, 37, -183, -151, -10, -186,
794 nil, 45, -23, -82, -51, -86, -40, -195, -27, -39,
795 -78, 6, 37, nil, -197, -155, -253, 104, 28, nil,
796 nil, 32, -48, -168, nil, -231, nil, nil, nil, nil,
797 nil, nil, nil, 36, -50 ]
[337]798
799racc_goto_default = [
[374]800 nil, nil, nil, 119, 110, 116, 151, 120, nil, 7,
801 nil, nil, 150, 131, 121, 132, 133, 134, 135, 136,
802 137, 138, 139, 140, 141, 142, 143, nil, nil, 44,
803 191, 49, 5, 6, 8, 50, 87, 268, 58, 24,
804 59, 27, nil, nil, nil, nil, 200, nil, 222, nil,
805 29, nil, nil, 97, nil, nil, nil, 100, 52, 53,
806 376, nil, nil, 189, 190, 374, 297, nil, nil, 42,
807 43, nil, 154, 170, 153, 155, 156, 157, 158, 159,
808 160, 161, 162, nil, nil ]
[337]809
810racc_reduce_table = [
811 0, 0, :racc_error,
[374]812 1, 98, :_reduce_none,
813 1, 100, :_reduce_2,
814 1, 100, :_reduce_3,
815 1, 100, :_reduce_4,
816 1, 100, :_reduce_5,
817 1, 100, :_reduce_6,
818 1, 100, :_reduce_7,
819 1, 100, :_reduce_8,
820 3, 100, :_reduce_9,
821 1, 102, :_reduce_10,
822 2, 102, :_reduce_11,
[337]823 1, 104, :_reduce_none,
[374]824 4, 104, :_reduce_13,
[337]825 3, 104, :_reduce_none,
[374]826 4, 104, :_reduce_none,
827 5, 104, :_reduce_none,
828 3, 104, :_reduce_17,
829 3, 104, :_reduce_18,
830 2, 104, :_reduce_19,
831 2, 104, :_reduce_20,
832 6, 104, :_reduce_none,
833 7, 104, :_reduce_none,
834 1, 105, :_reduce_none,
835 3, 105, :_reduce_none,
[337]836 1, 110, :_reduce_none,
[374]837 2, 110, :_reduce_26,
838 2, 110, :_reduce_27,
839 4, 110, :_reduce_28,
840 2, 110, :_reduce_29,
841 2, 110, :_reduce_30,
842 1, 111, :_reduce_31,
843 1, 111, :_reduce_32,
844 1, 111, :_reduce_33,
845 1, 111, :_reduce_34,
846 1, 111, :_reduce_35,
847 1, 111, :_reduce_36,
[337]848 1, 112, :_reduce_none,
[374]849 4, 112, :_reduce_38,
[337]850 1, 113, :_reduce_none,
[374]851 3, 113, :_reduce_40,
852 3, 113, :_reduce_41,
853 3, 113, :_reduce_42,
[337]854 1, 114, :_reduce_none,
[374]855 3, 114, :_reduce_44,
856 3, 114, :_reduce_45,
[337]857 1, 115, :_reduce_none,
[374]858 3, 115, :_reduce_47,
859 3, 115, :_reduce_48,
[337]860 1, 116, :_reduce_none,
[374]861 3, 116, :_reduce_50,
862 3, 116, :_reduce_51,
863 3, 116, :_reduce_52,
864 3, 116, :_reduce_53,
[337]865 1, 117, :_reduce_none,
[374]866 3, 117, :_reduce_55,
867 3, 117, :_reduce_56,
[337]868 1, 118, :_reduce_none,
[374]869 3, 118, :_reduce_58,
[337]870 1, 119, :_reduce_none,
[374]871 3, 119, :_reduce_60,
[337]872 1, 120, :_reduce_none,
[374]873 3, 120, :_reduce_62,
874 1, 121, :_reduce_none,
875 3, 121, :_reduce_64,
876 1, 122, :_reduce_none,
877 3, 122, :_reduce_66,
[337]878 1, 123, :_reduce_none,
[374]879 5, 123, :_reduce_68,
880 1, 109, :_reduce_none,
881 3, 109, :_reduce_none,
882 1, 124, :_reduce_none,
883 1, 124, :_reduce_none,
884 1, 124, :_reduce_none,
885 1, 124, :_reduce_none,
886 1, 124, :_reduce_none,
887 1, 124, :_reduce_none,
888 1, 124, :_reduce_none,
889 1, 124, :_reduce_none,
890 1, 124, :_reduce_none,
891 1, 124, :_reduce_none,
892 1, 124, :_reduce_none,
893 1, 103, :_reduce_82,
894 3, 103, :_reduce_83,
895 1, 125, :_reduce_84,
896 3, 126, :_reduce_none,
897 1, 127, :_reduce_86,
898 2, 127, :_reduce_87,
[337]899 1, 127, :_reduce_none,
[374]900 2, 127, :_reduce_89,
901 1, 127, :_reduce_90,
902 2, 127, :_reduce_91,
903 1, 127, :_reduce_none,
904 2, 127, :_reduce_none,
905 1, 128, :_reduce_94,
906 3, 128, :_reduce_95,
907 1, 132, :_reduce_none,
908 3, 132, :_reduce_97,
909 1, 129, :_reduce_none,
910 1, 129, :_reduce_none,
911 1, 129, :_reduce_none,
912 1, 129, :_reduce_none,
913 1, 130, :_reduce_102,
914 1, 130, :_reduce_103,
915 1, 130, :_reduce_104,
916 1, 130, :_reduce_105,
917 1, 130, :_reduce_106,
918 1, 130, :_reduce_107,
919 1, 130, :_reduce_108,
920 1, 130, :_reduce_109,
921 1, 130, :_reduce_110,
922 1, 130, :_reduce_111,
923 1, 130, :_reduce_112,
924 1, 130, :_reduce_113,
925 1, 130, :_reduce_114,
926 1, 130, :_reduce_115,
927 0, 141, :_reduce_116,
928 6, 135, :_reduce_117,
929 0, 142, :_reduce_118,
930 5, 135, :_reduce_119,
931 2, 135, :_reduce_120,
932 1, 138, :_reduce_121,
[337]933 1, 140, :_reduce_none,
[374]934 2, 140, :_reduce_none,
935 1, 139, :_reduce_124,
936 3, 143, :_reduce_125,
937 5, 143, :_reduce_126,
938 2, 143, :_reduce_none,
939 2, 143, :_reduce_none,
940 2, 145, :_reduce_129,
941 1, 145, :_reduce_none,
942 2, 145, :_reduce_131,
943 1, 145, :_reduce_132,
944 1, 144, :_reduce_133,
945 3, 144, :_reduce_134,
[337]946 1, 146, :_reduce_none,
[374]947 5, 136, :_reduce_none,
948 4, 136, :_reduce_none,
949 2, 136, :_reduce_none,
950 1, 147, :_reduce_139,
[337]951 1, 149, :_reduce_none,
[374]952 2, 149, :_reduce_none,
953 1, 148, :_reduce_none,
[337]954 3, 150, :_reduce_none,
[374]955 2, 150, :_reduce_none,
956 2, 150, :_reduce_none,
957 1, 151, :_reduce_none,
958 3, 151, :_reduce_none,
959 1, 152, :_reduce_none,
960 2, 152, :_reduce_none,
961 3, 152, :_reduce_none,
962 4, 137, :_reduce_none,
963 5, 137, :_reduce_none,
964 5, 137, :_reduce_none,
965 6, 137, :_reduce_none,
966 2, 137, :_reduce_none,
967 5, 137, :_reduce_none,
968 6, 137, :_reduce_none,
969 2, 137, :_reduce_none,
[337]970 1, 153, :_reduce_none,
[374]971 3, 153, :_reduce_none,
[337]972 1, 154, :_reduce_none,
973 3, 154, :_reduce_none,
[374]974 1, 106, :_reduce_163,
975 1, 106, :_reduce_none,
976 1, 106, :_reduce_165,
977 1, 131, :_reduce_none,
978 1, 131, :_reduce_none,
979 1, 131, :_reduce_none,
980 1, 131, :_reduce_none,
981 2, 133, :_reduce_170,
982 1, 133, :_reduce_none,
983 2, 133, :_reduce_172,
984 1, 156, :_reduce_173,
985 3, 156, :_reduce_174,
986 4, 156, :_reduce_175,
987 3, 156, :_reduce_176,
988 4, 156, :_reduce_177,
989 4, 156, :_reduce_none,
990 3, 156, :_reduce_179,
991 1, 155, :_reduce_180,
992 2, 155, :_reduce_181,
993 2, 155, :_reduce_182,
994 3, 155, :_reduce_183,
[337]995 1, 159, :_reduce_none,
996 2, 159, :_reduce_none,
[374]997 1, 157, :_reduce_none,
998 5, 157, :_reduce_none,
[337]999 1, 160, :_reduce_none,
[374]1000 3, 160, :_reduce_none,
1001 2, 161, :_reduce_none,
1002 2, 161, :_reduce_none,
1003 1, 161, :_reduce_none,
1004 1, 158, :_reduce_none,
1005 3, 158, :_reduce_none,
1006 1, 107, :_reduce_none,
1007 2, 107, :_reduce_none,
1008 1, 162, :_reduce_none,
1009 1, 162, :_reduce_none,
1010 2, 162, :_reduce_none,
1011 3, 163, :_reduce_none,
1012 2, 163, :_reduce_none,
1013 3, 163, :_reduce_none,
1014 3, 163, :_reduce_none,
1015 4, 163, :_reduce_none,
1016 2, 163, :_reduce_205,
1017 3, 163, :_reduce_none,
1018 3, 163, :_reduce_207,
1019 4, 163, :_reduce_none,
1020 1, 134, :_reduce_209,
1021 3, 134, :_reduce_210,
1022 4, 134, :_reduce_211,
1023 4, 134, :_reduce_212,
1024 1, 108, :_reduce_213,
1025 3, 108, :_reduce_214,
1026 0, 99, :_reduce_none,
1027 2, 99, :_reduce_none,
1028 1, 164, :_reduce_none,
1029 2, 164, :_reduce_none,
1030 1, 165, :_reduce_none,
1031 1, 165, :_reduce_none,
[337]1032 2, 165, :_reduce_none,
[374]1033 2, 165, :_reduce_none,
1034 1, 165, :_reduce_none,
1035 1, 165, :_reduce_none,
1036 1, 165, :_reduce_none,
1037 4, 166, :_reduce_226,
1038 1, 168, :_reduce_227,
1039 3, 168, :_reduce_228,
1040 3, 167, :_reduce_none,
1041 1, 170, :_reduce_none,
1042 1, 170, :_reduce_none,
1043 1, 170, :_reduce_none,
1044 1, 170, :_reduce_none,
1045 1, 170, :_reduce_none,
1046 1, 170, :_reduce_none,
1047 1, 170, :_reduce_none,
1048 1, 170, :_reduce_none,
1049 1, 170, :_reduce_none,
1050 1, 170, :_reduce_none,
1051 3, 171, :_reduce_none,
1052 4, 171, :_reduce_none,
1053 3, 171, :_reduce_none,
1054 2, 169, :_reduce_none,
1055 3, 169, :_reduce_none,
1056 1, 180, :_reduce_none,
1057 2, 180, :_reduce_none,
1058 1, 181, :_reduce_none,
1059 1, 181, :_reduce_none,
1060 1, 172, :_reduce_none,
1061 2, 172, :_reduce_none,
1062 5, 173, :_reduce_none,
1063 7, 173, :_reduce_none,
1064 5, 177, :_reduce_none,
1065 5, 174, :_reduce_none,
1066 7, 175, :_reduce_none,
1067 6, 176, :_reduce_none,
1068 7, 176, :_reduce_none,
1069 6, 176, :_reduce_none,
1070 7, 176, :_reduce_none,
1071 3, 178, :_reduce_none,
1072 2, 178, :_reduce_none,
1073 2, 178, :_reduce_none,
1074 2, 178, :_reduce_none,
1075 3, 178, :_reduce_none,
1076 1, 101, :_reduce_265,
1077 2, 101, :_reduce_266,
1078 3, 101, :_reduce_267,
1079 1, 179, :_reduce_268 ]
[337]1080
[374]1081racc_reduce_n = 269
[337]1082
[374]1083racc_shift_n = 447
[337]1084
1085racc_token_table = {
1086 false => 0,
1087 :error => 1,
1088 :INTEGER_CONSTANT => 2,
1089 :FLOATING_CONSTANT => 3,
1090 :OCTAL_CONSTANT => 4,
1091 :HEX_CONSTANT => 5,
1092 :CHARACTER_LITERAL => 6,
1093 "(" => 7,
1094 ")" => 8,
1095 :STRING_LITERAL => 9,
1096 "[" => 10,
1097 "]" => 11,
1098 "." => 12,
1099 :IDENTIFIER => 13,
1100 "->" => 14,
1101 "++" => 15,
1102 "--" => 16,
[374]1103 "{" => 17,
1104 "}" => 18,
1105 "," => 19,
1106 :SIZEOF => 20,
1107 "&" => 21,
1108 "*" => 22,
1109 "+" => 23,
1110 "-" => 24,
1111 "~" => 25,
1112 "!" => 26,
1113 "/" => 27,
1114 "%" => 28,
1115 "<<" => 29,
1116 ">>" => 30,
1117 "<" => 31,
1118 ">" => 32,
1119 "<=" => 33,
1120 ">=" => 34,
1121 "==" => 35,
1122 "!=" => 36,
1123 "^" => 37,
1124 "|" => 38,
1125 "&&" => 39,
1126 "||" => 40,
1127 "?" => 41,
1128 ":" => 42,
1129 "=" => 43,
1130 "+=" => 44,
1131 "-=" => 45,
1132 "*=" => 46,
1133 "/=" => 47,
1134 "%=" => 48,
1135 "<<=" => 49,
1136 ">>=" => 50,
1137 "&=" => 51,
1138 "|=" => 52,
1139 "^=" => 53,
1140 ";" => 54,
1141 :EXTERN => 55,
1142 :STATIC => 56,
1143 :AUTO => 57,
1144 :REGISTER => 58,
1145 :VOID => 59,
1146 :CHAR => 60,
1147 :SHORT => 61,
1148 :INT => 62,
1149 :LONG => 63,
1150 :FLOAT => 64,
1151 :DOUBLE => 65,
1152 :SIGNED => 66,
1153 :UNSIGNED => 67,
1154 :BOOL => 68,
1155 :TYPE_NAME => 69,
1156 :STRUCT => 70,
1157 :UNION => 71,
1158 :ENUM => 72,
1159 :CONST => 73,
1160 :RESTRICT => 74,
1161 :VOLATILE => 75,
1162 :__INLINE__ => 76,
1163 :INLINE => 77,
1164 :__INLINE => 78,
1165 :CINLINE => 79,
1166 :C_EXP => 80,
1167 :EXTENSION => 81,
1168 :TYPEDEF => 82,
1169 :CASE => 83,
1170 :DEFAULT => 84,
1171 :IF => 85,
1172 :ELSE => 86,
1173 :SWITCH => 87,
1174 :WHILE => 88,
1175 :DO => 89,
1176 :FOR => 90,
1177 :GOTO => 91,
1178 :CONTINUE => 92,
1179 :BREAK => 93,
1180 :RETURN => 94,
1181 "::" => 95,
1182 :_ASM => 96 }
[337]1183
[374]1184racc_nt_base = 97
[337]1185
1186racc_use_result_var = true
1187
1188Racc_arg = [
1189 racc_action_table,
1190 racc_action_check,
1191 racc_action_default,
1192 racc_action_pointer,
1193 racc_goto_table,
1194 racc_goto_check,
1195 racc_goto_default,
1196 racc_goto_pointer,
1197 racc_nt_base,
1198 racc_reduce_table,
1199 racc_token_table,
1200 racc_shift_n,
1201 racc_reduce_n,
1202 racc_use_result_var ]
1203
1204Racc_token_to_s_table = [
1205 "$end",
1206 "error",
1207 "INTEGER_CONSTANT",
1208 "FLOATING_CONSTANT",
1209 "OCTAL_CONSTANT",
1210 "HEX_CONSTANT",
1211 "CHARACTER_LITERAL",
1212 "\"(\"",
1213 "\")\"",
1214 "STRING_LITERAL",
1215 "\"[\"",
1216 "\"]\"",
1217 "\".\"",
1218 "IDENTIFIER",
1219 "\"->\"",
1220 "\"++\"",
1221 "\"--\"",
[374]1222 "\"{\"",
1223 "\"}\"",
[337]1224 "\",\"",
1225 "SIZEOF",
1226 "\"&\"",
1227 "\"*\"",
1228 "\"+\"",
1229 "\"-\"",
1230 "\"~\"",
1231 "\"!\"",
1232 "\"/\"",
1233 "\"%\"",
1234 "\"<<\"",
1235 "\">>\"",
1236 "\"<\"",
1237 "\">\"",
1238 "\"<=\"",
1239 "\">=\"",
1240 "\"==\"",
1241 "\"!=\"",
1242 "\"^\"",
1243 "\"|\"",
1244 "\"&&\"",
1245 "\"||\"",
1246 "\"?\"",
1247 "\":\"",
[374]1248 "\"=\"",
1249 "\"+=\"",
1250 "\"-=\"",
1251 "\"*=\"",
1252 "\"/=\"",
1253 "\"%=\"",
1254 "\"<<=\"",
1255 "\">>=\"",
1256 "\"&=\"",
1257 "\"|=\"",
1258 "\"^=\"",
[337]1259 "\";\"",
[374]1260 "EXTERN",
1261 "STATIC",
1262 "AUTO",
1263 "REGISTER",
[337]1264 "VOID",
1265 "CHAR",
1266 "SHORT",
1267 "INT",
1268 "LONG",
[374]1269 "FLOAT",
1270 "DOUBLE",
[337]1271 "SIGNED",
1272 "UNSIGNED",
[374]1273 "BOOL",
1274 "TYPE_NAME",
[337]1275 "STRUCT",
1276 "UNION",
1277 "ENUM",
1278 "CONST",
[374]1279 "RESTRICT",
[337]1280 "VOLATILE",
[374]1281 "__INLINE__",
1282 "INLINE",
1283 "__INLINE",
1284 "CINLINE",
[337]1285 "C_EXP",
1286 "EXTENSION",
1287 "TYPEDEF",
[374]1288 "CASE",
1289 "DEFAULT",
[337]1290 "IF",
1291 "ELSE",
[374]1292 "SWITCH",
[337]1293 "WHILE",
1294 "DO",
1295 "FOR",
1296 "GOTO",
1297 "CONTINUE",
1298 "BREAK",
1299 "RETURN",
1300 "\"::\"",
[374]1301 "_ASM",
[337]1302 "$start",
1303 "all",
1304 "C_parser",
1305 "primary_expression",
1306 "namespace_identifier",
1307 "string_literal_list",
1308 "expression",
1309 "postfix_expression",
[374]1310 "argument_expression_list",
[337]1311 "type_qualifier",
[374]1312 "type_name",
1313 "initializer_list",
1314 "assignment_expression",
[337]1315 "unary_expression",
1316 "unary_operator",
1317 "cast_expression",
1318 "multiplicative_expression",
1319 "additive_expression",
1320 "shift_expression",
1321 "relational_expression",
1322 "equality_expression",
1323 "and_expression",
1324 "exclusive_or_expression",
1325 "inclusive_or_expression",
1326 "logical_and_expression",
1327 "logical_or_expression",
1328 "conditional_expression",
[374]1329 "assignment_operator",
[337]1330 "constant_expression",
1331 "declaration",
1332 "declaration_specifiers",
1333 "init_declarator_list",
[374]1334 "storage_class_specifier",
[337]1335 "type_specifier",
[374]1336 "function_specifier",
[337]1337 "init_declarator",
1338 "declarator",
1339 "initializer",
1340 "struct_specifier",
1341 "union_specifier",
1342 "enum_specifier",
1343 "struct_term",
1344 "struct_tag",
1345 "struct_declaration_list",
1346 "@1",
1347 "@2",
1348 "struct_declaration",
1349 "struct_declarator_list",
[374]1350 "specifier_qualifier_list",
[337]1351 "struct_declarator",
1352 "union_term",
1353 "union_tag",
1354 "union_declaration_list",
1355 "union_declaration",
1356 "union_declarator_list",
1357 "union_declarator",
1358 "enumerator_list",
1359 "enumerator",
1360 "pointer",
1361 "direct_declarator",
1362 "parameter_type_list",
[374]1363 "identifier_list",
1364 "type_qualifier_list",
[337]1365 "parameter_list",
1366 "parameter_declaration",
1367 "abstract_declarator",
1368 "direct_abstract_declarator",
1369 "extension_statement",
[374]1370 "cdl_statement",
[337]1371 "typedef",
1372 "func_def",
1373 "declarator_list",
[374]1374 "compound_statement",
1375 "statement",
1376 "labeled_statement",
1377 "expression_statement",
[337]1378 "ifstatement",
1379 "whilestatement",
1380 "dowhilestatement",
1381 "forstatement",
1382 "switchstatement",
[374]1383 "jump_statement",
1384 "asm_statement",
1385 "block_item_list",
1386 "block_item" ]
[337]1387
1388Racc_debug_parser = false
1389
1390##### State transition tables end #####
1391
1392# reduce 0 omitted
1393
1394# reduce 1 omitted
1395
[374]1396module_eval(<<'.,.,', 'C_parser.y.rb', 57)
[337]1397 def _reduce_2(val, _values, result)
1398 result = [ :IDENTIFIER, val[0] ]
1399 result
1400 end
1401.,.,
1402
[374]1403module_eval(<<'.,.,', 'C_parser.y.rb', 65)
[337]1404 def _reduce_3(val, _values, result)
1405 result = [ :INTEGER_CONSTANT, val[0] ]
1406 result
1407 end
1408.,.,
1409
[374]1410module_eval(<<'.,.,', 'C_parser.y.rb', 67)
[337]1411 def _reduce_4(val, _values, result)
1412 result = [ :FLOATING_CONSTANT, val[0] ]
1413 result
1414 end
1415.,.,
1416
[374]1417module_eval(<<'.,.,', 'C_parser.y.rb', 69)
[337]1418 def _reduce_5(val, _values, result)
1419 result = [ :OCTAL_CONSTANT, val[0] ]
1420 result
1421 end
1422.,.,
1423
[374]1424module_eval(<<'.,.,', 'C_parser.y.rb', 71)
[337]1425 def _reduce_6(val, _values, result)
1426 result = [ :HEX_CONSTANT, val[0] ]
1427 result
1428 end
1429.,.,
1430
[374]1431module_eval(<<'.,.,', 'C_parser.y.rb', 73)
[337]1432 def _reduce_7(val, _values, result)
1433 result = [ :CHARACTER_LITERAL, val[0] ]
1434 result
1435 end
1436.,.,
1437
[374]1438module_eval(<<'.,.,', 'C_parser.y.rb', 75)
[337]1439 def _reduce_8(val, _values, result)
1440 result = [ :STRING_LITERAL_LIST, val[0] ]
1441 result
1442 end
1443.,.,
1444
[374]1445module_eval(<<'.,.,', 'C_parser.y.rb', 77)
[337]1446 def _reduce_9(val, _values, result)
1447 result = [ :PARENTHESES, val[1].get_elements ]
1448 result
1449 end
1450.,.,
1451
[374]1452module_eval(<<'.,.,', 'C_parser.y.rb', 81)
[337]1453 def _reduce_10(val, _values, result)
1454 result = [val[0]]
1455 result
1456 end
1457.,.,
1458
[374]1459module_eval(<<'.,.,', 'C_parser.y.rb', 83)
[337]1460 def _reduce_11(val, _values, result)
1461 result << val[1]
1462 result
1463 end
1464.,.,
1465
1466# reduce 12 omitted
1467
[374]1468module_eval(<<'.,.,', 'C_parser.y.rb', 89)
1469 def _reduce_13(val, _values, result)
[337]1470 result = [ :OP_SUBSC, val[0], val[2] ]
1471 result
1472 end
1473.,.,
1474
[374]1475# reduce 14 omitted
1476
1477# reduce 15 omitted
1478
1479# reduce 16 omitted
1480
1481module_eval(<<'.,.,', 'C_parser.y.rb', 94)
1482 def _reduce_17(val, _values, result)
[337]1483 result = [ :OP_DOT, val[0], val[2] ]
1484 result
1485 end
1486.,.,
1487
[374]1488module_eval(<<'.,.,', 'C_parser.y.rb', 96)
1489 def _reduce_18(val, _values, result)
[337]1490 result = [ :OP_REF, val[0], val[2] ]
1491 result
1492 end
1493.,.,
1494
[374]1495module_eval(<<'.,.,', 'C_parser.y.rb', 97)
1496 def _reduce_19(val, _values, result)
[337]1497 result = val[0]
1498 result
1499 end
1500.,.,
1501
[374]1502module_eval(<<'.,.,', 'C_parser.y.rb', 98)
1503 def _reduce_20(val, _values, result)
[337]1504 result = val[0]
1505 result
1506 end
1507.,.,
1508
1509# reduce 21 omitted
1510
1511# reduce 22 omitted
1512
1513# reduce 23 omitted
1514
[374]1515# reduce 24 omitted
1516
1517# reduce 25 omitted
1518
1519module_eval(<<'.,.,', 'C_parser.y.rb', 111)
1520 def _reduce_26(val, _values, result)
[337]1521 result = [ val[0], val[1] ]
1522 result
1523 end
1524.,.,
1525
[374]1526module_eval(<<'.,.,', 'C_parser.y.rb', 113)
1527 def _reduce_27(val, _values, result)
[337]1528 result = [ :OP_SIZEOF_EXPR, val[1] ]
1529 result
1530 end
1531.,.,
1532
[374]1533module_eval(<<'.,.,', 'C_parser.y.rb', 115)
1534 def _reduce_28(val, _values, result)
[337]1535 result = [ :OP_SIZEOF_TYPE, val[1] ]
1536 result
1537 end
1538.,.,
1539
[374]1540module_eval(<<'.,.,', 'C_parser.y.rb', 116)
1541 def _reduce_29(val, _values, result)
[337]1542 result = val[1]
1543 result
1544 end
1545.,.,
1546
[374]1547module_eval(<<'.,.,', 'C_parser.y.rb', 117)
1548 def _reduce_30(val, _values, result)
[337]1549 result = val[1]
1550 result
1551 end
1552.,.,
1553
[374]1554module_eval(<<'.,.,', 'C_parser.y.rb', 120)
1555 def _reduce_31(val, _values, result)
[337]1556 result = :OP_U_AMP
1557 result
1558 end
1559.,.,
1560
[374]1561module_eval(<<'.,.,', 'C_parser.y.rb', 121)
1562 def _reduce_32(val, _values, result)
[337]1563 result = :OP_U_ASTER
1564 result
1565 end
1566.,.,
1567
[374]1568module_eval(<<'.,.,', 'C_parser.y.rb', 122)
1569 def _reduce_33(val, _values, result)
[337]1570 result = :OP_U_PLUS
1571 result
1572 end
1573.,.,
1574
[374]1575module_eval(<<'.,.,', 'C_parser.y.rb', 123)
1576 def _reduce_34(val, _values, result)
[337]1577 result = :OP_U_MINUS
1578 result
1579 end
1580.,.,
1581
[374]1582module_eval(<<'.,.,', 'C_parser.y.rb', 124)
1583 def _reduce_35(val, _values, result)
[337]1584 result = :OP_U_TILDE
1585 result
1586 end
1587.,.,
1588
[374]1589module_eval(<<'.,.,', 'C_parser.y.rb', 125)
1590 def _reduce_36(val, _values, result)
[337]1591 result = :OP_U_EXCLAM
1592 result
1593 end
1594.,.,
1595
[374]1596# reduce 37 omitted
[337]1597
[374]1598module_eval(<<'.,.,', 'C_parser.y.rb', 130)
1599 def _reduce_38(val, _values, result)
[337]1600 result = [ :CAST, val[1], val[3] ]
1601 result
1602 end
1603.,.,
1604
[374]1605# reduce 39 omitted
[337]1606
[374]1607module_eval(<<'.,.,', 'C_parser.y.rb', 135)
1608 def _reduce_40(val, _values, result)
[337]1609 result = [ :OP_MULT, val[0], val[2] ]
1610 result
1611 end
1612.,.,
1613
[374]1614module_eval(<<'.,.,', 'C_parser.y.rb', 137)
1615 def _reduce_41(val, _values, result)
[337]1616 result = [ :OP_DIV, val[0], val[2] ]
1617 result
1618 end
1619.,.,
1620
[374]1621module_eval(<<'.,.,', 'C_parser.y.rb', 139)
1622 def _reduce_42(val, _values, result)
[337]1623 result = [ :OP_REMAIN, val[0], val[2] ]
1624 result
1625 end
1626.,.,
1627
[374]1628# reduce 43 omitted
[337]1629
[374]1630module_eval(<<'.,.,', 'C_parser.y.rb', 144)
1631 def _reduce_44(val, _values, result)
[337]1632 result = [ :OP_ADD, val[0], val[2] ]
1633 result
1634 end
1635.,.,
1636
[374]1637module_eval(<<'.,.,', 'C_parser.y.rb', 146)
1638 def _reduce_45(val, _values, result)
[337]1639 result = [ :OP_SUB, val[0], val[2] ]
1640 result
1641 end
1642.,.,
1643
[374]1644# reduce 46 omitted
[337]1645
[374]1646module_eval(<<'.,.,', 'C_parser.y.rb', 151)
1647 def _reduce_47(val, _values, result)
[337]1648 result = [ :OP_LSFT, val[0], val[2] ]
1649 result
1650 end
1651.,.,
1652
[374]1653module_eval(<<'.,.,', 'C_parser.y.rb', 153)
1654 def _reduce_48(val, _values, result)
[337]1655 result = [ :OP_RSFT, val[0], val[2] ]
1656 result
1657 end
1658.,.,
1659
[374]1660# reduce 49 omitted
[337]1661
[374]1662module_eval(<<'.,.,', 'C_parser.y.rb', 158)
1663 def _reduce_50(val, _values, result)
[337]1664 result = [ :OP_LT, val[0], val[2] ]
1665 result
1666 end
1667.,.,
1668
[374]1669module_eval(<<'.,.,', 'C_parser.y.rb', 160)
1670 def _reduce_51(val, _values, result)
[337]1671 result = [ :OP_GT, val[0], val[2] ]
1672 result
1673 end
1674.,.,
1675
[374]1676module_eval(<<'.,.,', 'C_parser.y.rb', 162)
1677 def _reduce_52(val, _values, result)
[337]1678 result = [ :OP_LE, val[0], val[2] ]
1679 result
1680 end
1681.,.,
1682
[374]1683module_eval(<<'.,.,', 'C_parser.y.rb', 164)
1684 def _reduce_53(val, _values, result)
[337]1685 result = [ :OP_GE, val[0], val[2] ]
1686 result
1687 end
1688.,.,
1689
[374]1690# reduce 54 omitted
[337]1691
[374]1692module_eval(<<'.,.,', 'C_parser.y.rb', 169)
1693 def _reduce_55(val, _values, result)
[337]1694 result = [ :OP_EQ, val[0], val[2] ]
1695 result
1696 end
1697.,.,
1698
[374]1699module_eval(<<'.,.,', 'C_parser.y.rb', 171)
1700 def _reduce_56(val, _values, result)
[337]1701 result = [ :OP_NE, val[0], val[2] ]
1702 result
1703 end
1704.,.,
1705
[374]1706# reduce 57 omitted
[337]1707
[374]1708module_eval(<<'.,.,', 'C_parser.y.rb', 176)
1709 def _reduce_58(val, _values, result)
[337]1710 result = [ :OP_AND, val[0], val[2] ]
1711 result
1712 end
1713.,.,
1714
[374]1715# reduce 59 omitted
[337]1716
[374]1717module_eval(<<'.,.,', 'C_parser.y.rb', 181)
1718 def _reduce_60(val, _values, result)
[337]1719 result = [ :OP_EOR, val[0], val[2] ]
1720 result
1721 end
1722.,.,
1723
[374]1724# reduce 61 omitted
[337]1725
[374]1726module_eval(<<'.,.,', 'C_parser.y.rb', 186)
1727 def _reduce_62(val, _values, result)
[337]1728 result = [ :OP_OR, val[0], val[2] ]
1729 result
1730 end
1731.,.,
1732
[374]1733# reduce 63 omitted
[337]1734
[374]1735module_eval(<<'.,.,', 'C_parser.y.rb', 191)
1736 def _reduce_64(val, _values, result)
[337]1737 result = [ :OP_LAND, val[0], val[2] ]
1738 result
1739 end
1740.,.,
1741
[374]1742# reduce 65 omitted
[337]1743
[374]1744module_eval(<<'.,.,', 'C_parser.y.rb', 196)
1745 def _reduce_66(val, _values, result)
[337]1746 result = [ :OP_LOR, val[0], val[2] ]
1747 result
1748 end
1749.,.,
1750
[374]1751# reduce 67 omitted
[337]1752
[374]1753module_eval(<<'.,.,', 'C_parser.y.rb', 201)
1754 def _reduce_68(val, _values, result)
[337]1755 result = [ :OP_CEX, val[0], val[2].get_elements, val[4] ]
1756 result
1757 end
1758.,.,
1759
[374]1760# reduce 69 omitted
1761
1762# reduce 70 omitted
1763
1764# reduce 71 omitted
1765
1766# reduce 72 omitted
1767
1768# reduce 73 omitted
1769
1770# reduce 74 omitted
1771
1772# reduce 75 omitted
1773
1774# reduce 76 omitted
1775
1776# reduce 77 omitted
1777
1778# reduce 78 omitted
1779
1780# reduce 79 omitted
1781
1782# reduce 80 omitted
1783
1784# reduce 81 omitted
1785
1786module_eval(<<'.,.,', 'C_parser.y.rb', 223)
1787 def _reduce_82(val, _values, result)
[337]1788 result = Expression.new( val[0] )
1789 # result.print
1790
1791 result
1792 end
1793.,.,
1794
[374]1795module_eval(<<'.,.,', 'C_parser.y.rb', 228)
1796 def _reduce_83(val, _values, result)
1797 result = Expression.new( val[2] ) # ',' の後ろを採用
1798
1799 result
1800 end
1801.,.,
1802
1803module_eval(<<'.,.,', 'C_parser.y.rb', 234)
1804 def _reduce_84(val, _values, result)
[337]1805 result = Expression.new( val[0] )
1806 # result.print
1807# res = result.eval_const( nil )
1808
1809 # if res then
1810 # puts "val: #{res}"
1811 # else
1812 # puts "val: nil"
1813 # end
1814
1815 result
1816 end
1817.,.,
1818
[374]1819# reduce 85 omitted
[337]1820
[374]1821module_eval(<<'.,.,', 'C_parser.y.rb', 261)
1822 def _reduce_86(val, _values, result)
[337]1823 result = CIntType.new( -3 ) # storage class は無視
1824
1825 result
1826 end
1827.,.,
1828
[374]1829module_eval(<<'.,.,', 'C_parser.y.rb', 265)
1830 def _reduce_87(val, _values, result)
1831 result = val[1] # storage class は無視
[337]1832
1833 result
1834 end
1835.,.,
1836
[374]1837# reduce 88 omitted
1838
1839module_eval(<<'.,.,', 'C_parser.y.rb', 270)
1840 def _reduce_89(val, _values, result)
1841 result = val[1].merge val[0]
[337]1842
1843 result
1844 end
1845.,.,
1846
[374]1847module_eval(<<'.,.,', 'C_parser.y.rb', 274)
1848 def _reduce_90(val, _values, result)
1849 result = CIntType.new( -3 )
1850 result.set_qualifier val[0]
[337]1851
1852 result
1853 end
1854.,.,
1855
[374]1856module_eval(<<'.,.,', 'C_parser.y.rb', 279)
1857 def _reduce_91(val, _values, result)
[337]1858 val[1].set_qualifier val[0]
[374]1859 result = val[1]
[337]1860
1861 result
1862 end
1863.,.,
1864
[374]1865# reduce 92 omitted
1866
1867# reduce 93 omitted
1868
1869module_eval(<<'.,.,', 'C_parser.y.rb', 287)
1870 def _reduce_94(val, _values, result)
[337]1871 result = [val[0]]
1872 result
1873 end
1874.,.,
1875
[374]1876module_eval(<<'.,.,', 'C_parser.y.rb', 289)
1877 def _reduce_95(val, _values, result)
[337]1878 result << val[2]
1879 result
1880 end
1881.,.,
1882
[374]1883# reduce 96 omitted
[337]1884
[374]1885module_eval(<<'.,.,', 'C_parser.y.rb', 294)
1886 def _reduce_97(val, _values, result)
[337]1887 val[0].set_initializer( val[2] )
1888 result
1889 end
1890.,.,
1891
[374]1892# reduce 98 omitted
1893
1894# reduce 99 omitted
1895
1896# reduce 100 omitted
1897
1898# reduce 101 omitted
1899
1900module_eval(<<'.,.,', 'C_parser.y.rb', 304)
1901 def _reduce_102(val, _values, result)
[337]1902 set_no_type_name true; result = CVoidType.new
1903 result
1904 end
1905.,.,
1906
[374]1907module_eval(<<'.,.,', 'C_parser.y.rb', 306)
1908 def _reduce_103(val, _values, result)
1909 set_no_type_name true; result = CIntType.new(-11 )
[337]1910 result
1911 end
1912.,.,
1913
[374]1914module_eval(<<'.,.,', 'C_parser.y.rb', 308)
1915 def _reduce_104(val, _values, result)
1916 set_no_type_name true; result = CIntType.new( -2 )
[337]1917 result
1918 end
1919.,.,
1920
[374]1921module_eval(<<'.,.,', 'C_parser.y.rb', 310)
1922 def _reduce_105(val, _values, result)
1923 set_no_type_name true; result = CIntType.new( -3 )
[337]1924 result
1925 end
1926.,.,
1927
[374]1928module_eval(<<'.,.,', 'C_parser.y.rb', 312)
1929 def _reduce_106(val, _values, result)
1930 set_no_type_name true; result = CIntType.new( -4 )
[337]1931 result
1932 end
1933.,.,
1934
[374]1935module_eval(<<'.,.,', 'C_parser.y.rb', 314)
1936 def _reduce_107(val, _values, result)
1937 set_no_type_name true; result = CFloatType.new(-32)
[337]1938 result
1939 end
1940.,.,
1941
[374]1942module_eval(<<'.,.,', 'C_parser.y.rb', 316)
1943 def _reduce_108(val, _values, result)
1944 set_no_type_name true; result = CFloatType.new(-64)
[337]1945 result
1946 end
1947.,.,
1948
[374]1949module_eval(<<'.,.,', 'C_parser.y.rb', 319)
1950 def _reduce_109(val, _values, result)
1951 set_no_type_name true
1952 result = CIntType.new( -3 )
1953 result.set_sign :SIGNED
1954
[337]1955 result
1956 end
1957.,.,
1958
[374]1959module_eval(<<'.,.,', 'C_parser.y.rb', 325)
1960 def _reduce_110(val, _values, result)
1961 set_no_type_name true
1962 result = CIntType.new( -3 )
1963 result.set_sign :UNSIGNED
1964
[337]1965 result
1966 end
1967.,.,
1968
[374]1969module_eval(<<'.,.,', 'C_parser.y.rb', 330)
1970 def _reduce_111(val, _values, result)
1971 set_no_type_name true; result = CBoolType.new
[337]1972 result
1973 end
1974.,.,
1975
[374]1976module_eval(<<'.,.,', 'C_parser.y.rb', 332)
1977 def _reduce_112(val, _values, result)
1978 set_no_type_name true; result = val[0]
[337]1979 result
1980 end
1981.,.,
1982
[374]1983module_eval(<<'.,.,', 'C_parser.y.rb', 334)
1984 def _reduce_113(val, _values, result)
1985 set_no_type_name true; result = CVoidType.new
[337]1986 result
1987 end
1988.,.,
1989
[374]1990module_eval(<<'.,.,', 'C_parser.y.rb', 336)
1991 def _reduce_114(val, _values, result)
1992 set_no_type_name true; result = CVoidType.new
[337]1993 result
1994 end
1995.,.,
1996
[374]1997module_eval(<<'.,.,', 'C_parser.y.rb', 338)
1998 def _reduce_115(val, _values, result)
1999 set_no_type_name true; result = CDefinedType.new( val[0].val )
[337]2000 result
2001 end
2002.,.,
2003
[374]2004module_eval(<<'.,.,', 'C_parser.y.rb', 344)
2005 def _reduce_116(val, _values, result)
[337]2006 StructType.set_define( true )
2007 result
2008 end
2009.,.,
2010
[374]2011module_eval(<<'.,.,', 'C_parser.y.rb', 347)
2012 def _reduce_117(val, _values, result)
[337]2013 StructType.end_of_parse
2014 result = val[1]
2015
2016 result
2017 end
2018.,.,
2019
[374]2020module_eval(<<'.,.,', 'C_parser.y.rb', 353)
2021 def _reduce_118(val, _values, result)
[337]2022 result = CStructType.new()
2023 StructType.set_define( true )
2024
2025 result
2026 end
2027.,.,
2028
[374]2029module_eval(<<'.,.,', 'C_parser.y.rb', 358)
2030 def _reduce_119(val, _values, result)
[337]2031 StructType.end_of_parse
2032 result = val[1]
2033
2034 result
2035 end
2036.,.,
2037
[374]2038module_eval(<<'.,.,', 'C_parser.y.rb', 364)
2039 def _reduce_120(val, _values, result)
[337]2040 StructType.set_define( false )
2041 StructType.end_of_parse
2042 result = val[1]
2043
2044 result
2045 end
2046.,.,
2047
[374]2048module_eval(<<'.,.,', 'C_parser.y.rb', 370)
2049 def _reduce_121(val, _values, result)
[337]2050 set_no_type_name true
2051 result
2052 end
2053.,.,
2054
[374]2055# reduce 122 omitted
[337]2056
[374]2057# reduce 123 omitted
[337]2058
[374]2059module_eval(<<'.,.,', 'C_parser.y.rb', 379)
2060 def _reduce_124(val, _values, result)
[337]2061 result = CStructType.new( val[0].val )
2062 set_no_type_name true
2063
2064 result
2065 end
2066.,.,
2067
[374]2068module_eval(<<'.,.,', 'C_parser.y.rb', 388)
2069 def _reduce_125(val, _values, result)
[337]2070 val[1].each { |i| # i: Decl
2071 i.set_type( val[0] )
2072 i.set_kind( :MEMBER )
2073 i.check
2074 CStructType.new_member( i )
2075 }
2076 result = val[1]
2077
2078 result
2079 end
2080.,.,
2081
[374]2082module_eval(<<'.,.,', 'C_parser.y.rb', 399)
2083 def _reduce_126(val, _values, result)
2084 val[1].each { |i| # i: Decl
2085 i.set_type( val[0] )
2086 i.set_kind( :MEMBER )
2087 i.check
2088 CStructType.new_member( i )
2089 }
2090 result = val[1]
2091
2092 result
2093 end
2094.,.,
[337]2095
[374]2096# reduce 127 omitted
[337]2097
[374]2098# reduce 128 omitted
[337]2099
[374]2100module_eval(<<'.,.,', 'C_parser.y.rb', 417)
2101 def _reduce_129(val, _values, result)
[337]2102 result = val[1].merge val[0]
2103
2104 result
2105 end
2106.,.,
2107
[374]2108# reduce 130 omitted
2109
2110module_eval(<<'.,.,', 'C_parser.y.rb', 422)
2111 def _reduce_131(val, _values, result)
2112 val[1].set_qualifier val[0]
2113 result = val[1]
[337]2114
2115 result
2116 end
2117.,.,
2118
[374]2119module_eval(<<'.,.,', 'C_parser.y.rb', 427)
2120 def _reduce_132(val, _values, result)
2121 result = CIntType.new( -3 )
2122 result.set_qualifier val[0]
[337]2123
2124 result
2125 end
2126.,.,
2127
[374]2128module_eval(<<'.,.,', 'C_parser.y.rb', 433)
2129 def _reduce_133(val, _values, result)
[337]2130 result = [ val[0] ]
2131 result
2132 end
2133.,.,
2134
[374]2135module_eval(<<'.,.,', 'C_parser.y.rb', 435)
2136 def _reduce_134(val, _values, result)
[337]2137 result << val[2]
2138 result
2139 end
2140.,.,
2141
[374]2142# reduce 135 omitted
[337]2143
[374]2144# reduce 136 omitted
[337]2145
[374]2146# reduce 137 omitted
[337]2147
[374]2148# reduce 138 omitted
[337]2149
[374]2150module_eval(<<'.,.,', 'C_parser.y.rb', 452)
2151 def _reduce_139(val, _values, result)
[337]2152 set_no_type_name true
2153 result
2154 end
2155.,.,
2156
[374]2157# reduce 140 omitted
[337]2158
[374]2159# reduce 141 omitted
[337]2160
[374]2161# reduce 142 omitted
[337]2162
[374]2163# reduce 143 omitted
[337]2164
[374]2165# reduce 144 omitted
[337]2166
[374]2167# reduce 145 omitted
[337]2168
[374]2169# reduce 146 omitted
[337]2170
[374]2171# reduce 147 omitted
[337]2172
[374]2173# reduce 148 omitted
[337]2174
[374]2175# reduce 149 omitted
[337]2176
[374]2177# reduce 150 omitted
[337]2178
[374]2179# reduce 151 omitted
[337]2180
[374]2181# reduce 152 omitted
[337]2182
[374]2183# reduce 153 omitted
[337]2184
[374]2185# reduce 154 omitted
[337]2186
[374]2187# reduce 155 omitted
[337]2188
[374]2189# reduce 156 omitted
[337]2190
[374]2191# reduce 157 omitted
2192
2193# reduce 158 omitted
2194
2195# reduce 159 omitted
2196
2197# reduce 160 omitted
2198
2199# reduce 161 omitted
2200
2201# reduce 162 omitted
2202
2203module_eval(<<'.,.,', 'C_parser.y.rb', 495)
2204 def _reduce_163(val, _values, result)
[337]2205 result = :CONST
2206 result
2207 end
2208.,.,
2209
[374]2210# reduce 164 omitted
2211
2212module_eval(<<'.,.,', 'C_parser.y.rb', 498)
2213 def _reduce_165(val, _values, result)
[337]2214 result = :VOLATILE
2215 result
2216 end
2217.,.,
2218
[374]2219# reduce 166 omitted
2220
2221# reduce 167 omitted
2222
2223# reduce 168 omitted
2224
2225# reduce 169 omitted
2226
2227module_eval(<<'.,.,', 'C_parser.y.rb', 509)
2228 def _reduce_170(val, _values, result)
[337]2229 val[1].set_type( val[0] )
2230 result = val[1]
2231
2232 result
2233 end
2234.,.,
2235
[374]2236# reduce 171 omitted
[337]2237
[374]2238module_eval(<<'.,.,', 'C_parser.y.rb', 515)
2239 def _reduce_172(val, _values, result)
[337]2240 result = Decl.new( val[1].val )
2241 result.set_type( val[0] )
2242
2243 result
2244 end
2245.,.,
2246
[374]2247module_eval(<<'.,.,', 'C_parser.y.rb', 521)
2248 def _reduce_173(val, _values, result)
[337]2249 result = Decl.new( val[0].val )
2250 result
2251 end
2252.,.,
2253
[374]2254module_eval(<<'.,.,', 'C_parser.y.rb', 523)
2255 def _reduce_174(val, _values, result)
[337]2256 result = val[1]
2257 result
2258 end
2259.,.,
2260
[374]2261module_eval(<<'.,.,', 'C_parser.y.rb', 526)
2262 def _reduce_175(val, _values, result)
[337]2263 val[0].set_type( CArrayType.new( val[2] ) )
2264 result = val[0]
2265
2266 result
2267 end
2268.,.,
2269
[374]2270module_eval(<<'.,.,', 'C_parser.y.rb', 531)
2271 def _reduce_176(val, _values, result)
[337]2272 val[0].set_type( CArrayType.new )
2273 result = val[0]
2274
2275 result
2276 end
2277.,.,
2278
[374]2279module_eval(<<'.,.,', 'C_parser.y.rb', 536)
2280 def _reduce_177(val, _values, result)
[337]2281 # Generator.warning( "W6001 need 'void' for no parameter" )
2282 val[0].set_type( CFuncType.new )
2283 result = val[0]
2284
2285 result
2286 end
2287.,.,
2288
[374]2289# reduce 178 omitted
2290
2291module_eval(<<'.,.,', 'C_parser.y.rb', 543)
2292 def _reduce_179(val, _values, result)
[337]2293 # Generator.warning( "W6002 need 'void' for no parameter" )
2294 val[0].set_type( CFuncType.new )
2295 result = val[0]
2296
2297 result
2298 end
2299.,.,
2300
[374]2301module_eval(<<'.,.,', 'C_parser.y.rb', 550)
2302 def _reduce_180(val, _values, result)
[337]2303 result = CPtrType.new
2304 result
2305 end
2306.,.,
2307
[374]2308module_eval(<<'.,.,', 'C_parser.y.rb', 553)
2309 def _reduce_181(val, _values, result)
[337]2310 result = CPtrType.new
2311 result.set_qualifier( val[1] )
2312
2313 result
2314 end
2315.,.,
2316
[374]2317module_eval(<<'.,.,', 'C_parser.y.rb', 558)
2318 def _reduce_182(val, _values, result)
[337]2319 val[1].set_type(CPtrType.new)
2320 result = val[1]
2321
2322 result
2323 end
2324.,.,
2325
[374]2326module_eval(<<'.,.,', 'C_parser.y.rb', 563)
2327 def _reduce_183(val, _values, result)
[337]2328 ptrtype = CPtrType.new
2329 ptrtype.set_qualifier( val[1] )
2330 val[2].set_type( ptrtype )
2331 result = val[2]
2332
2333 result
2334 end
2335.,.,
2336
[374]2337# reduce 184 omitted
[337]2338
[374]2339# reduce 185 omitted
[337]2340
[374]2341# reduce 186 omitted
[337]2342
[374]2343# reduce 187 omitted
[337]2344
[374]2345# reduce 188 omitted
[337]2346
[374]2347# reduce 189 omitted
[337]2348
[374]2349# reduce 190 omitted
[337]2350
[374]2351# reduce 191 omitted
[337]2352
[374]2353# reduce 192 omitted
[337]2354
[374]2355# reduce 193 omitted
[337]2356
[374]2357# reduce 194 omitted
[337]2358
[374]2359# reduce 195 omitted
[337]2360
[374]2361# reduce 196 omitted
[337]2362
[374]2363# reduce 197 omitted
[337]2364
[374]2365# reduce 198 omitted
[337]2366
[374]2367# reduce 199 omitted
[337]2368
[374]2369# reduce 200 omitted
[337]2370
[374]2371# reduce 201 omitted
2372
2373# reduce 202 omitted
2374
2375# reduce 203 omitted
2376
2377# reduce 204 omitted
2378
2379module_eval(<<'.,.,', 'C_parser.y.rb', 630)
2380 def _reduce_205(val, _values, result)
[337]2381 Generator.warning( "W6003 need 'void' for no parameter" )
2382
2383 result
2384 end
2385.,.,
2386
[374]2387# reduce 206 omitted
[337]2388
[374]2389module_eval(<<'.,.,', 'C_parser.y.rb', 635)
2390 def _reduce_207(val, _values, result)
[337]2391 Generator.warning( "W6004 need 'void' for no parameter" )
2392
2393 result
2394 end
2395.,.,
2396
[374]2397# reduce 208 omitted
[337]2398
[374]2399module_eval(<<'.,.,', 'C_parser.y.rb', 642)
2400 def _reduce_209(val, _values, result)
[337]2401 result = val[0]
2402 result
2403 end
2404.,.,
2405
[374]2406module_eval(<<'.,.,', 'C_parser.y.rb', 644)
2407 def _reduce_210(val, _values, result)
[337]2408 result = val[1]
2409 result
2410 end
2411.,.,
2412
[374]2413module_eval(<<'.,.,', 'C_parser.y.rb', 646)
2414 def _reduce_211(val, _values, result)
[337]2415 result = val[1]
2416 result
2417 end
2418.,.,
2419
[374]2420module_eval(<<'.,.,', 'C_parser.y.rb', 648)
2421 def _reduce_212(val, _values, result)
[337]2422 result = C_EXP.new( val[2] )
2423 result
2424 end
2425.,.,
2426
[374]2427module_eval(<<'.,.,', 'C_parser.y.rb', 653)
2428 def _reduce_213(val, _values, result)
[337]2429 result = [ val[0] ]
2430
2431 result
2432 end
2433.,.,
2434
[374]2435module_eval(<<'.,.,', 'C_parser.y.rb', 657)
2436 def _reduce_214(val, _values, result)
[337]2437 val[0] << val[2]
2438 result = val[0]
2439
2440 result
2441 end
2442.,.,
2443
[374]2444# reduce 215 omitted
[337]2445
[374]2446# reduce 216 omitted
[337]2447
[374]2448# reduce 217 omitted
[337]2449
[374]2450# reduce 218 omitted
[337]2451
[374]2452# reduce 219 omitted
[337]2453
[374]2454# reduce 220 omitted
[337]2455
[374]2456# reduce 221 omitted
[337]2457
[374]2458# reduce 222 omitted
[337]2459
[374]2460# reduce 223 omitted
[337]2461
[374]2462# reduce 224 omitted
[337]2463
[374]2464# reduce 225 omitted
[337]2465
[374]2466module_eval(<<'.,.,', 'C_parser.y.rb', 685)
2467 def _reduce_226(val, _values, result)
[337]2468 val[2].each{ |i|
2469 i.set_kind( :TYPEDEF )
2470 }
2471 Typedef.new_decl_list( val[1], val[2] )
2472 # val[1].show_tree 0
2473
2474 result
2475 end
2476.,.,
2477
[374]2478module_eval(<<'.,.,', 'C_parser.y.rb', 694)
2479 def _reduce_227(val, _values, result)
[337]2480 result = [ val[0] ]
2481 result
2482 end
2483.,.,
2484
[374]2485module_eval(<<'.,.,', 'C_parser.y.rb', 696)
2486 def _reduce_228(val, _values, result)
[337]2487 result << val[2]
2488 result
2489 end
2490.,.,
2491
[374]2492# reduce 229 omitted
[337]2493
[374]2494# reduce 230 omitted
[337]2495
[374]2496# reduce 231 omitted
[337]2497
[374]2498# reduce 232 omitted
[337]2499
[374]2500# reduce 233 omitted
[337]2501
[374]2502# reduce 234 omitted
[337]2503
[374]2504# reduce 235 omitted
[337]2505
[374]2506# reduce 236 omitted
[337]2507
[374]2508# reduce 237 omitted
[337]2509
[374]2510# reduce 238 omitted
[337]2511
[374]2512# reduce 239 omitted
[337]2513
[374]2514# reduce 240 omitted
[337]2515
[374]2516# reduce 241 omitted
[337]2517
[374]2518# reduce 242 omitted
[337]2519
[374]2520# reduce 243 omitted
[337]2521
[374]2522# reduce 244 omitted
[337]2523
[374]2524# reduce 245 omitted
[337]2525
[374]2526# reduce 246 omitted
[337]2527
[374]2528# reduce 247 omitted
[337]2529
[374]2530# reduce 248 omitted
[337]2531
[374]2532# reduce 249 omitted
[337]2533
[374]2534# reduce 250 omitted
[337]2535
[374]2536# reduce 251 omitted
[337]2537
[374]2538# reduce 252 omitted
[337]2539
[374]2540# reduce 253 omitted
[337]2541
[374]2542# reduce 254 omitted
[337]2543
[374]2544# reduce 255 omitted
[337]2545
[374]2546# reduce 256 omitted
[337]2547
[374]2548# reduce 257 omitted
[337]2549
[374]2550# reduce 258 omitted
[337]2551
[374]2552# reduce 259 omitted
[337]2553
[374]2554# reduce 260 omitted
[337]2555
[374]2556# reduce 261 omitted
[337]2557
[374]2558# reduce 262 omitted
[337]2559
[374]2560# reduce 263 omitted
[337]2561
[374]2562# reduce 264 omitted
[337]2563
[374]2564module_eval(<<'.,.,', 'C_parser.y.rb', 761)
2565 def _reduce_265(val, _values, result)
[337]2566 result = NamespacePath.new( val[0].val, false )
2567 result
2568 end
2569.,.,
2570
[374]2571module_eval(<<'.,.,', 'C_parser.y.rb', 762)
2572 def _reduce_266(val, _values, result)
[337]2573 result = NamespacePath.new( val[1].val, true )
2574 result
2575 end
2576.,.,
2577
[374]2578module_eval(<<'.,.,', 'C_parser.y.rb', 764)
2579 def _reduce_267(val, _values, result)
[337]2580 result = val[0].append!( val[2].val )
2581 result
2582 end
2583.,.,
2584
[374]2585module_eval(<<'.,.,', 'C_parser.y.rb', 768)
2586 def _reduce_268(val, _values, result)
2587 while true
2588 # ';' が表れるまで、トークンを読み飛ばす。
2589 # gcc の構文拡張に対応すべきだが、単純な実装として、';' まで読み飛ばす。
2590 # トークン単位で読み飛ばしているので、文字列やコメント内の ';' は対象にならない。
2591 token = next_token
2592 if token[1].val == ";"
2593 break
2594 end
2595 # p "skip: #{token[1].val}"
2596 end
2597
2598 result
2599 end
2600.,.,
2601
[337]2602def _reduce_none(val, _values, result)
2603 val[0]
2604end
2605
2606end # class C_parser
2607
2608
Note: See TracBrowser for help on using the repository browser.