source: azure_iot_hub/trunk/asp3_dcre/tecsgen/tecslib/core/C_parser.tab.rb@ 388

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

Azure IoT Hub Device C SDK を使ったサンプルの追加

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