source: EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/core/C_parser.tab.rb@ 321

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

文字コードを設定

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