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
Line 
1#
2# DO NOT MODIFY!!!!
3# This file is automatically generated by Racc 1.4.9
4# from Racc grammer file "".
5#
6
7require 'racc/parser.rb'
8class C_parser < Racc::Parser
9
10module_eval(<<'...end C_parser.y.rb/module_eval...', 'C_parser.y.rb', 784)
11
12 RESERVED = {
13 # keyword
14 'typedef' => :TYPEDEF,
15 'struct' => :STRUCT,
16 'union' => :UNION,
17 'sizeof' => :SIZEOF,
18 'throw' => :THROW,
19
20 # specifier
21 # types
22 'void' => :VOID,
23 'char' => :CHAR,
24 'short' => :SHORT,
25
26 'volatile'=> :VOLATILE,
27 'restrict'=> :RESTRICT,
28 'const' => :CONST,
29 'extern' => :EXTERN,
30
31 'long' => :LONG,
32 'float' => :FLOAT,
33 'double' => :DOUBLE,
34 'signed' => :SIGNED,
35 'unsigned'=> :UNSIGNED,
36
37 'int' => :INT,
38 'enum' => :ENUM,
39
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
62
63 }
64
65 @@generator_nest = -1
66 @@generator_stack = []
67 @@current_locale = []
68
69 def finalize
70
71 # mikan Namespace.pop
72 Celltype.pop
73 Cell.pop
74 CompositeCelltype.pop
75 Region.pop
76
77 end
78
79 def set_plugin( plugin )
80 @plugin = plugin
81 end
82
83 def self.get_plugin
84 @@generator_stack[@@generator_nest].get_plugin
85 end
86
87 def get_plugin
88 @plugin
89 end
90
91 def parse(files)
92
93 # mikan Namespace.push
94 Celltype.push
95 Cell.push
96 CompositeCelltype.push
97 Region.push
98
99 @@generator_nest += 1
100 @@generator_stack[@@generator_nest] = self
101 @b_no_type_name = false
102
103 begin
104
105 @q = []
106 comment = false
107# b_asm = false
108
109 # euc のコメントを utf8 として扱うと、コメントの終わりを誤る問題の対策
110 TECS_LANG::set_kcode_binary
111
112 # 800U, 0xffLL など (整数リテラルに共通の修飾子)
113 integer_qualifier = "([Uu][Ll][Ll]|[Uu][Ll]|[Uu]|[Ll][Ll]|[Ll])?"
114
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!
122
123 until line.empty?
124
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
183
184 line = $'
185 col += $&.length
186 end
187
188 lineno += 1
189 }
190
191 rescue => evar
192 Generator.error( "B1002 while open or reading \'$1\'" , file )
193 print_exception( evar )
194 end
195 }
196
197 # 終了の印
198 @q << nil
199
200 @yydebug = true
201 do_parse
202
203 ensure
204 @@generator_nest -= 1
205 TECS_LANG::reset_kcode
206 end
207
208 end
209
210
211 def next_token
212 token = @q.shift
213
214 if token then
215 @@current_locale[@@generator_nest] = token[1].locale
216
217 case token[1].val
218 when ";", ":", ",", "(", ")", "{", "}"
219 set_no_type_name false
220 when ".", "->"
221 set_no_type_name true
222 end
223
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]
229#print( "#{locale[0]}: line #{locale[1]} : #{token[0]} '#{token[1].val}: type_name'\n" )
230 end
231 end
232
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
242
243 token
244 end
245
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
252
253 end
254
255 def self.current_locale
256 @@current_locale[ @@generator_nest ]
257 end
258
259 @@n_error = 0
260 @@n_warning = 0
261 @@n_info = 0
262
263 # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でエラー発生は不適切)
264 def self.error( msg )
265 @@n_error += 1
266 locale = @@current_locale[ @@generator_nest ]
267
268 if locale then
269 Console.puts "#{locale[0]}:#{locale[1]}: error: #{msg}"
270 else
271 Console.puts "error: #{msg}"
272 end
273 end
274
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
281
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
288
289 def self.get_n_error
290 @@n_error
291 end
292
293 def self.get_n_warning
294 @@n_warning
295 end
296
297 def self.get_nest
298 @@generator_nest
299 end
300
301 def set_no_type_name b_no_type_name
302 locale = @@current_locale[ @@generator_nest ]
303#print "b_no_type_name=#{b_no_type_name} #{locale[0]}: line #{locale[1]}\n"
304 @b_no_type_name = b_no_type_name
305 end
306
307...end C_parser.y.rb/module_eval...
308##### State transition tables begin ###
309
310clist = [
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)
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 = [
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)
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 = [
613 nil, 732, 2528, 716, 182, 3068, 3043, 2752, 2993, nil,
614 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
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 ]
658
659racc_action_default = [
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 ]
705
706racc_goto_table = [
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,
735 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
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,
740 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
741 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
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 ]
746
747racc_goto_check = [
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,
776 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
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,
781 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
782 nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
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 ]
787
788racc_goto_pointer = [
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 ]
798
799racc_goto_default = [
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 ]
809
810racc_reduce_table = [
811 0, 0, :racc_error,
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,
823 1, 104, :_reduce_none,
824 4, 104, :_reduce_13,
825 3, 104, :_reduce_none,
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,
836 1, 110, :_reduce_none,
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,
848 1, 112, :_reduce_none,
849 4, 112, :_reduce_38,
850 1, 113, :_reduce_none,
851 3, 113, :_reduce_40,
852 3, 113, :_reduce_41,
853 3, 113, :_reduce_42,
854 1, 114, :_reduce_none,
855 3, 114, :_reduce_44,
856 3, 114, :_reduce_45,
857 1, 115, :_reduce_none,
858 3, 115, :_reduce_47,
859 3, 115, :_reduce_48,
860 1, 116, :_reduce_none,
861 3, 116, :_reduce_50,
862 3, 116, :_reduce_51,
863 3, 116, :_reduce_52,
864 3, 116, :_reduce_53,
865 1, 117, :_reduce_none,
866 3, 117, :_reduce_55,
867 3, 117, :_reduce_56,
868 1, 118, :_reduce_none,
869 3, 118, :_reduce_58,
870 1, 119, :_reduce_none,
871 3, 119, :_reduce_60,
872 1, 120, :_reduce_none,
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,
878 1, 123, :_reduce_none,
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,
899 1, 127, :_reduce_none,
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,
933 1, 140, :_reduce_none,
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,
946 1, 146, :_reduce_none,
947 5, 136, :_reduce_none,
948 4, 136, :_reduce_none,
949 2, 136, :_reduce_none,
950 1, 147, :_reduce_139,
951 1, 149, :_reduce_none,
952 2, 149, :_reduce_none,
953 1, 148, :_reduce_none,
954 3, 150, :_reduce_none,
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,
970 1, 153, :_reduce_none,
971 3, 153, :_reduce_none,
972 1, 154, :_reduce_none,
973 3, 154, :_reduce_none,
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,
995 1, 159, :_reduce_none,
996 2, 159, :_reduce_none,
997 1, 157, :_reduce_none,
998 5, 157, :_reduce_none,
999 1, 160, :_reduce_none,
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,
1032 2, 165, :_reduce_none,
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 ]
1080
1081racc_reduce_n = 269
1082
1083racc_shift_n = 447
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,
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 }
1183
1184racc_nt_base = 97
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 "\"--\"",
1222 "\"{\"",
1223 "\"}\"",
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 "\":\"",
1248 "\"=\"",
1249 "\"+=\"",
1250 "\"-=\"",
1251 "\"*=\"",
1252 "\"/=\"",
1253 "\"%=\"",
1254 "\"<<=\"",
1255 "\">>=\"",
1256 "\"&=\"",
1257 "\"|=\"",
1258 "\"^=\"",
1259 "\";\"",
1260 "EXTERN",
1261 "STATIC",
1262 "AUTO",
1263 "REGISTER",
1264 "VOID",
1265 "CHAR",
1266 "SHORT",
1267 "INT",
1268 "LONG",
1269 "FLOAT",
1270 "DOUBLE",
1271 "SIGNED",
1272 "UNSIGNED",
1273 "BOOL",
1274 "TYPE_NAME",
1275 "STRUCT",
1276 "UNION",
1277 "ENUM",
1278 "CONST",
1279 "RESTRICT",
1280 "VOLATILE",
1281 "__INLINE__",
1282 "INLINE",
1283 "__INLINE",
1284 "CINLINE",
1285 "C_EXP",
1286 "EXTENSION",
1287 "TYPEDEF",
1288 "CASE",
1289 "DEFAULT",
1290 "IF",
1291 "ELSE",
1292 "SWITCH",
1293 "WHILE",
1294 "DO",
1295 "FOR",
1296 "GOTO",
1297 "CONTINUE",
1298 "BREAK",
1299 "RETURN",
1300 "\"::\"",
1301 "_ASM",
1302 "$start",
1303 "all",
1304 "C_parser",
1305 "primary_expression",
1306 "namespace_identifier",
1307 "string_literal_list",
1308 "expression",
1309 "postfix_expression",
1310 "argument_expression_list",
1311 "type_qualifier",
1312 "type_name",
1313 "initializer_list",
1314 "assignment_expression",
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",
1329 "assignment_operator",
1330 "constant_expression",
1331 "declaration",
1332 "declaration_specifiers",
1333 "init_declarator_list",
1334 "storage_class_specifier",
1335 "type_specifier",
1336 "function_specifier",
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",
1350 "specifier_qualifier_list",
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",
1363 "identifier_list",
1364 "type_qualifier_list",
1365 "parameter_list",
1366 "parameter_declaration",
1367 "abstract_declarator",
1368 "direct_abstract_declarator",
1369 "extension_statement",
1370 "cdl_statement",
1371 "typedef",
1372 "func_def",
1373 "declarator_list",
1374 "compound_statement",
1375 "statement",
1376 "labeled_statement",
1377 "expression_statement",
1378 "ifstatement",
1379 "whilestatement",
1380 "dowhilestatement",
1381 "forstatement",
1382 "switchstatement",
1383 "jump_statement",
1384 "asm_statement",
1385 "block_item_list",
1386 "block_item" ]
1387
1388Racc_debug_parser = false
1389
1390##### State transition tables end #####
1391
1392# reduce 0 omitted
1393
1394# reduce 1 omitted
1395
1396module_eval(<<'.,.,', 'C_parser.y.rb', 57)
1397 def _reduce_2(val, _values, result)
1398 result = [ :IDENTIFIER, val[0] ]
1399 result
1400 end
1401.,.,
1402
1403module_eval(<<'.,.,', 'C_parser.y.rb', 65)
1404 def _reduce_3(val, _values, result)
1405 result = [ :INTEGER_CONSTANT, val[0] ]
1406 result
1407 end
1408.,.,
1409
1410module_eval(<<'.,.,', 'C_parser.y.rb', 67)
1411 def _reduce_4(val, _values, result)
1412 result = [ :FLOATING_CONSTANT, val[0] ]
1413 result
1414 end
1415.,.,
1416
1417module_eval(<<'.,.,', 'C_parser.y.rb', 69)
1418 def _reduce_5(val, _values, result)
1419 result = [ :OCTAL_CONSTANT, val[0] ]
1420 result
1421 end
1422.,.,
1423
1424module_eval(<<'.,.,', 'C_parser.y.rb', 71)
1425 def _reduce_6(val, _values, result)
1426 result = [ :HEX_CONSTANT, val[0] ]
1427 result
1428 end
1429.,.,
1430
1431module_eval(<<'.,.,', 'C_parser.y.rb', 73)
1432 def _reduce_7(val, _values, result)
1433 result = [ :CHARACTER_LITERAL, val[0] ]
1434 result
1435 end
1436.,.,
1437
1438module_eval(<<'.,.,', 'C_parser.y.rb', 75)
1439 def _reduce_8(val, _values, result)
1440 result = [ :STRING_LITERAL_LIST, val[0] ]
1441 result
1442 end
1443.,.,
1444
1445module_eval(<<'.,.,', 'C_parser.y.rb', 77)
1446 def _reduce_9(val, _values, result)
1447 result = [ :PARENTHESES, val[1].get_elements ]
1448 result
1449 end
1450.,.,
1451
1452module_eval(<<'.,.,', 'C_parser.y.rb', 81)
1453 def _reduce_10(val, _values, result)
1454 result = [val[0]]
1455 result
1456 end
1457.,.,
1458
1459module_eval(<<'.,.,', 'C_parser.y.rb', 83)
1460 def _reduce_11(val, _values, result)
1461 result << val[1]
1462 result
1463 end
1464.,.,
1465
1466# reduce 12 omitted
1467
1468module_eval(<<'.,.,', 'C_parser.y.rb', 89)
1469 def _reduce_13(val, _values, result)
1470 result = [ :OP_SUBSC, val[0], val[2] ]
1471 result
1472 end
1473.,.,
1474
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)
1483 result = [ :OP_DOT, val[0], val[2] ]
1484 result
1485 end
1486.,.,
1487
1488module_eval(<<'.,.,', 'C_parser.y.rb', 96)
1489 def _reduce_18(val, _values, result)
1490 result = [ :OP_REF, val[0], val[2] ]
1491 result
1492 end
1493.,.,
1494
1495module_eval(<<'.,.,', 'C_parser.y.rb', 97)
1496 def _reduce_19(val, _values, result)
1497 result = val[0]
1498 result
1499 end
1500.,.,
1501
1502module_eval(<<'.,.,', 'C_parser.y.rb', 98)
1503 def _reduce_20(val, _values, result)
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
1515# reduce 24 omitted
1516
1517# reduce 25 omitted
1518
1519module_eval(<<'.,.,', 'C_parser.y.rb', 111)
1520 def _reduce_26(val, _values, result)
1521 result = [ val[0], val[1] ]
1522 result
1523 end
1524.,.,
1525
1526module_eval(<<'.,.,', 'C_parser.y.rb', 113)
1527 def _reduce_27(val, _values, result)
1528 result = [ :OP_SIZEOF_EXPR, val[1] ]
1529 result
1530 end
1531.,.,
1532
1533module_eval(<<'.,.,', 'C_parser.y.rb', 115)
1534 def _reduce_28(val, _values, result)
1535 result = [ :OP_SIZEOF_TYPE, val[1] ]
1536 result
1537 end
1538.,.,
1539
1540module_eval(<<'.,.,', 'C_parser.y.rb', 116)
1541 def _reduce_29(val, _values, result)
1542 result = val[1]
1543 result
1544 end
1545.,.,
1546
1547module_eval(<<'.,.,', 'C_parser.y.rb', 117)
1548 def _reduce_30(val, _values, result)
1549 result = val[1]
1550 result
1551 end
1552.,.,
1553
1554module_eval(<<'.,.,', 'C_parser.y.rb', 120)
1555 def _reduce_31(val, _values, result)
1556 result = :OP_U_AMP
1557 result
1558 end
1559.,.,
1560
1561module_eval(<<'.,.,', 'C_parser.y.rb', 121)
1562 def _reduce_32(val, _values, result)
1563 result = :OP_U_ASTER
1564 result
1565 end
1566.,.,
1567
1568module_eval(<<'.,.,', 'C_parser.y.rb', 122)
1569 def _reduce_33(val, _values, result)
1570 result = :OP_U_PLUS
1571 result
1572 end
1573.,.,
1574
1575module_eval(<<'.,.,', 'C_parser.y.rb', 123)
1576 def _reduce_34(val, _values, result)
1577 result = :OP_U_MINUS
1578 result
1579 end
1580.,.,
1581
1582module_eval(<<'.,.,', 'C_parser.y.rb', 124)
1583 def _reduce_35(val, _values, result)
1584 result = :OP_U_TILDE
1585 result
1586 end
1587.,.,
1588
1589module_eval(<<'.,.,', 'C_parser.y.rb', 125)
1590 def _reduce_36(val, _values, result)
1591 result = :OP_U_EXCLAM
1592 result
1593 end
1594.,.,
1595
1596# reduce 37 omitted
1597
1598module_eval(<<'.,.,', 'C_parser.y.rb', 130)
1599 def _reduce_38(val, _values, result)
1600 result = [ :CAST, val[1], val[3] ]
1601 result
1602 end
1603.,.,
1604
1605# reduce 39 omitted
1606
1607module_eval(<<'.,.,', 'C_parser.y.rb', 135)
1608 def _reduce_40(val, _values, result)
1609 result = [ :OP_MULT, val[0], val[2] ]
1610 result
1611 end
1612.,.,
1613
1614module_eval(<<'.,.,', 'C_parser.y.rb', 137)
1615 def _reduce_41(val, _values, result)
1616 result = [ :OP_DIV, val[0], val[2] ]
1617 result
1618 end
1619.,.,
1620
1621module_eval(<<'.,.,', 'C_parser.y.rb', 139)
1622 def _reduce_42(val, _values, result)
1623 result = [ :OP_REMAIN, val[0], val[2] ]
1624 result
1625 end
1626.,.,
1627
1628# reduce 43 omitted
1629
1630module_eval(<<'.,.,', 'C_parser.y.rb', 144)
1631 def _reduce_44(val, _values, result)
1632 result = [ :OP_ADD, val[0], val[2] ]
1633 result
1634 end
1635.,.,
1636
1637module_eval(<<'.,.,', 'C_parser.y.rb', 146)
1638 def _reduce_45(val, _values, result)
1639 result = [ :OP_SUB, val[0], val[2] ]
1640 result
1641 end
1642.,.,
1643
1644# reduce 46 omitted
1645
1646module_eval(<<'.,.,', 'C_parser.y.rb', 151)
1647 def _reduce_47(val, _values, result)
1648 result = [ :OP_LSFT, val[0], val[2] ]
1649 result
1650 end
1651.,.,
1652
1653module_eval(<<'.,.,', 'C_parser.y.rb', 153)
1654 def _reduce_48(val, _values, result)
1655 result = [ :OP_RSFT, val[0], val[2] ]
1656 result
1657 end
1658.,.,
1659
1660# reduce 49 omitted
1661
1662module_eval(<<'.,.,', 'C_parser.y.rb', 158)
1663 def _reduce_50(val, _values, result)
1664 result = [ :OP_LT, val[0], val[2] ]
1665 result
1666 end
1667.,.,
1668
1669module_eval(<<'.,.,', 'C_parser.y.rb', 160)
1670 def _reduce_51(val, _values, result)
1671 result = [ :OP_GT, val[0], val[2] ]
1672 result
1673 end
1674.,.,
1675
1676module_eval(<<'.,.,', 'C_parser.y.rb', 162)
1677 def _reduce_52(val, _values, result)
1678 result = [ :OP_LE, val[0], val[2] ]
1679 result
1680 end
1681.,.,
1682
1683module_eval(<<'.,.,', 'C_parser.y.rb', 164)
1684 def _reduce_53(val, _values, result)
1685 result = [ :OP_GE, val[0], val[2] ]
1686 result
1687 end
1688.,.,
1689
1690# reduce 54 omitted
1691
1692module_eval(<<'.,.,', 'C_parser.y.rb', 169)
1693 def _reduce_55(val, _values, result)
1694 result = [ :OP_EQ, val[0], val[2] ]
1695 result
1696 end
1697.,.,
1698
1699module_eval(<<'.,.,', 'C_parser.y.rb', 171)
1700 def _reduce_56(val, _values, result)
1701 result = [ :OP_NE, val[0], val[2] ]
1702 result
1703 end
1704.,.,
1705
1706# reduce 57 omitted
1707
1708module_eval(<<'.,.,', 'C_parser.y.rb', 176)
1709 def _reduce_58(val, _values, result)
1710 result = [ :OP_AND, val[0], val[2] ]
1711 result
1712 end
1713.,.,
1714
1715# reduce 59 omitted
1716
1717module_eval(<<'.,.,', 'C_parser.y.rb', 181)
1718 def _reduce_60(val, _values, result)
1719 result = [ :OP_EOR, val[0], val[2] ]
1720 result
1721 end
1722.,.,
1723
1724# reduce 61 omitted
1725
1726module_eval(<<'.,.,', 'C_parser.y.rb', 186)
1727 def _reduce_62(val, _values, result)
1728 result = [ :OP_OR, val[0], val[2] ]
1729 result
1730 end
1731.,.,
1732
1733# reduce 63 omitted
1734
1735module_eval(<<'.,.,', 'C_parser.y.rb', 191)
1736 def _reduce_64(val, _values, result)
1737 result = [ :OP_LAND, val[0], val[2] ]
1738 result
1739 end
1740.,.,
1741
1742# reduce 65 omitted
1743
1744module_eval(<<'.,.,', 'C_parser.y.rb', 196)
1745 def _reduce_66(val, _values, result)
1746 result = [ :OP_LOR, val[0], val[2] ]
1747 result
1748 end
1749.,.,
1750
1751# reduce 67 omitted
1752
1753module_eval(<<'.,.,', 'C_parser.y.rb', 201)
1754 def _reduce_68(val, _values, result)
1755 result = [ :OP_CEX, val[0], val[2].get_elements, val[4] ]
1756 result
1757 end
1758.,.,
1759
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)
1788 result = Expression.new( val[0] )
1789 # result.print
1790
1791 result
1792 end
1793.,.,
1794
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)
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
1819# reduce 85 omitted
1820
1821module_eval(<<'.,.,', 'C_parser.y.rb', 261)
1822 def _reduce_86(val, _values, result)
1823 result = CIntType.new( -3 ) # storage class は無視
1824
1825 result
1826 end
1827.,.,
1828
1829module_eval(<<'.,.,', 'C_parser.y.rb', 265)
1830 def _reduce_87(val, _values, result)
1831 result = val[1] # storage class は無視
1832
1833 result
1834 end
1835.,.,
1836
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]
1842
1843 result
1844 end
1845.,.,
1846
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]
1851
1852 result
1853 end
1854.,.,
1855
1856module_eval(<<'.,.,', 'C_parser.y.rb', 279)
1857 def _reduce_91(val, _values, result)
1858 val[1].set_qualifier val[0]
1859 result = val[1]
1860
1861 result
1862 end
1863.,.,
1864
1865# reduce 92 omitted
1866
1867# reduce 93 omitted
1868
1869module_eval(<<'.,.,', 'C_parser.y.rb', 287)
1870 def _reduce_94(val, _values, result)
1871 result = [val[0]]
1872 result
1873 end
1874.,.,
1875
1876module_eval(<<'.,.,', 'C_parser.y.rb', 289)
1877 def _reduce_95(val, _values, result)
1878 result << val[2]
1879 result
1880 end
1881.,.,
1882
1883# reduce 96 omitted
1884
1885module_eval(<<'.,.,', 'C_parser.y.rb', 294)
1886 def _reduce_97(val, _values, result)
1887 val[0].set_initializer( val[2] )
1888 result
1889 end
1890.,.,
1891
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)
1902 set_no_type_name true; result = CVoidType.new
1903 result
1904 end
1905.,.,
1906
1907module_eval(<<'.,.,', 'C_parser.y.rb', 306)
1908 def _reduce_103(val, _values, result)
1909 set_no_type_name true; result = CIntType.new(-11 )
1910 result
1911 end
1912.,.,
1913
1914module_eval(<<'.,.,', 'C_parser.y.rb', 308)
1915 def _reduce_104(val, _values, result)
1916 set_no_type_name true; result = CIntType.new( -2 )
1917 result
1918 end
1919.,.,
1920
1921module_eval(<<'.,.,', 'C_parser.y.rb', 310)
1922 def _reduce_105(val, _values, result)
1923 set_no_type_name true; result = CIntType.new( -3 )
1924 result
1925 end
1926.,.,
1927
1928module_eval(<<'.,.,', 'C_parser.y.rb', 312)
1929 def _reduce_106(val, _values, result)
1930 set_no_type_name true; result = CIntType.new( -4 )
1931 result
1932 end
1933.,.,
1934
1935module_eval(<<'.,.,', 'C_parser.y.rb', 314)
1936 def _reduce_107(val, _values, result)
1937 set_no_type_name true; result = CFloatType.new(-32)
1938 result
1939 end
1940.,.,
1941
1942module_eval(<<'.,.,', 'C_parser.y.rb', 316)
1943 def _reduce_108(val, _values, result)
1944 set_no_type_name true; result = CFloatType.new(-64)
1945 result
1946 end
1947.,.,
1948
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
1955 result
1956 end
1957.,.,
1958
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
1965 result
1966 end
1967.,.,
1968
1969module_eval(<<'.,.,', 'C_parser.y.rb', 330)
1970 def _reduce_111(val, _values, result)
1971 set_no_type_name true; result = CBoolType.new
1972 result
1973 end
1974.,.,
1975
1976module_eval(<<'.,.,', 'C_parser.y.rb', 332)
1977 def _reduce_112(val, _values, result)
1978 set_no_type_name true; result = val[0]
1979 result
1980 end
1981.,.,
1982
1983module_eval(<<'.,.,', 'C_parser.y.rb', 334)
1984 def _reduce_113(val, _values, result)
1985 set_no_type_name true; result = CVoidType.new
1986 result
1987 end
1988.,.,
1989
1990module_eval(<<'.,.,', 'C_parser.y.rb', 336)
1991 def _reduce_114(val, _values, result)
1992 set_no_type_name true; result = CVoidType.new
1993 result
1994 end
1995.,.,
1996
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 )
2000 result
2001 end
2002.,.,
2003
2004module_eval(<<'.,.,', 'C_parser.y.rb', 344)
2005 def _reduce_116(val, _values, result)
2006 StructType.set_define( true )
2007 result
2008 end
2009.,.,
2010
2011module_eval(<<'.,.,', 'C_parser.y.rb', 347)
2012 def _reduce_117(val, _values, result)
2013 StructType.end_of_parse
2014 result = val[1]
2015
2016 result
2017 end
2018.,.,
2019
2020module_eval(<<'.,.,', 'C_parser.y.rb', 353)
2021 def _reduce_118(val, _values, result)
2022 result = CStructType.new()
2023 StructType.set_define( true )
2024
2025 result
2026 end
2027.,.,
2028
2029module_eval(<<'.,.,', 'C_parser.y.rb', 358)
2030 def _reduce_119(val, _values, result)
2031 StructType.end_of_parse
2032 result = val[1]
2033
2034 result
2035 end
2036.,.,
2037
2038module_eval(<<'.,.,', 'C_parser.y.rb', 364)
2039 def _reduce_120(val, _values, result)
2040 StructType.set_define( false )
2041 StructType.end_of_parse
2042 result = val[1]
2043
2044 result
2045 end
2046.,.,
2047
2048module_eval(<<'.,.,', 'C_parser.y.rb', 370)
2049 def _reduce_121(val, _values, result)
2050 set_no_type_name true
2051 result
2052 end
2053.,.,
2054
2055# reduce 122 omitted
2056
2057# reduce 123 omitted
2058
2059module_eval(<<'.,.,', 'C_parser.y.rb', 379)
2060 def _reduce_124(val, _values, result)
2061 result = CStructType.new( val[0].val )
2062 set_no_type_name true
2063
2064 result
2065 end
2066.,.,
2067
2068module_eval(<<'.,.,', 'C_parser.y.rb', 388)
2069 def _reduce_125(val, _values, result)
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
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.,.,
2095
2096# reduce 127 omitted
2097
2098# reduce 128 omitted
2099
2100module_eval(<<'.,.,', 'C_parser.y.rb', 417)
2101 def _reduce_129(val, _values, result)
2102 result = val[1].merge val[0]
2103
2104 result
2105 end
2106.,.,
2107
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]
2114
2115 result
2116 end
2117.,.,
2118
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]
2123
2124 result
2125 end
2126.,.,
2127
2128module_eval(<<'.,.,', 'C_parser.y.rb', 433)
2129 def _reduce_133(val, _values, result)
2130 result = [ val[0] ]
2131 result
2132 end
2133.,.,
2134
2135module_eval(<<'.,.,', 'C_parser.y.rb', 435)
2136 def _reduce_134(val, _values, result)
2137 result << val[2]
2138 result
2139 end
2140.,.,
2141
2142# reduce 135 omitted
2143
2144# reduce 136 omitted
2145
2146# reduce 137 omitted
2147
2148# reduce 138 omitted
2149
2150module_eval(<<'.,.,', 'C_parser.y.rb', 452)
2151 def _reduce_139(val, _values, result)
2152 set_no_type_name true
2153 result
2154 end
2155.,.,
2156
2157# reduce 140 omitted
2158
2159# reduce 141 omitted
2160
2161# reduce 142 omitted
2162
2163# reduce 143 omitted
2164
2165# reduce 144 omitted
2166
2167# reduce 145 omitted
2168
2169# reduce 146 omitted
2170
2171# reduce 147 omitted
2172
2173# reduce 148 omitted
2174
2175# reduce 149 omitted
2176
2177# reduce 150 omitted
2178
2179# reduce 151 omitted
2180
2181# reduce 152 omitted
2182
2183# reduce 153 omitted
2184
2185# reduce 154 omitted
2186
2187# reduce 155 omitted
2188
2189# reduce 156 omitted
2190
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)
2205 result = :CONST
2206 result
2207 end
2208.,.,
2209
2210# reduce 164 omitted
2211
2212module_eval(<<'.,.,', 'C_parser.y.rb', 498)
2213 def _reduce_165(val, _values, result)
2214 result = :VOLATILE
2215 result
2216 end
2217.,.,
2218
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)
2229 val[1].set_type( val[0] )
2230 result = val[1]
2231
2232 result
2233 end
2234.,.,
2235
2236# reduce 171 omitted
2237
2238module_eval(<<'.,.,', 'C_parser.y.rb', 515)
2239 def _reduce_172(val, _values, result)
2240 result = Decl.new( val[1].val )
2241 result.set_type( val[0] )
2242
2243 result
2244 end
2245.,.,
2246
2247module_eval(<<'.,.,', 'C_parser.y.rb', 521)
2248 def _reduce_173(val, _values, result)
2249 result = Decl.new( val[0].val )
2250 result
2251 end
2252.,.,
2253
2254module_eval(<<'.,.,', 'C_parser.y.rb', 523)
2255 def _reduce_174(val, _values, result)
2256 result = val[1]
2257 result
2258 end
2259.,.,
2260
2261module_eval(<<'.,.,', 'C_parser.y.rb', 526)
2262 def _reduce_175(val, _values, result)
2263 val[0].set_type( CArrayType.new( val[2] ) )
2264 result = val[0]
2265
2266 result
2267 end
2268.,.,
2269
2270module_eval(<<'.,.,', 'C_parser.y.rb', 531)
2271 def _reduce_176(val, _values, result)
2272 val[0].set_type( CArrayType.new )
2273 result = val[0]
2274
2275 result
2276 end
2277.,.,
2278
2279module_eval(<<'.,.,', 'C_parser.y.rb', 536)
2280 def _reduce_177(val, _values, result)
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
2289# reduce 178 omitted
2290
2291module_eval(<<'.,.,', 'C_parser.y.rb', 543)
2292 def _reduce_179(val, _values, result)
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
2301module_eval(<<'.,.,', 'C_parser.y.rb', 550)
2302 def _reduce_180(val, _values, result)
2303 result = CPtrType.new
2304 result
2305 end
2306.,.,
2307
2308module_eval(<<'.,.,', 'C_parser.y.rb', 553)
2309 def _reduce_181(val, _values, result)
2310 result = CPtrType.new
2311 result.set_qualifier( val[1] )
2312
2313 result
2314 end
2315.,.,
2316
2317module_eval(<<'.,.,', 'C_parser.y.rb', 558)
2318 def _reduce_182(val, _values, result)
2319 val[1].set_type(CPtrType.new)
2320 result = val[1]
2321
2322 result
2323 end
2324.,.,
2325
2326module_eval(<<'.,.,', 'C_parser.y.rb', 563)
2327 def _reduce_183(val, _values, result)
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
2337# reduce 184 omitted
2338
2339# reduce 185 omitted
2340
2341# reduce 186 omitted
2342
2343# reduce 187 omitted
2344
2345# reduce 188 omitted
2346
2347# reduce 189 omitted
2348
2349# reduce 190 omitted
2350
2351# reduce 191 omitted
2352
2353# reduce 192 omitted
2354
2355# reduce 193 omitted
2356
2357# reduce 194 omitted
2358
2359# reduce 195 omitted
2360
2361# reduce 196 omitted
2362
2363# reduce 197 omitted
2364
2365# reduce 198 omitted
2366
2367# reduce 199 omitted
2368
2369# reduce 200 omitted
2370
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)
2381 Generator.warning( "W6003 need 'void' for no parameter" )
2382
2383 result
2384 end
2385.,.,
2386
2387# reduce 206 omitted
2388
2389module_eval(<<'.,.,', 'C_parser.y.rb', 635)
2390 def _reduce_207(val, _values, result)
2391 Generator.warning( "W6004 need 'void' for no parameter" )
2392
2393 result
2394 end
2395.,.,
2396
2397# reduce 208 omitted
2398
2399module_eval(<<'.,.,', 'C_parser.y.rb', 642)
2400 def _reduce_209(val, _values, result)
2401 result = val[0]
2402 result
2403 end
2404.,.,
2405
2406module_eval(<<'.,.,', 'C_parser.y.rb', 644)
2407 def _reduce_210(val, _values, result)
2408 result = val[1]
2409 result
2410 end
2411.,.,
2412
2413module_eval(<<'.,.,', 'C_parser.y.rb', 646)
2414 def _reduce_211(val, _values, result)
2415 result = val[1]
2416 result
2417 end
2418.,.,
2419
2420module_eval(<<'.,.,', 'C_parser.y.rb', 648)
2421 def _reduce_212(val, _values, result)
2422 result = C_EXP.new( val[2] )
2423 result
2424 end
2425.,.,
2426
2427module_eval(<<'.,.,', 'C_parser.y.rb', 653)
2428 def _reduce_213(val, _values, result)
2429 result = [ val[0] ]
2430
2431 result
2432 end
2433.,.,
2434
2435module_eval(<<'.,.,', 'C_parser.y.rb', 657)
2436 def _reduce_214(val, _values, result)
2437 val[0] << val[2]
2438 result = val[0]
2439
2440 result
2441 end
2442.,.,
2443
2444# reduce 215 omitted
2445
2446# reduce 216 omitted
2447
2448# reduce 217 omitted
2449
2450# reduce 218 omitted
2451
2452# reduce 219 omitted
2453
2454# reduce 220 omitted
2455
2456# reduce 221 omitted
2457
2458# reduce 222 omitted
2459
2460# reduce 223 omitted
2461
2462# reduce 224 omitted
2463
2464# reduce 225 omitted
2465
2466module_eval(<<'.,.,', 'C_parser.y.rb', 685)
2467 def _reduce_226(val, _values, result)
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
2478module_eval(<<'.,.,', 'C_parser.y.rb', 694)
2479 def _reduce_227(val, _values, result)
2480 result = [ val[0] ]
2481 result
2482 end
2483.,.,
2484
2485module_eval(<<'.,.,', 'C_parser.y.rb', 696)
2486 def _reduce_228(val, _values, result)
2487 result << val[2]
2488 result
2489 end
2490.,.,
2491
2492# reduce 229 omitted
2493
2494# reduce 230 omitted
2495
2496# reduce 231 omitted
2497
2498# reduce 232 omitted
2499
2500# reduce 233 omitted
2501
2502# reduce 234 omitted
2503
2504# reduce 235 omitted
2505
2506# reduce 236 omitted
2507
2508# reduce 237 omitted
2509
2510# reduce 238 omitted
2511
2512# reduce 239 omitted
2513
2514# reduce 240 omitted
2515
2516# reduce 241 omitted
2517
2518# reduce 242 omitted
2519
2520# reduce 243 omitted
2521
2522# reduce 244 omitted
2523
2524# reduce 245 omitted
2525
2526# reduce 246 omitted
2527
2528# reduce 247 omitted
2529
2530# reduce 248 omitted
2531
2532# reduce 249 omitted
2533
2534# reduce 250 omitted
2535
2536# reduce 251 omitted
2537
2538# reduce 252 omitted
2539
2540# reduce 253 omitted
2541
2542# reduce 254 omitted
2543
2544# reduce 255 omitted
2545
2546# reduce 256 omitted
2547
2548# reduce 257 omitted
2549
2550# reduce 258 omitted
2551
2552# reduce 259 omitted
2553
2554# reduce 260 omitted
2555
2556# reduce 261 omitted
2557
2558# reduce 262 omitted
2559
2560# reduce 263 omitted
2561
2562# reduce 264 omitted
2563
2564module_eval(<<'.,.,', 'C_parser.y.rb', 761)
2565 def _reduce_265(val, _values, result)
2566 result = NamespacePath.new( val[0].val, false )
2567 result
2568 end
2569.,.,
2570
2571module_eval(<<'.,.,', 'C_parser.y.rb', 762)
2572 def _reduce_266(val, _values, result)
2573 result = NamespacePath.new( val[1].val, true )
2574 result
2575 end
2576.,.,
2577
2578module_eval(<<'.,.,', 'C_parser.y.rb', 764)
2579 def _reduce_267(val, _values, result)
2580 result = val[0].append!( val[2].val )
2581 result
2582 end
2583.,.,
2584
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
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.