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

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

ASP3版ECNLを追加

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