# # DO NOT MODIFY!!!! # This file is automatically generated by Racc 1.4.14 # from Racc grammer file "". # require 'racc/parser.rb' class C_parser < Racc::Parser module_eval(<<'...end C_parser.y.rb/module_eval...', 'C_parser.y.rb', 727) RESERVED = { # keyword 'typedef' => :TYPEDEF, 'struct' => :STRUCT, 'union' => :UNION, 'sizeof' => :SIZEOF, 'throw' => :THROW, # specifier # types 'void' => :VOID, 'char' => :CHAR, 'short' => :SHORT, 'volatile'=> :VOLATILE, 'const' => :CONST, 'extern' => :EXTERN, 'long' => :LONG, 'float' => :FLOAT, 'double' => :DOUBLE, 'signed' => :SIGNED, 'unsigned'=> :UNSIGNED, 'int' => :INT, 'enum' => :ENUM, 'if' => :IF, 'else' => :ELSE, 'while' => :WHILE, 'do' => :DO, 'for' => :FOR, 'case' => :CASE, 'default' => :DEFAULT, 'goto' => :GOTO, 'continue' => :CONTINUE, 'break' => :BREAK, 'return' => :RETURN, '__inline__' => :__INLINE__, 'inline' => :INLINE, '__inline' => :__INLINE, 'Inline' => :CINLINE, # inline starting with Capital letter 'static' => :STATIC, 'register' => :REGISTER, 'auto' => :AUTO, '__extension__' => :EXTENSION, } @@generator_nest = -1 @@generator_stack = [] @@current_locale = [] def finalize # mikan Namespace.pop Celltype.pop Cell.pop CompositeCelltype.pop Region.pop end def set_plugin( plugin ) @plugin = plugin end def self.get_plugin @@generator_stack[@@generator_nest].get_plugin end def get_plugin @plugin end def parse(files) # mikan Namespace.push Celltype.push Cell.push CompositeCelltype.push Region.push @@generator_nest += 1 @@generator_stack[@@generator_nest] = self @b_no_type_name = false begin @q = [] comment = false # euc のコメントを utf8 として扱うと、コメントの終わりを誤る問題の対策 TECS_LANG::set_kcode_binary # 800U, 0xffLL など (整数リテラルに共通の修飾子) integer_qualifier = "([Uu][Ll][Ll]|[Uu][Ll]|[Uu]|[Ll][Ll]|[Ll])?" files.each {|file| lineno = 1 begin #2.0 IO.foreach(file) {|line| TECSIO.foreach(file) {|line| col = 1 line.rstrip! until line.empty? if comment case line # コメント終了 when /\A\*\// comment = false when /\A./ ; end else case line # 空白、プリプロセスディレクティブ when /\A\s+/ ; # 識別子 when /\A[a-zA-Z_]\w*/ word = $& @q << [RESERVED[word] || :IDENTIFIER, Token.new(word.intern, file, lineno, col)] # 16 進数定数 when /\A0x[0-9A-Fa-f]+#{integer_qualifier}/ @q << [:HEX_CONSTANT, Token.new($&, file, lineno, col)] # 8 進数定数 when /\A0[0-7]+#{integer_qualifier}/ @q << [:OCTAL_CONSTANT, Token.new($&, file, lineno, col)] # 浮動小数定数 when /\A[0-9]+\.([0-9]*)?([Ee][+-]?[0-9]+)?/ @q << [:FLOATING_CONSTANT, Token.new($&, file, lineno, col)] # 整数定数 when /\A\d+#{integer_qualifier}/ # when /\A\d+/ @q << [:INTEGER_CONSTANT, Token.new($&.to_i, file, lineno, col)] # 文字 when /\A'(?:[^'\\]|\\.)'/ @q << [:CHARACTER_LITERAL, Token.new($&, file, lineno, col)] # 文字列 # "#include #include #include \"../systask/logtask.cfg\" 最後の " 忘れ)で無限ループ # when /\A"(?:[^"\\]+|\\.)*"/ when /\A"(?:[^"\\]|\\.)*"/ # これはうまく行くようだ @q << [:STRING_LITERAL, Token.new($&, file, lineno, col)] # 行コメント when /\A\/\/.*$/ # 読み飛ばすだけ # コメント開始 when /\A\/\*/ comment = true when /\A>>=/, /\A<<=/, /\A>>/, /\A<=/, /\A<=/, /\A\->/, /\A\+\+/, /\A\-\-/ @q << [$&, Token.new($&, file, lineno, col)] when /\A./ @q << [$&, Token.new($&, file, lineno, col)] else raise end end line = $' col += $&.length end lineno += 1 } rescue => evar Generator.error( "B1002 while open or reading \'$1\'" , file ) print_exception( evar ) end } # 終了の印 @q << nil @yydebug = true do_parse ensure @@generator_nest -= 1 TECS_LANG::reset_kcode end end def next_token token = @q.shift if token then @@current_locale[@@generator_nest] = token[1].locale case token[1].val when ";", ":", ",", "(", ")", "{", "}" set_no_type_name false when ".", "->" set_no_type_name true end # TYPE_NAME トークンへ置き換え if @b_no_type_name == false if token[0] == :IDENTIFIER && Namespace.is_typename?( token[1].val ) then token[0] = :TYPE_NAME locale = @@current_locale[@@generator_nest] #print( "#{locale[0]}: line #{locale[1]} : #{token[0]} '#{token[1].val}: type_name'\n" ) end end if $debug then # 070107 token 無効時ここを通さないようした (through 対応 -d の時に例外発生) locale = @@current_locale[@@generator_nest] if token then print( "#{locale[0]}: line #{locale[1]} : #{token[0]} '#{token[1].val}'\n" ) else print( "#{locale[0]}: line #{locale[1]} : EOF\n" ) end end end token end def on_error(t, v, vstack) if v == "$" then Generator.error( "B1003 Unexpected EOF" ) else Generator.error( "B1004 syntax error near \'$1\'" , v.val ) end end def self.current_locale @@current_locale[ @@generator_nest ] end @@n_error = 0 @@n_warning = 0 @@n_info = 0 # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でエラー発生は不適切) def self.error( msg ) @@n_error += 1 locale = @@current_locale[ @@generator_nest ] if locale then Console.puts "error: #{locale[0]}: line #{locale[1]} #{msg}" else Console.puts "error: #{msg}" end end # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でウォーニング発生は不適切) def self.warning( msg ) @@n_warning += 1 locale = @@current_locale[ @@generator_nest ] Console.puts "warning: #{locale[0]}: line #{locale[1]} #{msg}" end # このメソッドは構文解析、意味解析からのみ呼出し可 def self.info( msg ) @@n_info += 1 locale = @@current_locale[ @@generator_nest ] Console.puts "info: #{locale[0]}: line #{locale[1]} #{msg}" end def self.get_n_error @@n_error end def self.get_n_warning @@n_warning end def self.get_nest @@generator_nest end def set_no_type_name b_no_type_name locale = @@current_locale[ @@generator_nest ] #print "b_no_type_name=#{b_no_type_name} #{locale[0]}: line #{locale[1]}\n" @b_no_type_name = b_no_type_name end ...end C_parser.y.rb/module_eval... ##### State transition tables begin ### clist = [ '106,107,108,109,110,112,70,113,68,181,302,143,55,118,119,208,117,120', '121,122,123,124,125,106,107,108,109,110,112,337,113,209,336,210,143', '76,118,119,170,117,120,121,122,123,124,125,305,69,301,67,350,28,29,106', '107,108,109,110,112,75,113,28,29,162,143,77,118,119,170,117,120,121', '122,123,124,125,169,79,205,206,353,306,307,308,309,310,311,312,313,314', '315,264,55,144,8,9,10,11,15,16,17,18,19,20,21,174,267,23,25,27,28,29', '197,198,375,263,144,106,107,108,109,110,112,346,113,342,197,198,143', '173,118,119,153,117,120,121,122,123,124,125,106,107,108,109,110,112', '144,113,357,341,3,143,274,118,119,253,117,120,121,122,123,124,125,106', '107,108,109,110,112,54,113,199,200,361,143,53,118,119,98,117,120,121', '122,123,124,125,106,107,108,109,110,112,345,113,363,83,364,143,82,118', '119,346,117,120,121,122,123,124,125,81,144,249,83,274,253,82,253,53', '106,107,108,109,110,112,337,113,55,336,365,236,366,118,119,144,117,120', '121,122,123,124,125,54,249,367,194,253,97,53,53,195,196,81,199,200,55', '55,144,230,89,8,9,10,11,15,16,17,18,19,20,21,79,372,23,25,27,28,29,199', '200,144,231,88,232,233,234,235,87,237,238,240,241,242,243,194,377,194', '199,200,195,196,195,196,378,39,40,41,42,43,44,45,46,144,106,107,108', '109,110,112,379,113,205,206,380,143,381,118,119,382,117,120,121,122', '123,124,125,106,107,108,109,110,112,384,113,197,198,385,143,386,118', '119,65,117,120,121,122,123,124,125,106,107,108,109,110,112,62,113,391', '37,392,143,393,118,119,394,117,120,121,122,123,124,125,106,107,108,109', '110,112,61,113,211,212,396,143,398,118,119,280,117,120,121,122,123,124', '125,47,144,279,36,277,8,9,10,11,15,16,17,18,19,20,21,271,37,23,25,27', '28,29,270,144,38,8,9,10,11,15,16,17,18,19,20,21,199,200,23,25,27,28', '29,269,97,256,144,255,39,40,41,42,43,44,45,46,36,247,8,9,10,11,15,16', '17,18,19,20,21,144,246,23,25,27,28,29,245,32,38,106,107,108,109,110', '112,216,113,215,210,209,143,208,118,119,207,117,120,121,122,123,124', '125,39,40,41,42,43,44,45,46,303,106,107,108,109,110,112,316,113,317', '319,320,236,321,118,119,323,117,120,121,122,123,124,125,54,54,54,324', '54,325,53,53,53,326,53,329,176,55,55,55,230,55,8,9,10,11,15,16,17,18', '19,20,21,79,175,23,25,27,28,29,77,97,144,231,171,232,233,234,235,163', '237,238,240,241,242,243,183,348,184,349,185,186,187,207,,,39,40,41,42', '43,44,45,46,144,106,107,108,109,110,112,,113,,,,143,,118,119,,117,120', '121,122,123,124,125,,,106,107,108,109,110,112,,113,,,,236,,118,119,', '117,120,121,122,123,124,125,54,54,54,,54,,53,53,53,,53,,,55,55,55,230', '55,8,9,10,11,15,16,17,18,19,20,21,79,,23,25,27,28,29,,,,231,,232,233', '234,235,144,237,238,240,241,242,243,201,202,203,204,201,202,203,204', ',,39,40,41,42,43,44,45,46,144,106,107,108,109,110,112,,113,,,,236,,118', '119,,117,120,121,122,123,124,125,54,201,202,203,204,,53,,,,,,,55,,,230', ',8,9,10,11,15,16,17,18,19,20,21,79,,23,25,27,28,29,,,,231,,232,233,234', '235,,237,238,240,241,242,243,,,,,,,,,,,39,40,41,42,43,44,45,46,144,106', '107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124,125', '106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124', '125,106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123', '124,125,106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122', '123,124,125,,144,,,,,,,,106,107,108,109,110,112,,113,,,,143,,118,119', '144,117,120,121,122,123,124,125,106,107,108,109,110,112,,113,,368,,143', ',118,119,144,117,120,121,122,123,124,125,,,,,,,,106,107,108,109,110', '112,,113,144,,,236,,118,119,,117,120,121,122,123,124,125,,,,,,,,,,,', ',,,,,230,144,8,9,10,11,15,16,17,18,19,20,21,79,,23,25,27,28,29,,,,231', '144,232,233,234,235,,237,238,240,241,242,243,,,,,,,,,,,39,40,41,42,43', '44,45,46,144,106,107,108,109,110,112,,113,,,,236,,118,119,,117,120,121', '122,123,124,125,,,,,,,,,,,,,,,,,230,,8,9,10,11,15,16,17,18,19,20,21', '79,,23,25,27,28,29,,,,231,,232,233,234,235,,237,238,240,241,242,243', ',,,,,,,,,,39,40,41,42,43,44,45,46,144,106,107,108,109,110,112,,113,', ',,236,,118,119,,117,120,121,122,123,124,125,,,,,,,,,,,,,,,,,230,,8,9', '10,11,15,16,17,18,19,20,21,79,,23,25,27,28,29,,,,231,,232,233,234,235', ',237,238,240,241,242,243,,,,,,,,,,,39,40,41,42,43,44,45,46,144,106,107', '108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124,125,106', '107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124,125', '106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124', '125,106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123', '124,125,,144,,,,,141,,,,,,,142,106,107,108,109,110,112,,113,,147,144', '143,,118,119,,117,120,121,122,123,124,125,106,107,108,109,110,112,,113', ',,144,143,,118,119,,117,120,121,122,123,124,125,106,107,108,109,110', '112,,113,,,144,143,,118,119,,117,120,121,122,123,124,125,106,107,108', '109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124,125,,144,', ',,,,,,106,107,108,109,110,112,,113,,,,143,,118,119,144,117,120,121,122', '123,124,125,106,107,108,109,110,112,,113,,,,143,,118,119,144,117,120', '121,122,123,124,125,106,107,108,109,110,112,,113,,,,143,,118,119,144', '117,120,121,122,123,124,125,106,107,108,109,110,112,,113,,,,143,,118', '119,,117,120,121,122,123,124,125,,144,,,,,141,351,,,,,,142,106,107,108', '109,110,112,,113,,,144,143,,118,119,,117,120,121,122,123,124,125,106', '107,108,109,110,112,,113,,,144,143,,118,119,,117,120,121,122,123,124', '125,106,107,108,109,110,112,,113,,,144,143,,118,119,,117,120,121,122', '123,124,125,106,107,108,109,110,112,,113,,,,143,,118,119,,117,120,121', '122,123,124,125,,144,,,,,,,,106,107,108,109,110,112,,113,,,,143,,118', '119,144,117,120,121,122,123,124,125,106,107,108,109,110,112,,113,,,', '143,,118,119,144,117,120,121,122,123,124,125,106,107,108,109,110,112', ',113,,,,143,,118,119,144,117,120,121,122,123,124,125,,,,,,,,,,106,107', '108,109,110,112,,113,,,,236,,118,119,144,117,120,121,122,123,124,125', ',,,,,,,,,,,,,,,144,230,,8,9,10,11,15,16,17,18,19,20,21,79,239,23,25', '27,28,29,,,144,231,,232,233,234,235,,237,238,240,241,242,243,,,,,,,', ',,,39,40,41,42,43,44,45,46,144,106,107,108,109,110,112,,113,,338,,143', ',118,119,,117,120,121,122,123,124,125,106,107,108,109,110,112,,113,', ',,143,,118,119,,117,120,121,122,123,124,125,8,9,10,11,15,16,17,18,19', '20,21,,,23,25,27,28,29,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27,28', '29,,106,107,108,109,110,112,,113,,,144,143,,118,119,,117,120,121,122', '123,124,125,106,107,108,109,110,112,,113,,,144,143,,118,119,,117,120', '121,122,123,124,125,106,107,108,109,110,112,,113,,,,143,,118,119,,117', '120,121,122,123,124,125,106,107,108,109,110,189,,113,,,,143,,118,119', ',117,120,121,122,123,124,125,,144,,,,,,,,106,107,108,109,110,191,,113', ',,,143,,118,119,144,117,120,121,122,123,124,125,106,107,108,109,110', '191,,113,,,,143,,118,119,144,117,120,121,122,123,124,125,106,107,108', '109,110,112,,113,,,,143,,118,119,144,117,120,121,122,123,124,125,106', '107,108,109,110,112,,113,,,,143,,118,119,,117,120,121,122,123,124,125', ',144,,,,,141,,,,,,,142,,,328,,106,107,108,109,110,112,144,113,,,,143', ',118,119,,117,120,121,122,123,124,125,,,,,,,144,,,,,,,,,,,106,107,108', '109,110,112,,113,,,,236,144,118,119,,117,120,121,122,123,124,125,,,', ',,,,,,,,,,,,,230,,8,9,10,11,15,16,17,18,19,20,21,79,144,23,25,27,28', '29,,,,231,,232,233,234,235,,237,238,240,241,242,243,,,,,,,274,334,,253', '39,40,41,42,43,44,45,46,144,55,,,,,249,334,,253,,,53,,,,,,,55,,,,,8', '9,10,11,15,16,17,18,19,20,21,,,23,25,27,28,29,8,9,10,11,15,16,17,18', '19,20,21,,,23,25,27,28,29,370,,,,,,,,39,40,41,42,43,44,45,46,,,149,', ',,,,,,39,40,41,42,43,44,45,46,,8,9,10,11,15,16,17,18,19,20,21,,,23,25', '27,28,29,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27,28,29,,,,330,,,,', '39,40,41,42,43,44,45,46,,,,,,,,,,,39,40,41,42,43,44,45,46,8,9,10,11', '15,16,17,18,19,20,21,,,23,25,27,28,29,8,9,10,11,15,16,17,18,19,20,21', ',,23,25,27,28,29,,,,,,,,,39,40,41,42,43,44,45,46,,,,,,,,,,,39,40,41', '42,43,44,45,46,8,9,10,11,15,16,17,18,19,20,21,,340,23,25,27,28,29,8', '9,10,11,15,16,17,18,19,20,21,,164,23,25,27,28,29,,,,,,,,,39,40,41,42', '43,44,45,46,,,,,,,,,,,39,40,41,42,43,44,45,46,8,9,10,11,15,16,17,18', '19,20,21,,,23,25,27,28,29,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27', '28,29,,,,,,,,,39,40,41,42,43,44,45,46,,,,,,,,,,,39,40,41,42,43,44,45', '46,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27,28,29,8,9,10,11,15,16,17', '18,19,20,21,,257,23,25,27,28,29,,,,,,,,,39,40,41,42,43,44,45,46,,,,', ',,,,,,39,40,41,42,43,44,45,46,8,9,10,11,15,16,17,18,19,20,21,,,23,25', '27,28,29,8,9,10,11,15,16,17,18,19,20,21,,262,23,25,27,28,29,,,,,,,,', '39,40,41,42,43,44,45,46,,,,,,,,,,,39,40,41,42,43,44,45,46,8,9,10,11', '15,16,17,18,19,20,21,,,23,25,27,28,29,8,9,10,11,15,16,17,18,19,20,21', ',,23,25,27,28,29,,,,,,,,,39,40,41,42,43,44,45,46,,,,,,,,,,,39,40,41', '42,43,44,45,46,8,9,10,11,15,16,17,18,19,20,21,,,23,25,27,28,29' ] racc_action_table = arr = ::Array.new(2875, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| arr[idx] = i.to_i unless i.empty? idx += 1 end end clist = [ '210,210,210,210,210,210,26,210,24,114,213,210,55,210,210,297,210,210', '210,210,210,210,210,211,211,211,211,211,211,332,211,298,332,299,211', '48,211,211,95,211,211,211,211,211,211,211,217,26,213,24,300,55,55,189', '189,189,189,189,189,48,189,114,114,90,189,50,189,189,172,189,189,189', '189,189,189,189,95,50,132,132,303,217,217,217,217,217,217,217,217,217', '217,166,85,210,189,189,189,189,189,189,189,189,189,189,189,101,172,189', '189,189,189,189,287,287,347,166,211,394,394,394,394,394,394,347,394', '259,288,288,394,101,394,394,84,394,394,394,394,394,394,394,181,181,181', '181,181,181,189,181,318,259,1,181,273,181,181,273,181,181,181,181,181', '181,181,194,194,194,194,194,194,51,194,289,289,322,194,51,194,194,70', '194,194,194,194,194,194,194,195,195,195,195,195,195,275,195,324,52,327', '195,52,195,195,275,195,195,195,195,195,195,195,51,394,248,80,180,248', '80,180,248,392,392,392,392,392,392,252,392,180,252,330,392,333,392,392', '181,392,392,392,392,392,392,392,342,152,335,286,152,69,342,152,286,286', '248,290,290,342,152,194,392,66,392,392,392,392,392,392,392,392,392,392', '392,392,339,392,392,392,392,392,291,291,195,392,64,392,392,392,392,63', '392,392,392,392,392,392,285,354,128,292,292,285,285,128,128,355,392', '392,392,392,392,392,392,392,392,381,381,381,381,381,381,356,381,295', '295,357,381,358,381,381,359,381,381,381,381,381,381,381,380,380,380', '380,380,380,365,380,129,129,369,380,371,380,380,22,380,380,380,380,380', '380,380,196,196,196,196,196,196,14,196,382,32,387,196,389,196,196,390', '196,196,196,196,196,196,196,197,197,197,197,197,197,12,197,137,137,393', '197,397,197,197,185,197,197,197,197,197,197,197,3,381,184,32,182,32', '32,32,32,32,32,32,32,32,32,32,178,2,32,32,32,32,32,177,380,32,72,72', '72,72,72,72,72,72,72,72,72,130,130,72,72,72,72,72,175,170,157,196,156', '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', '2,146,2,2,198,198,198,198,198,198,144,198,142,136,135,198,134,198,198', '133,198,198,198,198,198,198,198,2,2,2,2,2,2,2,2,215,379,379,379,379', '379,379,231,379,232,234,235,379,236,379,379,238,379,379,379,379,379', '379,379,160,94,54,240,264,241,160,94,54,242,264,244,111,160,94,54,379', '264,379,379,379,379,379,379,379,379,379,379,379,379,105,379,379,379', '379,379,104,98,198,379,97,379,379,379,379,91,379,379,379,379,379,379', '115,278,115,281,115,115,115,296,,,379,379,379,379,379,379,379,379,379', '171,171,171,171,171,171,,171,,,,171,,171,171,,171,171,171,171,171,171', '171,,,378,378,378,378,378,378,,378,,,,378,,378,378,,378,378,378,378', '378,378,378,76,4,74,,174,,76,4,74,,174,,,76,4,74,378,174,378,378,378', '378,378,378,378,378,378,378,378,378,,378,378,378,378,378,,,,378,,378', '378,378,378,171,378,378,378,378,378,378,294,294,294,294,131,131,131', '131,,,378,378,378,378,378,378,378,378,378,361,361,361,361,361,361,,361', ',,,361,,361,361,,361,361,361,361,361,361,361,218,293,293,293,293,,218', ',,,,,,218,,,361,,361,361,361,361,361,361,361,361,361,361,361,361,,361', '361,361,361,361,,,,361,,361,361,361,361,,361,361,361,361,361,361,,,', ',,,,,,,361,361,361,361,361,361,361,361,361,199,199,199,199,199,199,', '199,,,,199,,199,199,,199,199,199,199,199,199,199,350,350,350,350,350', '350,,350,,,,350,,350,350,,350,350,350,350,350,350,350,346,346,346,346', '346,346,,346,,,,346,,346,346,,346,346,346,346,346,346,346,191,191,191', '191,191,191,,191,,,,191,,191,191,,191,191,191,191,191,191,191,,199,', ',,,,,,200,200,200,200,200,200,,200,,,,200,,200,200,350,200,200,200,200', '200,200,200,336,336,336,336,336,336,,336,,336,,336,,336,336,346,336', '336,336,336,336,336,336,,,,,,,,323,323,323,323,323,323,,323,191,,,323', ',323,323,,323,323,323,323,323,323,323,,,,,,,,,,,,,,,,,323,200,323,323', '323,323,323,323,323,323,323,323,323,323,,323,323,323,323,323,,,,323', '336,323,323,323,323,,323,323,323,323,323,323,,,,,,,,,,,323,323,323,323', '323,323,323,323,323,321,321,321,321,321,321,,321,,,,321,,321,321,,321', '321,321,321,321,321,321,,,,,,,,,,,,,,,,,321,,321,321,321,321,321,321', '321,321,321,321,321,321,,321,321,321,321,321,,,,321,,321,321,321,321', ',321,321,321,321,321,321,,,,,,,,,,,321,321,321,321,321,321,321,321,321', '398,398,398,398,398,398,,398,,,,398,,398,398,,398,398,398,398,398,398', '398,,,,,,,,,,,,,,,,,398,,398,398,398,398,398,398,398,398,398,398,398', '398,,398,398,398,398,398,,,,398,,398,398,398,398,,398,398,398,398,398', '398,,,,,,,,,,,398,398,398,398,398,398,398,398,398,320,320,320,320,320', '320,,320,,,,320,,320,320,,320,320,320,320,320,320,320,319,319,319,319', '319,319,,319,,,,319,,319,319,,319,319,319,319,319,319,319,77,77,77,77', '77,77,,77,,,,77,,77,77,,77,77,77,77,77,77,77,317,317,317,317,317,317', ',317,,,,317,,317,317,,317,317,317,317,317,317,317,,320,,,,,77,,,,,,', '77,82,82,82,82,82,82,,82,,82,319,82,,82,82,,82,82,82,82,82,82,82,183', '183,183,183,183,183,,183,,,77,183,,183,183,,183,183,183,183,183,183', '183,316,316,316,316,316,316,,316,,,317,316,,316,316,,316,316,316,316', '316,316,316,304,304,304,304,304,304,,304,,,,304,,304,304,,304,304,304', '304,304,304,304,,82,,,,,,,,201,201,201,201,201,201,,201,,,,201,,201', '201,183,201,201,201,201,201,201,201,202,202,202,202,202,202,,202,,,', '202,,202,202,316,202,202,202,202,202,202,202,302,302,302,302,302,302', ',302,,,,302,,302,302,304,302,302,302,302,302,302,302,277,277,277,277', '277,277,,277,,,,277,,277,277,,277,277,277,277,277,277,277,,201,,,,,302', '302,,,,,,302,203,203,203,203,203,203,,203,,,202,203,,203,203,,203,203', '203,203,203,203,203,209,209,209,209,209,209,,209,,,302,209,,209,209', ',209,209,209,209,209,209,209,212,212,212,212,212,212,,212,,,277,212', ',212,212,,212,212,212,212,212,212,212,204,204,204,204,204,204,,204,', ',,204,,204,204,,204,204,204,204,204,204,204,,203,,,,,,,,271,271,271', '271,271,271,,271,,,,271,,271,271,209,271,271,271,271,271,271,271,205', '205,205,205,205,205,,205,,,,205,,205,205,212,205,205,205,205,205,205', '205,206,206,206,206,206,206,,206,,,,206,,206,206,204,206,206,206,206', '206,206,206,,,,,,,,,,145,145,145,145,145,145,,145,,,,145,,145,145,271', '145,145,145,145,145,145,145,,,,,,,,,,,,,,,,205,145,,145,145,145,145', '145,145,145,145,145,145,145,145,145,145,145,145,145,145,,,206,145,,145', '145,145,145,,145,145,145,145,145,145,,,,,,,,,,,145,145,145,145,145,145', '145,145,145,253,253,253,253,253,253,,253,,253,,253,,253,253,,253,253', '253,253,253,253,253,112,112,112,112,112,112,,112,,,,112,,112,112,,112', '112,112,112,112,112,112,38,38,38,38,38,38,38,38,38,38,38,,,38,38,38', '38,38,112,112,112,112,112,112,112,112,112,112,112,,,112,112,112,112', '112,,207,207,207,207,207,207,,207,,,253,207,,207,207,,207,207,207,207', '207,207,207,208,208,208,208,208,208,,208,,,112,208,,208,208,,208,208', '208,208,208,208,208,116,116,116,116,116,116,,116,,,,116,,116,116,,116', '116,116,116,116,116,116,117,117,117,117,117,117,,117,,,,117,,117,117', ',117,117,117,117,117,117,117,,207,,,,,,,,118,118,118,118,118,118,,118', ',,,118,,118,118,208,118,118,118,118,118,118,118,119,119,119,119,119', '119,,119,,,,119,,119,119,116,119,119,119,119,119,119,119,141,141,141', '141,141,141,,141,,,,141,,141,141,117,141,141,141,141,141,141,141,243', '243,243,243,243,243,,243,,,,243,,243,243,,243,243,243,243,243,243,243', ',118,,,,,141,,,,,,,141,,,243,,237,237,237,237,237,237,119,237,,,,237', ',237,237,,237,237,237,237,237,237,237,,,,,,,141,,,,,,,,,,,233,233,233', '233,233,233,,233,,,,233,243,233,233,,233,233,233,233,233,233,233,,,', ',,,,,,,,,,,,,233,,233,233,233,233,233,233,233,233,233,233,233,233,237', '233,233,233,233,233,,,,233,,233,233,233,233,,233,233,233,233,233,233', ',,,,,,274,274,,274,233,233,233,233,233,233,233,233,233,274,,,,,249,249', ',249,,,249,,,,,,,249,,,,,274,274,274,274,274,274,274,274,274,274,274', ',,274,274,274,274,274,249,249,249,249,249,249,249,249,249,249,249,,', '249,249,249,249,249,337,,,,,,,,274,274,274,274,274,274,274,274,,,83', ',,,,,,,249,249,249,249,249,249,249,249,,337,337,337,337,337,337,337', '337,337,337,337,,,337,337,337,337,337,83,83,83,83,83,83,83,83,83,83', '83,,,83,83,83,83,83,,,,247,,,,,337,337,337,337,337,337,337,337,,,,,', ',,,,,83,83,83,83,83,83,83,83,247,247,247,247,247,247,247,247,247,247', '247,,,247,247,247,247,247,5,5,5,5,5,5,5,5,5,5,5,,,5,5,5,5,5,,,,,,,,', '247,247,247,247,247,247,247,247,,,,,,,,,,,5,5,5,5,5,5,5,5,254,254,254', '254,254,254,254,254,254,254,254,,254,254,254,254,254,254,92,92,92,92', '92,92,92,92,92,92,92,,92,92,92,92,92,92,,,,,,,,,254,254,254,254,254', '254,254,254,,,,,,,,,,,92,92,92,92,92,92,92,92,155,155,155,155,155,155', '155,155,155,155,155,,,155,155,155,155,155,89,89,89,89,89,89,89,89,89', '89,89,,,89,89,89,89,89,,,,,,,,,155,155,155,155,155,155,155,155,,,,,', ',,,,,89,89,89,89,89,89,89,89,88,88,88,88,88,88,88,88,88,88,88,,,88,88', '88,88,88,158,158,158,158,158,158,158,158,158,158,158,,158,158,158,158', '158,158,,,,,,,,,88,88,88,88,88,88,88,88,,,,,,,,,,,158,158,158,158,158', '158,158,158,67,67,67,67,67,67,67,67,67,67,67,,,67,67,67,67,67,161,161', '161,161,161,161,161,161,161,161,161,,161,161,161,161,161,161,,,,,,,', ',67,67,67,67,67,67,67,67,,,,,,,,,,,161,161,161,161,161,161,161,161,7', '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,,', ',,,,,,7,7,7,7,7,7,7,7,,,,,,,,,,,6,6,6,6,6,6,6,6,73,73,73,73,73,73,73', '73,73,73,73,,,73,73,73,73,73' ] racc_action_check = arr = ::Array.new(2875, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| arr[idx] = i.to_i unless i.empty? idx += 1 end end racc_action_pointer = [ nil, 150, 420, 404, 652, 2412, 2762, 2744, nil, nil, nil, nil, 346, nil, 323, nil, nil, nil, nil, nil, nil, nil, 337, nil, -5, nil, -7, nil, nil, nil, nil, nil, 366, nil, nil, nil, nil, nil, 1848, nil, nil, nil, nil, nil, nil, nil, nil, nil, 18, nil, 23, 162, 188, nil, 534, -8, nil, nil, nil, nil, nil, nil, nil, 232, 227, nil, 204, 2674, nil, 233, 124, nil, 387, 2814, 653, nil, 651, 1303, nil, nil, 205, nil, 1363, 2342, 124, 72, nil, nil, 2604, 2552, 22, 543, 2482, nil, 533, 21, nil, 537, 563, nil, nil, 88, nil, nil, 533, 474, nil, nil, nil, nil, nil, 542, 1866, nil, 2, 581, 1972, 1995, 2027, 2050, nil, nil, nil, nil, nil, nil, nil, nil, 275, 322, 414, 685, 45, 480, 461, 458, 456, 351, nil, nil, nil, 2073, 485, nil, 477, 1749, 470, nil, 467, nil, 445, nil, 235, nil, nil, 2534, 411, 409, 2622, nil, 532, 2692, nil, nil, nil, nil, 74, nil, nil, nil, 436, 608, 51, nil, 655, 435, nil, 419, 412, nil, 206, 138, 401, 1386, 393, 383, nil, nil, nil, 51, nil, 890, nil, nil, 161, 184, 356, 379, 482, 821, 922, 1464, 1487, 1570, 1639, 1694, 1717, 1926, 1949, 1593, -2, 21, 1616, -7, nil, 506, nil, 4, 745, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 515, 517, 2177, 518, 519, 488, 2137, 491, nil, 529, 503, 507, 2096, 509, nil, nil, 2394, 204, 2271, nil, nil, 217, 1843, 2464, nil, nil, nil, nil, 108, nil, nil, nil, nil, 536, nil, nil, nil, nil, nil, nil, 1671, nil, 145, 2253, 184, nil, 1533, 581, nil, nil, 586, nil, nil, nil, 273, 224, 91, 105, 144, 225, 250, 269, 724, 681, 287, 579, -20, -5, -4, 10, nil, 1510, 72, 1432, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1409, 1326, 82, 1280, 1257, 1069, 133, 975, 153, nil, nil, 155, nil, nil, 216, nil, 22, 222, nil, 235, 945, 2324, nil, 260, nil, nil, 234, nil, nil, nil, 867, 106, nil, nil, 844, nil, nil, nil, 253, 294, 310, 315, 283, 319, nil, 727, nil, nil, nil, 329, nil, nil, nil, 334, nil, 339, nil, nil, nil, nil, nil, nil, 633, 514, 333, 310, 296, nil, nil, nil, nil, 303, nil, 362, 332, nil, 216, 350, 115, nil, nil, 385, 1163, nil ] racc_action_default = [ -176, -243, -1, -243, -243, -70, -71, -72, -80, -81, -82, -83, -84, -85, -86, -87, -88, -89, -90, -91, -92, -93, -96, -99, -243, -116, -243, -129, -134, -135, -177, -178, -243, -180, -181, -184, -185, -186, -243, -232, -233, -234, -235, -236, -237, -238, -239, 400, -243, -76, -78, -243, -137, -139, -243, -145, -73, -84, -86, -74, -75, -183, -182, -98, -243, -102, -115, -243, -119, -243, -128, -179, -106, -108, -243, -69, -243, -243, -190, -191, -136, -138, -243, -243, -243, -146, -147, -94, -243, -243, -84, -85, -243, -117, -243, -243, -130, -132, -243, -107, -109, -243, -188, -77, -78, -2, -3, -4, -5, -6, -7, -8, -243, -10, -12, -23, -243, -243, -243, -243, -29, -30, -31, -32, -33, -34, -35, -37, -41, -44, -47, -52, -55, -57, -59, -61, -63, -65, -68, -79, -170, -243, -243, -240, -243, -243, -243, -142, -243, -144, -149, -151, -155, -140, -148, -243, -84, -85, -243, -100, -243, -243, -122, -121, -114, -118, -243, -123, -125, -126, -243, -243, -243, -187, -243, -243, -11, -243, -243, -67, -156, -20, -243, -243, -243, -243, -18, -19, -24, -243, -25, -243, -27, -28, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -174, -243, -241, -35, -243, -192, -193, -194, -195, -196, -197, -198, -199, -200, -201, -202, -203, -243, -243, -243, -243, -243, -240, -243, -243, -213, -243, -243, -243, -243, -243, -141, -143, -243, -158, -243, -153, -154, -159, -243, -243, -105, -104, -97, -101, -243, -110, -112, -113, -120, -243, -131, -133, -127, -189, -242, -9, -243, -157, -158, -243, -243, -21, -20, -243, -16, -17, -243, -38, -39, -40, -42, -43, -45, -46, -48, -49, -50, -51, -53, -54, -56, -58, -60, -62, -64, -243, -171, -243, -243, -243, -221, -222, -223, -224, -225, -226, -227, -228, -229, -230, -231, -243, -243, -243, -243, -243, -243, -243, -243, -243, -215, -216, -243, -218, -219, -243, -152, -160, -243, -166, -243, -243, -243, -162, -243, -95, -103, -243, -124, -36, -13, -243, -243, -15, -26, -243, -172, -175, -173, -243, -243, -243, -243, -243, -243, -210, -243, -212, -214, -217, -243, -161, -167, -164, -243, -168, -243, -163, -111, -22, -14, -66, -220, -243, -243, -243, -243, -243, -211, -150, -165, -169, -204, -206, -243, -243, -209, -243, -243, -243, -205, -207, -243, -243, -208 ] racc_goto_table = [ 50, 4, 177, 146, 56, 59, 60, 190, 192, 193, 148, 86, 139, 138, 260, 80, 167, 188, 138, 158, 275, 258, 178, 35, 31, 165, 332, 73, 12, 74, 14, 4, 287, 288, 91, 217, 95, 293, 294, 251, 304, 154, 219, 2, 85, 295, 92, 285, 286, 296, 72, 332, 297, 35, 71, 157, 91, 298, 12, 91, 14, 73, 73, 99, 100, 172, 94, 272, 161, 299, 102, 276, 104, 278, 103, 63, 214, 138, 155, 177, 64, 177, 152, 259, 72, 72, 254, 160, 94, 66, 168, 94, 266, 90, 165, 282, 283, 284, 166, 281, 265, 73, 300, 182, 331, 213, 30, 138, 248, 289, 290, 291, 292, 101, 156, 90, 347, 258, 90, 78, 145, 1, 157, 217, 72, 157, nil, nil, 91, nil, 318, nil, nil, 327, nil, nil, 273, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 250, nil, nil, nil, nil, nil, 160, nil, 261, 160, 322, nil, 94, nil, nil, nil, nil, nil, nil, 276, nil, nil, 268, nil, 344, 138, 339, nil, nil, nil, 73, nil, nil, 156, nil, nil, 156, nil, 343, 90, nil, 138, nil, nil, nil, nil, 354, nil, 373, nil, nil, nil, nil, 72, nil, nil, nil, 248, 355, 356, nil, 358, 359, 217, 80, 217, 104, nil, nil, nil, 360, nil, 362, 157, nil, nil, nil, nil, nil, nil, nil, nil, 273, nil, nil, nil, nil, nil, 374, 352, 138, nil, nil, nil, nil, nil, nil, nil, 152, nil, 152, nil, nil, 217, nil, 160, nil, nil, nil, 369, 383, nil, 168, nil, nil, nil, 371, nil, nil, nil, 217, 217, 389, 390, 138, 152, nil, 387, 388, nil, nil, nil, 156, nil, 217, nil, 397, nil, 376, nil, 217, 395, nil, nil, nil, nil, nil, 399, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 152, nil, 261 ] racc_goto_check = [ 32, 27, 6, 25, 27, 27, 27, 10, 10, 10, 57, 55, 33, 24, 45, 56, 51, 12, 24, 39, 8, 42, 13, 26, 64, 49, 61, 9, 34, 44, 36, 27, 15, 15, 35, 10, 53, 17, 17, 60, 79, 55, 70, 2, 9, 18, 48, 14, 14, 19, 30, 61, 20, 26, 64, 35, 35, 21, 34, 35, 36, 9, 9, 44, 44, 53, 27, 60, 48, 22, 32, 6, 32, 6, 31, 38, 33, 24, 40, 6, 41, 6, 27, 43, 30, 30, 39, 27, 27, 47, 32, 27, 25, 34, 49, 12, 12, 12, 50, 13, 54, 9, 6, 9, 59, 62, 63, 24, 55, 16, 16, 16, 16, 67, 34, 34, 8, 42, 34, 68, 69, 1, 35, 10, 30, 35, nil, nil, 35, nil, 70, nil, nil, 6, nil, nil, 55, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 32, nil, nil, nil, nil, nil, 27, nil, 32, 27, 25, nil, 27, nil, nil, nil, nil, nil, nil, 6, nil, nil, 32, nil, 12, 24, 25, nil, nil, nil, 9, nil, nil, 34, nil, nil, 34, nil, 51, 34, nil, 24, nil, nil, nil, nil, 6, nil, 45, nil, nil, nil, nil, 30, nil, nil, nil, 55, 6, 6, nil, 6, 6, 10, 56, 10, 32, nil, nil, nil, 70, nil, 70, 35, nil, nil, nil, nil, nil, nil, nil, nil, 55, nil, nil, nil, nil, nil, 6, 33, 24, nil, nil, nil, nil, nil, nil, nil, 27, nil, 27, nil, nil, 10, nil, 27, nil, nil, nil, 25, 70, nil, 32, nil, nil, nil, 57, nil, nil, nil, 10, 10, 6, 6, 24, 27, nil, 70, 70, nil, nil, nil, 34, nil, 10, nil, 6, nil, 24, nil, 10, 70, nil, nil, nil, nil, nil, 70, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 27, nil, 32 ] racc_goto_pointer = [ nil, 121, 43, nil, nil, nil, -110, nil, -161, -11, -110, nil, -99, -90, -150, -167, -92, -168, -162, -159, -157, -153, -142, nil, -64, -79, 21, -1, nil, nil, 12, -2, -4, -65, 26, -33, 28, nil, 53, -69, -9, 58, -137, -77, -9, -146, nil, 65, -21, -67, 4, -78, nil, -33, -70, -44, -36, -73, nil, -143, -113, -222, -36, 104, 22, nil, nil, 39, 69, 41, -103, nil, nil, nil, nil, nil, nil, nil, nil, -177 ] racc_goto_default = [ nil, nil, nil, 114, 105, 111, 244, 115, nil, 7, 126, 116, 127, nil, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 179, 140, 220, 218, 48, 5, 6, 49, 84, nil, 57, 13, 58, 22, nil, nil, nil, nil, 159, nil, 180, nil, 24, nil, nil, 93, nil, nil, 26, nil, 96, 51, 52, 335, 150, 151, 333, 252, nil, nil, nil, 33, 34, nil, 227, nil, nil, 221, 222, 223, 224, 225, 226, 228, 229, nil ] racc_reduce_table = [ 0, 0, :racc_error, 1, 97, :_reduce_none, 1, 99, :_reduce_2, 1, 99, :_reduce_3, 1, 99, :_reduce_4, 1, 99, :_reduce_5, 1, 99, :_reduce_6, 1, 99, :_reduce_7, 1, 99, :_reduce_8, 3, 99, :_reduce_9, 1, 101, :_reduce_10, 2, 101, :_reduce_11, 1, 103, :_reduce_none, 4, 103, :_reduce_none, 5, 103, :_reduce_none, 4, 103, :_reduce_15, 3, 103, :_reduce_16, 3, 103, :_reduce_17, 2, 103, :_reduce_18, 2, 103, :_reduce_19, 0, 104, :_reduce_none, 1, 104, :_reduce_none, 3, 104, :_reduce_none, 1, 106, :_reduce_none, 2, 106, :_reduce_24, 2, 106, :_reduce_25, 4, 106, :_reduce_26, 2, 106, :_reduce_27, 2, 106, :_reduce_28, 1, 107, :_reduce_29, 1, 107, :_reduce_30, 1, 107, :_reduce_31, 1, 107, :_reduce_32, 1, 107, :_reduce_33, 1, 107, :_reduce_34, 1, 108, :_reduce_none, 4, 108, :_reduce_36, 1, 110, :_reduce_none, 3, 110, :_reduce_38, 3, 110, :_reduce_39, 3, 110, :_reduce_40, 1, 111, :_reduce_none, 3, 111, :_reduce_42, 3, 111, :_reduce_43, 1, 112, :_reduce_none, 3, 112, :_reduce_45, 3, 112, :_reduce_46, 1, 113, :_reduce_none, 3, 113, :_reduce_48, 3, 113, :_reduce_49, 3, 113, :_reduce_50, 3, 113, :_reduce_51, 1, 114, :_reduce_none, 3, 114, :_reduce_53, 3, 114, :_reduce_54, 1, 115, :_reduce_none, 3, 115, :_reduce_56, 1, 116, :_reduce_none, 3, 116, :_reduce_58, 1, 117, :_reduce_none, 3, 117, :_reduce_60, 1, 118, :_reduce_none, 3, 118, :_reduce_62, 1, 119, :_reduce_none, 3, 119, :_reduce_64, 1, 120, :_reduce_none, 5, 120, :_reduce_66, 1, 102, :_reduce_67, 1, 121, :_reduce_68, 3, 122, :_reduce_none, 1, 123, :_reduce_70, 1, 123, :_reduce_none, 1, 123, :_reduce_72, 2, 123, :_reduce_73, 2, 123, :_reduce_74, 2, 123, :_reduce_75, 1, 124, :_reduce_76, 3, 124, :_reduce_77, 1, 127, :_reduce_none, 3, 127, :_reduce_79, 1, 126, :_reduce_80, 1, 126, :_reduce_81, 1, 126, :_reduce_82, 1, 126, :_reduce_83, 1, 126, :_reduce_84, 1, 126, :_reduce_85, 1, 126, :_reduce_86, 1, 126, :_reduce_87, 1, 126, :_reduce_88, 1, 126, :_reduce_89, 1, 126, :_reduce_90, 1, 126, :_reduce_91, 1, 126, :_reduce_92, 1, 126, :_reduce_93, 0, 136, :_reduce_94, 6, 130, :_reduce_95, 0, 137, :_reduce_96, 5, 130, :_reduce_97, 2, 130, :_reduce_98, 1, 133, :_reduce_99, 1, 135, :_reduce_none, 2, 135, :_reduce_none, 1, 134, :_reduce_102, 3, 138, :_reduce_103, 2, 138, :_reduce_none, 2, 138, :_reduce_none, 1, 140, :_reduce_none, 2, 140, :_reduce_107, 1, 140, :_reduce_108, 2, 140, :_reduce_109, 1, 139, :_reduce_110, 3, 139, :_reduce_111, 1, 141, :_reduce_none, 5, 131, :_reduce_none, 4, 131, :_reduce_none, 2, 131, :_reduce_none, 1, 142, :_reduce_116, 1, 144, :_reduce_none, 2, 144, :_reduce_none, 1, 143, :_reduce_none, 3, 145, :_reduce_none, 2, 145, :_reduce_none, 2, 145, :_reduce_none, 1, 146, :_reduce_none, 3, 146, :_reduce_none, 1, 147, :_reduce_none, 4, 132, :_reduce_none, 5, 132, :_reduce_none, 2, 132, :_reduce_none, 1, 148, :_reduce_129, 1, 149, :_reduce_none, 3, 149, :_reduce_none, 1, 150, :_reduce_none, 3, 150, :_reduce_none, 1, 105, :_reduce_134, 1, 105, :_reduce_135, 2, 128, :_reduce_136, 1, 128, :_reduce_none, 2, 128, :_reduce_138, 1, 152, :_reduce_139, 3, 152, :_reduce_140, 4, 152, :_reduce_141, 3, 152, :_reduce_142, 4, 152, :_reduce_143, 3, 152, :_reduce_144, 1, 151, :_reduce_145, 2, 151, :_reduce_146, 2, 151, :_reduce_147, 3, 151, :_reduce_148, 1, 153, :_reduce_none, 5, 153, :_reduce_none, 1, 154, :_reduce_none, 3, 154, :_reduce_none, 2, 155, :_reduce_none, 2, 155, :_reduce_none, 1, 155, :_reduce_none, 1, 109, :_reduce_none, 2, 109, :_reduce_none, 1, 156, :_reduce_none, 1, 156, :_reduce_none, 2, 156, :_reduce_none, 3, 157, :_reduce_none, 2, 157, :_reduce_none, 3, 157, :_reduce_none, 3, 157, :_reduce_none, 4, 157, :_reduce_none, 2, 157, :_reduce_166, 3, 157, :_reduce_none, 3, 157, :_reduce_168, 4, 157, :_reduce_none, 1, 129, :_reduce_170, 3, 129, :_reduce_171, 4, 129, :_reduce_172, 4, 129, :_reduce_173, 1, 158, :_reduce_174, 3, 158, :_reduce_175, 0, 98, :_reduce_none, 2, 98, :_reduce_none, 1, 159, :_reduce_none, 2, 159, :_reduce_none, 1, 160, :_reduce_none, 1, 160, :_reduce_none, 2, 160, :_reduce_none, 2, 160, :_reduce_none, 1, 160, :_reduce_none, 1, 160, :_reduce_none, 1, 160, :_reduce_none, 4, 161, :_reduce_187, 1, 163, :_reduce_188, 3, 163, :_reduce_189, 3, 162, :_reduce_none, 0, 165, :_reduce_none, 2, 165, :_reduce_none, 1, 166, :_reduce_none, 1, 166, :_reduce_none, 1, 166, :_reduce_none, 1, 166, :_reduce_none, 1, 166, :_reduce_none, 1, 166, :_reduce_none, 1, 166, :_reduce_none, 1, 166, :_reduce_none, 1, 166, :_reduce_none, 1, 166, :_reduce_none, 1, 166, :_reduce_none, 5, 167, :_reduce_none, 7, 167, :_reduce_none, 5, 168, :_reduce_none, 7, 169, :_reduce_none, 9, 170, :_reduce_none, 5, 171, :_reduce_none, 3, 172, :_reduce_none, 4, 172, :_reduce_none, 3, 172, :_reduce_none, 3, 164, :_reduce_none, 3, 173, :_reduce_none, 2, 173, :_reduce_none, 2, 173, :_reduce_none, 3, 173, :_reduce_none, 2, 173, :_reduce_none, 2, 174, :_reduce_none, 4, 174, :_reduce_none, 1, 175, :_reduce_none, 1, 175, :_reduce_none, 1, 175, :_reduce_none, 1, 175, :_reduce_none, 1, 175, :_reduce_none, 1, 175, :_reduce_none, 1, 175, :_reduce_none, 1, 175, :_reduce_none, 1, 175, :_reduce_none, 1, 175, :_reduce_none, 1, 175, :_reduce_none, 1, 125, :_reduce_none, 1, 125, :_reduce_none, 1, 125, :_reduce_none, 1, 125, :_reduce_none, 1, 125, :_reduce_none, 1, 125, :_reduce_none, 1, 125, :_reduce_none, 1, 125, :_reduce_none, 1, 100, :_reduce_240, 2, 100, :_reduce_241, 3, 100, :_reduce_242 ] racc_reduce_n = 243 racc_shift_n = 400 racc_token_table = { false => 0, :error => 1, :INTEGER_CONSTANT => 2, :FLOATING_CONSTANT => 3, :OCTAL_CONSTANT => 4, :HEX_CONSTANT => 5, :CHARACTER_LITERAL => 6, "(" => 7, ")" => 8, :STRING_LITERAL => 9, "[" => 10, "]" => 11, "." => 12, :IDENTIFIER => 13, "->" => 14, "++" => 15, "--" => 16, "," => 17, :SIZEOF => 18, "&" => 19, "*" => 20, "+" => 21, "-" => 22, "~" => 23, "!" => 24, "/" => 25, "%" => 26, "<<" => 27, ">>" => 28, "<" => 29, ">" => 30, "<=" => 31, ">=" => 32, "==" => 33, "!=" => 34, "^" => 35, "|" => 36, "&&" => 37, "||" => 38, "?" => 39, ":" => 40, ";" => 41, "=" => 42, :VOID => 43, :FLOAT => 44, :DOUBLE => 45, :BOOL => 46, :TYPE_NAME => 47, :CHAR => 48, :SHORT => 49, :INT => 50, :LONG => 51, :SIGNED => 52, :UNSIGNED => 53, "{" => 54, "}" => 55, :STRUCT => 56, :UNION => 57, :ENUM => 58, :CONST => 59, :VOLATILE => 60, :C_EXP => 61, :EXTENSION => 62, :TYPEDEF => 63, :IF => 64, :ELSE => 65, :WHILE => 66, :DO => 67, :FOR => 68, :SWITCH => 69, :infunc_statment => 70, :CASE => 71, :DEFAULT => 72, :GOTO => 73, :CONTINUE => 74, :BREAK => 75, :RETURN => 76, "+=" => 77, "-=" => 78, "*=" => 79, "/=" => 80, "%=" => 81, "<<=" => 82, ">>=" => 83, "&=" => 84, "|=" => 85, "^=" => 86, :__INLINE__ => 87, :INLINE => 88, :__INLINE => 89, :CINLINE => 90, :EXTERN => 91, :STATIC => 92, :AUTO => 93, :REGISTER => 94, "::" => 95 } racc_nt_base = 96 racc_use_result_var = true Racc_arg = [ racc_action_table, racc_action_check, racc_action_default, racc_action_pointer, racc_goto_table, racc_goto_check, racc_goto_default, racc_goto_pointer, racc_nt_base, racc_reduce_table, racc_token_table, racc_shift_n, racc_reduce_n, racc_use_result_var ] Racc_token_to_s_table = [ "$end", "error", "INTEGER_CONSTANT", "FLOATING_CONSTANT", "OCTAL_CONSTANT", "HEX_CONSTANT", "CHARACTER_LITERAL", "\"(\"", "\")\"", "STRING_LITERAL", "\"[\"", "\"]\"", "\".\"", "IDENTIFIER", "\"->\"", "\"++\"", "\"--\"", "\",\"", "SIZEOF", "\"&\"", "\"*\"", "\"+\"", "\"-\"", "\"~\"", "\"!\"", "\"/\"", "\"%\"", "\"<<\"", "\">>\"", "\"<\"", "\">\"", "\"<=\"", "\">=\"", "\"==\"", "\"!=\"", "\"^\"", "\"|\"", "\"&&\"", "\"||\"", "\"?\"", "\":\"", "\";\"", "\"=\"", "VOID", "FLOAT", "DOUBLE", "BOOL", "TYPE_NAME", "CHAR", "SHORT", "INT", "LONG", "SIGNED", "UNSIGNED", "\"{\"", "\"}\"", "STRUCT", "UNION", "ENUM", "CONST", "VOLATILE", "C_EXP", "EXTENSION", "TYPEDEF", "IF", "ELSE", "WHILE", "DO", "FOR", "SWITCH", "infunc_statment", "CASE", "DEFAULT", "GOTO", "CONTINUE", "BREAK", "RETURN", "\"+=\"", "\"-=\"", "\"*=\"", "\"/=\"", "\"%=\"", "\"<<=\"", "\">>=\"", "\"&=\"", "\"|=\"", "\"^=\"", "__INLINE__", "INLINE", "__INLINE", "CINLINE", "EXTERN", "STATIC", "AUTO", "REGISTER", "\"::\"", "$start", "all", "C_parser", "primary_expression", "namespace_identifier", "string_literal_list", "expression", "postfix_expression", "argument_list", "type_qualifier", "unary_expression", "unary_operator", "cast_expression", "type_name", "multiplicative_expression", "additive_expression", "shift_expression", "relational_expression", "equality_expression", "and_expression", "exclusive_or_expression", "inclusive_or_expression", "logical_and_expression", "logical_or_expression", "conditional_expression", "constant_expression", "declaration", "declaration_specifiers", "init_declarator_list", "storage_class", "type_specifier", "init_declarator", "declarator", "initializer", "struct_specifier", "union_specifier", "enum_specifier", "struct_term", "struct_tag", "struct_declaration_list", "@1", "@2", "struct_declaration", "struct_declarator_list", "type_specifier_qualifier_list", "struct_declarator", "union_term", "union_tag", "union_declaration_list", "union_declaration", "union_declarator_list", "union_declarator", "enum_type", "enumerator_list", "enumerator", "pointer", "direct_declarator", "parameter_type_list", "parameter_list", "parameter_declaration", "abstract_declarator", "direct_abstract_declarator", "initializer_list", "extension_statement", "statement", "typedef", "func_def", "declarator_list", "compoundstatement", "infunc_statement_list", "infunc_statement", "ifstatement", "whilestatement", "dowhilestatement", "forstatement", "switchstatement", "labelstatement", "gotostatement", "expressionstatement", "assignment_operator" ] Racc_debug_parser = false ##### State transition tables end ##### # reduce 0 omitted # reduce 1 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 52) def _reduce_2(val, _values, result) result = [ :IDENTIFIER, val[0] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 60) def _reduce_3(val, _values, result) result = [ :INTEGER_CONSTANT, val[0] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 62) def _reduce_4(val, _values, result) result = [ :FLOATING_CONSTANT, val[0] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 64) def _reduce_5(val, _values, result) result = [ :OCTAL_CONSTANT, val[0] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 66) def _reduce_6(val, _values, result) result = [ :HEX_CONSTANT, val[0] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 68) def _reduce_7(val, _values, result) result = [ :CHARACTER_LITERAL, val[0] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 70) def _reduce_8(val, _values, result) result = [ :STRING_LITERAL_LIST, val[0] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 72) def _reduce_9(val, _values, result) result = [ :PARENTHESES, val[1].get_elements ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 76) def _reduce_10(val, _values, result) result = [val[0]] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 78) def _reduce_11(val, _values, result) result << val[1] result end .,., # reduce 12 omitted # reduce 13 omitted # reduce 14 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 86) def _reduce_15(val, _values, result) result = [ :OP_SUBSC, val[0], val[2] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 88) def _reduce_16(val, _values, result) result = [ :OP_DOT, val[0], val[2] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 90) def _reduce_17(val, _values, result) result = [ :OP_REF, val[0], val[2] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 91) def _reduce_18(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 92) def _reduce_19(val, _values, result) result = val[0] result end .,., # reduce 20 omitted # reduce 21 omitted # reduce 22 omitted # reduce 23 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 104) def _reduce_24(val, _values, result) result = [ val[0], val[1] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 106) def _reduce_25(val, _values, result) result = [ :OP_SIZEOF_EXPR, val[1] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 108) def _reduce_26(val, _values, result) result = [ :OP_SIZEOF_TYPE, val[1] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 109) def _reduce_27(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 110) def _reduce_28(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 113) def _reduce_29(val, _values, result) result = :OP_U_AMP result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 114) def _reduce_30(val, _values, result) result = :OP_U_ASTER result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 115) def _reduce_31(val, _values, result) result = :OP_U_PLUS result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 116) def _reduce_32(val, _values, result) result = :OP_U_MINUS result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 117) def _reduce_33(val, _values, result) result = :OP_U_TILDE result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 118) def _reduce_34(val, _values, result) result = :OP_U_EXCLAM result end .,., # reduce 35 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 123) def _reduce_36(val, _values, result) result = [ :CAST, val[1], val[3] ] result end .,., # reduce 37 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 128) def _reduce_38(val, _values, result) result = [ :OP_MULT, val[0], val[2] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 130) def _reduce_39(val, _values, result) result = [ :OP_DIV, val[0], val[2] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 132) def _reduce_40(val, _values, result) result = [ :OP_REMAIN, val[0], val[2] ] result end .,., # reduce 41 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 137) def _reduce_42(val, _values, result) result = [ :OP_ADD, val[0], val[2] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 139) def _reduce_43(val, _values, result) result = [ :OP_SUB, val[0], val[2] ] result end .,., # reduce 44 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 144) def _reduce_45(val, _values, result) result = [ :OP_LSFT, val[0], val[2] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 146) def _reduce_46(val, _values, result) result = [ :OP_RSFT, val[0], val[2] ] result end .,., # reduce 47 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 151) def _reduce_48(val, _values, result) result = [ :OP_LT, val[0], val[2] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 153) def _reduce_49(val, _values, result) result = [ :OP_GT, val[0], val[2] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 155) def _reduce_50(val, _values, result) result = [ :OP_LE, val[0], val[2] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 157) def _reduce_51(val, _values, result) result = [ :OP_GE, val[0], val[2] ] result end .,., # reduce 52 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 162) def _reduce_53(val, _values, result) result = [ :OP_EQ, val[0], val[2] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 164) def _reduce_54(val, _values, result) result = [ :OP_NE, val[0], val[2] ] result end .,., # reduce 55 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 169) def _reduce_56(val, _values, result) result = [ :OP_AND, val[0], val[2] ] result end .,., # reduce 57 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 174) def _reduce_58(val, _values, result) result = [ :OP_EOR, val[0], val[2] ] result end .,., # reduce 59 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 179) def _reduce_60(val, _values, result) result = [ :OP_OR, val[0], val[2] ] result end .,., # reduce 61 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 184) def _reduce_62(val, _values, result) result = [ :OP_LAND, val[0], val[2] ] result end .,., # reduce 63 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 189) def _reduce_64(val, _values, result) result = [ :OP_LOR, val[0], val[2] ] result end .,., # reduce 65 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 194) def _reduce_66(val, _values, result) result = [ :OP_CEX, val[0], val[2].get_elements, val[4] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 201) def _reduce_67(val, _values, result) result = Expression.new( val[0] ) # result.print result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 208) def _reduce_68(val, _values, result) result = Expression.new( val[0] ) # result.print # res = result.eval_const( nil ) # if res then # puts "val: #{res}" # else # puts "val: nil" # end result end .,., # reduce 69 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 237) def _reduce_70(val, _values, result) result = CIntType.new( -3 ) # storage class は無視 result end .,., # reduce 71 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 242) def _reduce_72(val, _values, result) result = CIntType.new( -3 ) result.set_qualifier val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 247) def _reduce_73(val, _values, result) result = val[1] # storage class は無視 result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 251) def _reduce_74(val, _values, result) result = val[1].merge val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 255) def _reduce_75(val, _values, result) val[1].set_qualifier val[0] result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 262) def _reduce_76(val, _values, result) result = [val[0]] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 264) def _reduce_77(val, _values, result) result << val[2] result end .,., # reduce 78 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 269) def _reduce_79(val, _values, result) val[0].set_initializer( val[2] ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 272) def _reduce_80(val, _values, result) set_no_type_name true; result = CVoidType.new result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 273) def _reduce_81(val, _values, result) set_no_type_name true; result = CFloatType.new(-32) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 274) def _reduce_82(val, _values, result) set_no_type_name true; result = CFloatType.new(-64) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 275) def _reduce_83(val, _values, result) set_no_type_name true; result = CBoolType.new result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 276) def _reduce_84(val, _values, result) set_no_type_name true; result = val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 277) def _reduce_85(val, _values, result) set_no_type_name true; result = CVoidType.new result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 278) def _reduce_86(val, _values, result) set_no_type_name true; result = CVoidType.new result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 279) def _reduce_87(val, _values, result) set_no_type_name true; result = CDefinedType.new( val[0].val ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 281) def _reduce_88(val, _values, result) set_no_type_name true; result = CIntType.new(-11 ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 282) def _reduce_89(val, _values, result) set_no_type_name true; result = CIntType.new( -2 ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 283) def _reduce_90(val, _values, result) set_no_type_name true; result = CIntType.new( -3 ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 284) def _reduce_91(val, _values, result) set_no_type_name true; result = CIntType.new( -4 ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 287) def _reduce_92(val, _values, result) set_no_type_name true result = CIntType.new( -3 ) result.set_sign :SIGNED result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 293) def _reduce_93(val, _values, result) set_no_type_name true result = CIntType.new( -3 ) result.set_sign :UNSIGNED result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 302) def _reduce_94(val, _values, result) StructType.set_define( true ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 305) def _reduce_95(val, _values, result) StructType.end_of_parse result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 311) def _reduce_96(val, _values, result) result = CStructType.new() StructType.set_define( true ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 316) def _reduce_97(val, _values, result) StructType.end_of_parse result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 322) def _reduce_98(val, _values, result) StructType.set_define( false ) StructType.end_of_parse result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 328) def _reduce_99(val, _values, result) set_no_type_name true result end .,., # reduce 100 omitted # reduce 101 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 337) def _reduce_102(val, _values, result) result = CStructType.new( val[0].val ) set_no_type_name true result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 346) def _reduce_103(val, _values, result) val[1].each { |i| # i: Decl i.set_type( val[0] ) i.set_kind( :MEMBER ) i.check CStructType.new_member( i ) } result = val[1] result end .,., # reduce 104 omitted # reduce 105 omitted # reduce 106 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 365) def _reduce_107(val, _values, result) result = val[1].merge val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 369) def _reduce_108(val, _values, result) result = CIntType.new( -3 ) result.set_qualifier val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 374) def _reduce_109(val, _values, result) val[1].set_qualifier val[0] result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 380) def _reduce_110(val, _values, result) result = [ val[0] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 382) def _reduce_111(val, _values, result) result << val[2] result end .,., # reduce 112 omitted # reduce 113 omitted # reduce 114 omitted # reduce 115 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 399) def _reduce_116(val, _values, result) set_no_type_name true result end .,., # reduce 117 omitted # reduce 118 omitted # reduce 119 omitted # reduce 120 omitted # reduce 121 omitted # reduce 122 omitted # reduce 123 omitted # reduce 124 omitted # reduce 125 omitted # reduce 126 omitted # reduce 127 omitted # reduce 128 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 430) def _reduce_129(val, _values, result) result = CEnumType.new( -1 ) result end .,., # reduce 130 omitted # reduce 131 omitted # reduce 132 omitted # reduce 133 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 446) def _reduce_134(val, _values, result) result = :CONST result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 447) def _reduce_135(val, _values, result) result = :VOLATILE result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 452) def _reduce_136(val, _values, result) val[1].set_type( val[0] ) result = val[1] result end .,., # reduce 137 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 458) def _reduce_138(val, _values, result) result = Decl.new( val[1].val ) result.set_type( val[0] ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 464) def _reduce_139(val, _values, result) result = Decl.new( val[0].val ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 466) def _reduce_140(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 469) def _reduce_141(val, _values, result) val[0].set_type( CArrayType.new( val[2] ) ) result = val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 474) def _reduce_142(val, _values, result) val[0].set_type( CArrayType.new ) result = val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 479) def _reduce_143(val, _values, result) # Generator.warning( "W6001 need 'void' for no parameter" ) val[0].set_type( CFuncType.new ) result = val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 487) def _reduce_144(val, _values, result) # Generator.warning( "W6002 need 'void' for no parameter" ) val[0].set_type( CFuncType.new ) result = val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 494) def _reduce_145(val, _values, result) result = CPtrType.new result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 497) def _reduce_146(val, _values, result) result = CPtrType.new result.set_qualifier( val[1] ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 502) def _reduce_147(val, _values, result) val[1].set_type(CPtrType.new) result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 507) def _reduce_148(val, _values, result) ptrtype = CPtrType.new ptrtype.set_qualifier( val[1] ) val[2].set_type( ptrtype ) result = val[2] result end .,., # reduce 149 omitted # reduce 150 omitted # reduce 151 omitted # reduce 152 omitted # reduce 153 omitted # reduce 154 omitted # reduce 155 omitted # reduce 156 omitted # reduce 157 omitted # reduce 158 omitted # reduce 159 omitted # reduce 160 omitted # reduce 161 omitted # reduce 162 omitted # reduce 163 omitted # reduce 164 omitted # reduce 165 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 571) def _reduce_166(val, _values, result) Generator.warning( "W6003 need 'void' for no parameter" ) result end .,., # reduce 167 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 576) def _reduce_168(val, _values, result) Generator.warning( "W6004 need 'void' for no parameter" ) result end .,., # reduce 169 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 583) def _reduce_170(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 585) def _reduce_171(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 587) def _reduce_172(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 589) def _reduce_173(val, _values, result) result = C_EXP.new( val[2] ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 594) def _reduce_174(val, _values, result) result = [ val[0] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 598) def _reduce_175(val, _values, result) val[0] << val[2] result = val[0] result end .,., # reduce 176 omitted # reduce 177 omitted # reduce 178 omitted # reduce 179 omitted # reduce 180 omitted # reduce 181 omitted # reduce 182 omitted # reduce 183 omitted # reduce 184 omitted # reduce 185 omitted # reduce 186 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 626) def _reduce_187(val, _values, result) val[2].each{ |i| i.set_kind( :TYPEDEF ) } Typedef.new_decl_list( val[1], val[2] ) # val[1].show_tree 0 result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 635) def _reduce_188(val, _values, result) result = [ val[0] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 637) def _reduce_189(val, _values, result) result << val[2] result end .,., # reduce 190 omitted # reduce 191 omitted # reduce 192 omitted # reduce 193 omitted # reduce 194 omitted # reduce 195 omitted # reduce 196 omitted # reduce 197 omitted # reduce 198 omitted # reduce 199 omitted # reduce 200 omitted # reduce 201 omitted # reduce 202 omitted # reduce 203 omitted # reduce 204 omitted # reduce 205 omitted # reduce 206 omitted # reduce 207 omitted # reduce 208 omitted # reduce 209 omitted # reduce 210 omitted # reduce 211 omitted # reduce 212 omitted # reduce 213 omitted # reduce 214 omitted # reduce 215 omitted # reduce 216 omitted # reduce 217 omitted # reduce 218 omitted # reduce 219 omitted # reduce 220 omitted # reduce 221 omitted # reduce 222 omitted # reduce 223 omitted # reduce 224 omitted # reduce 225 omitted # reduce 226 omitted # reduce 227 omitted # reduce 228 omitted # reduce 229 omitted # reduce 230 omitted # reduce 231 omitted # reduce 232 omitted # reduce 233 omitted # reduce 234 omitted # reduce 235 omitted # reduce 236 omitted # reduce 237 omitted # reduce 238 omitted # reduce 239 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 718) def _reduce_240(val, _values, result) result = NamespacePath.new( val[0].val, false ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 719) def _reduce_241(val, _values, result) result = NamespacePath.new( val[1].val, true ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 721) def _reduce_242(val, _values, result) result = val[0].append!( val[2].val ) result end .,., def _reduce_none(val, _values, result) val[0] end end # class C_parser