# # DO NOT MODIFY!!!! # This file is automatically generated by Racc 1.4.12 # 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', 715) 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 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 # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でエラー発生は不適切) 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.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 # print "b_no_type_name=#{b_no_type_name}\n" @b_no_type_name = b_no_type_name end ...end C_parser.y.rb/module_eval... ##### State transition tables begin ### clist = [ '104,105,106,107,108,110,68,111,66,179,300,141,53,116,117,206,115,118', '119,120,121,122,123,104,105,106,107,108,110,168,111,203,204,207,141', '74,116,117,168,115,118,119,120,121,122,123,303,208,67,299,65,26,27,104', '105,106,107,108,110,73,111,26,27,75,141,348,116,117,167,115,118,119', '120,121,122,123,77,265,195,196,160,304,305,306,307,308,309,310,311,312', '313,262,351,142,8,9,10,11,15,16,17,18,19,20,21,22,53,192,23,25,26,27', '193,194,343,261,142,104,105,106,107,108,110,344,111,172,340,151,141', '272,116,117,251,115,118,119,120,121,122,123,104,105,106,107,108,110', '142,111,355,171,339,141,81,116,117,80,115,118,119,120,121,122,123,104', '105,106,107,108,110,52,111,195,196,3,141,51,116,117,359,115,118,119', '120,121,122,123,104,105,106,107,108,110,373,111,96,335,361,141,334,116', '117,344,115,118,119,120,121,122,123,79,142,247,335,272,251,334,251,51', '104,105,106,107,108,110,81,111,53,80,362,234,363,116,117,142,115,118', '119,120,121,122,123,247,52,364,251,197,198,51,51,197,198,79,197,198', '53,53,142,228,365,8,9,10,11,15,16,17,18,19,20,21,22,77,192,23,25,26', '27,193,194,142,229,95,230,231,232,233,87,235,236,238,239,240,241,192', '199,200,201,202,193,194,197,198,370,37,38,39,40,41,42,43,44,142,104', '105,106,107,108,110,86,111,203,204,85,141,375,116,117,376,115,118,119', '120,121,122,123,104,105,106,107,108,110,377,111,195,196,378,141,379', '116,117,380,115,118,119,120,121,122,123,104,105,106,107,108,110,382', '111,383,35,384,141,63,116,117,60,115,118,119,120,121,122,123,104,105', '106,107,108,110,389,111,209,210,390,141,391,116,117,392,115,118,119', '120,121,122,123,59,142,394,34,396,8,9,10,11,15,16,17,18,19,20,21,22', '52,278,23,25,26,27,51,142,36,52,52,52,35,53,52,51,51,51,197,198,51,45', '53,53,53,277,275,53,269,268,142,267,37,38,39,40,41,42,43,44,181,95,182', '254,183,184,185,199,200,201,202,253,34,142,8,9,10,11,15,16,17,18,19', '20,21,22,245,244,23,25,26,27,243,30,36,104,105,106,107,108,110,214,111', '213,208,207,141,206,116,117,205,115,118,119,120,121,122,123,37,38,39', '40,41,42,43,44,301,104,105,106,107,108,110,314,111,315,317,318,234,319', '116,117,321,115,118,119,120,121,122,123,52,52,52,322,52,323,51,51,51', '324,51,327,174,53,53,53,228,53,8,9,10,11,15,16,17,18,19,20,21,22,77', '173,23,25,26,27,75,95,142,229,169,230,231,232,233,161,235,236,238,239', '240,241,199,200,201,202,346,347,205,,,,37,38,39,40,41,42,43,44,142,104', '105,106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123', ',,104,105,106,107,108,110,,111,,,,234,,116,117,,115,118,119,120,121', '122,123,,,,,,,,,,,,,,,,,228,,8,9,10,11,15,16,17,18,19,20,21,22,77,,23', '25,26,27,,,,229,,230,231,232,233,142,235,236,238,239,240,241,,,,,,,', ',,,37,38,39,40,41,42,43,44,142,104,105,106,107,108,110,,111,,,,234,', '116,117,,115,118,119,120,121,122,123,,,,,,,,,,,,,,,,,228,,8,9,10,11', '15,16,17,18,19,20,21,22,77,,23,25,26,27,,,,229,,230,231,232,233,,235', '236,238,239,240,241,,,,,,,,,,,37,38,39,40,41,42,43,44,142,104,105,106', '107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123,104,105', '106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123,104', '105,106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123', '104,105,106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122', '123,,142,,,,,,,,104,105,106,107,108,110,,111,,,,141,,116,117,142,115', '118,119,120,121,122,123,104,105,106,107,108,110,,111,,366,,141,,116', '117,142,115,118,119,120,121,122,123,,,,,,,,104,105,106,107,108,110,', '111,142,,,234,,116,117,,115,118,119,120,121,122,123,,,,,,,,,,,,,,,,', '228,142,8,9,10,11,15,16,17,18,19,20,21,22,77,,23,25,26,27,,,,229,142', '230,231,232,233,,235,236,238,239,240,241,,,,,,,,,,,37,38,39,40,41,42', '43,44,142,104,105,106,107,108,110,,111,,,,234,,116,117,,115,118,119', '120,121,122,123,,,,,,,,,,,,,,,,,228,,8,9,10,11,15,16,17,18,19,20,21', '22,77,,23,25,26,27,,,,229,,230,231,232,233,,235,236,238,239,240,241', ',,,,,,,,,,37,38,39,40,41,42,43,44,142,104,105,106,107,108,110,,111,', ',,234,,116,117,,115,118,119,120,121,122,123,,,,,,,,,,,,,,,,,228,,8,9', '10,11,15,16,17,18,19,20,21,22,77,,23,25,26,27,,,,229,,230,231,232,233', ',235,236,238,239,240,241,,,,,,,,,,,37,38,39,40,41,42,43,44,142,104,105', '106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123,104', '105,106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123', '104,105,106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122', '123,104,105,106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121', '122,123,,142,,,,,,139,,,,,,140,104,105,106,107,108,110,,111,,145,142', '141,,116,117,,115,118,119,120,121,122,123,104,105,106,107,108,110,,111', ',,142,141,,116,117,,115,118,119,120,121,122,123,104,105,106,107,108', '110,,111,,,142,141,,116,117,,115,118,119,120,121,122,123,104,105,106', '107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123,,142,', ',,,,,,104,105,106,107,108,110,,111,,,,141,,116,117,142,115,118,119,120', '121,122,123,104,105,106,107,108,110,,111,,,,141,,116,117,142,115,118', '119,120,121,122,123,104,105,106,107,108,110,,111,,,,141,,116,117,142', '115,118,119,120,121,122,123,104,105,106,107,108,110,,111,,,,141,,116', '117,,115,118,119,120,121,122,123,,142,,,,,,139,349,,,,,140,104,105,106', '107,108,110,,111,,,142,141,,116,117,,115,118,119,120,121,122,123,104', '105,106,107,108,110,,111,,,142,141,,116,117,,115,118,119,120,121,122', '123,104,105,106,107,108,110,,111,,,142,141,,116,117,,115,118,119,120', '121,122,123,104,105,106,107,108,110,,111,,,,141,,116,117,,115,118,119', '120,121,122,123,,142,,,,,,,,104,105,106,107,108,110,,111,,,,141,,116', '117,142,115,118,119,120,121,122,123,104,105,106,107,108,110,,111,,,', '141,,116,117,142,115,118,119,120,121,122,123,104,105,106,107,108,110', ',111,,,,141,,116,117,142,115,118,119,120,121,122,123,,,,,,,,,,104,105', '106,107,108,110,,111,,,,234,,116,117,142,115,118,119,120,121,122,123', ',,,,,,,,,,,,,,,142,228,,8,9,10,11,15,16,17,18,19,20,21,22,77,237,23', '25,26,27,,,142,229,,230,231,232,233,,235,236,238,239,240,241,,,,,,,', ',,,37,38,39,40,41,42,43,44,142,104,105,106,107,108,110,,111,,336,,141', ',116,117,,115,118,119,120,121,122,123,104,105,106,107,108,110,,111,', ',,141,,116,117,,115,118,119,120,121,122,123,8,9,10,11,15,16,17,18,19', '20,21,22,,,23,25,26,27,8,9,10,11,15,16,17,18,19,20,21,22,,,23,25,26', '27,,104,105,106,107,108,110,,111,,,142,141,,116,117,,115,118,119,120', '121,122,123,104,105,106,107,108,110,,111,,,142,141,,116,117,,115,118', '119,120,121,122,123,104,105,106,107,108,110,,111,,,,141,,116,117,,115', '118,119,120,121,122,123,104,105,106,107,108,187,,111,,,,141,,116,117', ',115,118,119,120,121,122,123,,142,,,,,,,,104,105,106,107,108,189,,111', ',,,141,,116,117,142,115,118,119,120,121,122,123,104,105,106,107,108', '189,,111,,,,141,,116,117,142,115,118,119,120,121,122,123,104,105,106', '107,108,110,,111,,,,141,,116,117,142,115,118,119,120,121,122,123,104', '105,106,107,108,110,,111,,,,141,,116,117,,115,118,119,120,121,122,123', ',142,,,,,,139,,,,,,140,272,332,326,251,104,105,106,107,108,110,142,111', ',53,,141,,116,117,,115,118,119,120,121,122,123,,,,,,,142,,,8,9,10,11', '15,16,17,18,19,20,21,22,,,23,25,26,27,,,142,104,105,106,107,108,110', ',111,,,,234,,116,117,,115,118,119,120,121,122,123,37,38,39,40,41,42', '43,44,,,,,,,,,228,142,8,9,10,11,15,16,17,18,19,20,21,22,77,,23,25,26', '27,,,,229,,230,231,232,233,,235,236,238,239,240,241,368,,,,,,,,,,37', '38,39,40,41,42,43,44,142,247,332,,251,,,51,,,,,,,53,,,8,9,10,11,15,16', '17,18,19,20,21,22,,,23,25,26,27,,,8,9,10,11,15,16,17,18,19,20,21,22', ',,23,25,26,27,147,,,,,,37,38,39,40,41,42,43,44,,,,,,,,,328,,,,37,38', '39,40,41,42,43,44,,8,9,10,11,15,16,17,18,19,20,21,22,,,23,25,26,27,8', '9,10,11,15,16,17,18,19,20,21,22,,,23,25,26,27,,,,,,,,,37,38,39,40,41', '42,43,44,,,,,,,,,,,37,38,39,40,41,42,43,44,8,9,10,11,15,16,17,18,19', '20,21,22,,,23,25,26,27,8,9,10,11,15,16,17,18,19,20,21,22,,338,23,25', '26,27,,,,,,,,,37,38,39,40,41,42,43,44,,,,,,,,,,,37,38,39,40,41,42,43', '44,8,9,10,11,15,16,17,18,19,20,21,22,,162,23,25,26,27,8,9,10,11,15,16', '17,18,19,20,21,22,,,23,25,26,27,,,,,,,,,37,38,39,40,41,42,43,44,,,,', ',,,,,,37,38,39,40,41,42,43,44,8,9,10,11,15,16,17,18,19,20,21,22,,,23', '25,26,27,8,9,10,11,15,16,17,18,19,20,21,22,,,23,25,26,27,,,,,,,,,37', '38,39,40,41,42,43,44,,,,,,,,,,,37,38,39,40,41,42,43,44,8,9,10,11,15', '16,17,18,19,20,21,22,,255,23,25,26,27,8,9,10,11,15,16,17,18,19,20,21', '22,,,23,25,26,27,,,,,,,,,37,38,39,40,41,42,43,44,,,,,,,,,,,37,38,39', '40,41,42,43,44,8,9,10,11,15,16,17,18,19,20,21,22,,260,23,25,26,27,8', '9,10,11,15,16,17,18,19,20,21,22,,,23,25,26,27,,,,,,,,,37,38,39,40,41', '42,43,44,,,,,,,,,,,37,38,39,40,41,42,43,44,8,9,10,11,15,16,17,18,19', '20,21,22,,,23,25,26,27,8,9,10,11,15,16,17,18,19,20,21,22,,,23,25,26', '27,,,,,,,,,37,38,39,40,41,42,43,44,8,9,10,11,15,16,17,18,19,20,21,22', ',,23,25,26,27' ] racc_action_table = arr = ::Array.new(2877, 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 = [ '208,208,208,208,208,208,24,208,23,112,211,208,53,208,208,295,208,208', '208,208,208,208,208,209,209,209,209,209,209,93,209,130,130,296,209,46', '209,209,170,209,209,209,209,209,209,209,215,297,24,211,23,53,53,187', '187,187,187,187,187,46,187,112,112,48,187,298,187,187,93,187,187,187', '187,187,187,187,48,170,285,285,88,215,215,215,215,215,215,215,215,215', '215,164,301,208,187,187,187,187,187,187,187,187,187,187,187,187,83,283', '187,187,187,187,283,283,273,164,209,392,392,392,392,392,392,273,392', '99,257,82,392,271,392,392,271,392,392,392,392,392,392,392,179,179,179', '179,179,179,187,179,316,99,257,179,50,179,179,50,179,179,179,179,179', '179,179,192,192,192,192,192,192,49,192,286,286,1,192,49,192,192,320', '192,192,192,192,192,192,192,193,193,193,193,193,193,345,193,68,250,322', '193,250,193,193,345,193,193,193,193,193,193,193,49,392,246,330,178,246', '330,178,246,390,390,390,390,390,390,78,390,178,78,325,390,328,390,390', '179,390,390,390,390,390,390,390,150,158,331,150,287,287,150,158,288', '288,246,289,289,150,158,192,390,333,390,390,390,390,390,390,390,390', '390,390,390,390,390,284,390,390,390,390,284,284,193,390,67,390,390,390', '390,64,390,390,390,390,390,390,126,129,129,129,129,126,126,290,290,337', '390,390,390,390,390,390,390,390,390,379,379,379,379,379,379,62,379,293', '293,61,379,352,379,379,353,379,379,379,379,379,379,379,378,378,378,378', '378,378,354,378,127,127,355,378,356,378,378,357,378,378,378,378,378', '378,378,194,194,194,194,194,194,363,194,367,30,369,194,22,194,194,14', '194,194,194,194,194,194,194,195,195,195,195,195,195,380,195,135,135', '385,195,387,195,195,388,195,195,195,195,195,195,195,12,379,391,30,395', '30,30,30,30,30,30,30,30,30,30,30,30,92,183,30,30,30,30,92,378,30,262', '74,4,2,92,72,262,74,4,128,128,72,3,262,74,4,182,180,72,176,175,194,173', '30,30,30,30,30,30,30,30,113,168,113,155,113,113,113,291,291,291,291', '154,2,195,2,2,2,2,2,2,2,2,2,2,2,2,148,146,2,2,2,2,144,2,2,196,196,196', '196,196,196,142,196,140,134,133,196,132,196,196,131,196,196,196,196', '196,196,196,2,2,2,2,2,2,2,2,213,377,377,377,377,377,377,229,377,230', '232,233,377,234,377,377,236,377,377,377,377,377,377,377,340,216,172', '238,52,239,340,216,172,240,52,242,109,340,216,172,377,52,377,377,377', '377,377,377,377,377,377,377,377,377,377,103,377,377,377,377,102,96,196', '377,95,377,377,377,377,89,377,377,377,377,377,377,292,292,292,292,276', '279,294,,,,377,377,377,377,377,377,377,377,377,169,169,169,169,169,169', ',169,,,,169,,169,169,,169,169,169,169,169,169,169,,,376,376,376,376', '376,376,,376,,,,376,,376,376,,376,376,376,376,376,376,376,,,,,,,,,,', ',,,,,,376,,376,376,376,376,376,376,376,376,376,376,376,376,376,,376', '376,376,376,,,,376,,376,376,376,376,169,376,376,376,376,376,376,,,,', ',,,,,,376,376,376,376,376,376,376,376,376,359,359,359,359,359,359,,359', ',,,359,,359,359,,359,359,359,359,359,359,359,,,,,,,,,,,,,,,,,359,,359', '359,359,359,359,359,359,359,359,359,359,359,359,,359,359,359,359,,,', '359,,359,359,359,359,,359,359,359,359,359,359,,,,,,,,,,,359,359,359', '359,359,359,359,359,359,197,197,197,197,197,197,,197,,,,197,,197,197', ',197,197,197,197,197,197,197,348,348,348,348,348,348,,348,,,,348,,348', '348,,348,348,348,348,348,348,348,344,344,344,344,344,344,,344,,,,344', ',344,344,,344,344,344,344,344,344,344,189,189,189,189,189,189,,189,', ',,189,,189,189,,189,189,189,189,189,189,189,,197,,,,,,,,198,198,198', '198,198,198,,198,,,,198,,198,198,348,198,198,198,198,198,198,198,334', '334,334,334,334,334,,334,,334,,334,,334,334,344,334,334,334,334,334', '334,334,,,,,,,,321,321,321,321,321,321,,321,189,,,321,,321,321,,321', '321,321,321,321,321,321,,,,,,,,,,,,,,,,,321,198,321,321,321,321,321', '321,321,321,321,321,321,321,321,,321,321,321,321,,,,321,334,321,321', '321,321,,321,321,321,321,321,321,,,,,,,,,,,321,321,321,321,321,321,321', '321,321,319,319,319,319,319,319,,319,,,,319,,319,319,,319,319,319,319', '319,319,319,,,,,,,,,,,,,,,,,319,,319,319,319,319,319,319,319,319,319', '319,319,319,319,,319,319,319,319,,,,319,,319,319,319,319,,319,319,319', '319,319,319,,,,,,,,,,,319,319,319,319,319,319,319,319,319,396,396,396', '396,396,396,,396,,,,396,,396,396,,396,396,396,396,396,396,396,,,,,,', ',,,,,,,,,,396,,396,396,396,396,396,396,396,396,396,396,396,396,396,', '396,396,396,396,,,,396,,396,396,396,396,,396,396,396,396,396,396,,,', ',,,,,,,396,396,396,396,396,396,396,396,396,318,318,318,318,318,318,', '318,,,,318,,318,318,,318,318,318,318,318,318,318,317,317,317,317,317', '317,,317,,,,317,,317,317,,317,317,317,317,317,317,317,75,75,75,75,75', '75,,75,,,,75,,75,75,,75,75,75,75,75,75,75,315,315,315,315,315,315,,315', ',,,315,,315,315,,315,315,315,315,315,315,315,,318,,,,,,75,,,,,,75,80', '80,80,80,80,80,,80,,80,317,80,,80,80,,80,80,80,80,80,80,80,181,181,181', '181,181,181,,181,,,75,181,,181,181,,181,181,181,181,181,181,181,314', '314,314,314,314,314,,314,,,315,314,,314,314,,314,314,314,314,314,314', '314,302,302,302,302,302,302,,302,,,,302,,302,302,,302,302,302,302,302', '302,302,,80,,,,,,,,199,199,199,199,199,199,,199,,,,199,,199,199,181', '199,199,199,199,199,199,199,200,200,200,200,200,200,,200,,,,200,,200', '200,314,200,200,200,200,200,200,200,300,300,300,300,300,300,,300,,,', '300,,300,300,302,300,300,300,300,300,300,300,275,275,275,275,275,275', ',275,,,,275,,275,275,,275,275,275,275,275,275,275,,199,,,,,,300,300', ',,,,300,201,201,201,201,201,201,,201,,,200,201,,201,201,,201,201,201', '201,201,201,201,207,207,207,207,207,207,,207,,,300,207,,207,207,,207', '207,207,207,207,207,207,210,210,210,210,210,210,,210,,,275,210,,210', '210,,210,210,210,210,210,210,210,202,202,202,202,202,202,,202,,,,202', ',202,202,,202,202,202,202,202,202,202,,201,,,,,,,,269,269,269,269,269', '269,,269,,,,269,,269,269,207,269,269,269,269,269,269,269,203,203,203', '203,203,203,,203,,,,203,,203,203,210,203,203,203,203,203,203,203,204', '204,204,204,204,204,,204,,,,204,,204,204,202,204,204,204,204,204,204', '204,,,,,,,,,,143,143,143,143,143,143,,143,,,,143,,143,143,269,143,143', '143,143,143,143,143,,,,,,,,,,,,,,,,203,143,,143,143,143,143,143,143', '143,143,143,143,143,143,143,143,143,143,143,143,,,204,143,,143,143,143', '143,,143,143,143,143,143,143,,,,,,,,,,,143,143,143,143,143,143,143,143', '143,251,251,251,251,251,251,,251,,251,,251,,251,251,,251,251,251,251', '251,251,251,110,110,110,110,110,110,,110,,,,110,,110,110,,110,110,110', '110,110,110,110,70,70,70,70,70,70,70,70,70,70,70,70,,,70,70,70,70,110', '110,110,110,110,110,110,110,110,110,110,110,,,110,110,110,110,,205,205', '205,205,205,205,,205,,,251,205,,205,205,,205,205,205,205,205,205,205', '206,206,206,206,206,206,,206,,,110,206,,206,206,,206,206,206,206,206', '206,206,114,114,114,114,114,114,,114,,,,114,,114,114,,114,114,114,114', '114,114,114,115,115,115,115,115,115,,115,,,,115,,115,115,,115,115,115', '115,115,115,115,,205,,,,,,,,116,116,116,116,116,116,,116,,,,116,,116', '116,206,116,116,116,116,116,116,116,117,117,117,117,117,117,,117,,,', '117,,117,117,114,117,117,117,117,117,117,117,139,139,139,139,139,139', ',139,,,,139,,139,139,115,139,139,139,139,139,139,139,241,241,241,241', '241,241,,241,,,,241,,241,241,,241,241,241,241,241,241,241,,116,,,,,', '139,,,,,,139,272,272,241,272,235,235,235,235,235,235,117,235,,272,,235', ',235,235,,235,235,235,235,235,235,235,,,,,,,139,,,272,272,272,272,272', '272,272,272,272,272,272,272,,,272,272,272,272,,,241,231,231,231,231', '231,231,,231,,,,231,,231,231,,231,231,231,231,231,231,231,272,272,272', '272,272,272,272,272,,,,,,,,,231,235,231,231,231,231,231,231,231,231', '231,231,231,231,231,,231,231,231,231,,,,231,,231,231,231,231,,231,231', '231,231,231,231,335,,,,,,,,,,231,231,231,231,231,231,231,231,231,247', '247,,247,,,247,,,,,,,247,,,335,335,335,335,335,335,335,335,335,335,335', '335,,,335,335,335,335,,,247,247,247,247,247,247,247,247,247,247,247', '247,,,247,247,247,247,81,,,,,,335,335,335,335,335,335,335,335,,,,,,', ',,245,,,,247,247,247,247,247,247,247,247,,81,81,81,81,81,81,81,81,81', '81,81,81,,,81,81,81,81,245,245,245,245,245,245,245,245,245,245,245,245', ',,245,245,245,245,,,,,,,,,81,81,81,81,81,81,81,81,,,,,,,,,,,245,245', '245,245,245,245,245,245,5,5,5,5,5,5,5,5,5,5,5,5,,,5,5,5,5,252,252,252', '252,252,252,252,252,252,252,252,252,,252,252,252,252,252,,,,,,,,,5,5', '5,5,5,5,5,5,,,,,,,,,,,252,252,252,252,252,252,252,252,90,90,90,90,90', '90,90,90,90,90,90,90,,90,90,90,90,90,153,153,153,153,153,153,153,153', '153,153,153,153,,,153,153,153,153,,,,,,,,,90,90,90,90,90,90,90,90,,', ',,,,,,,,153,153,153,153,153,153,153,153,87,87,87,87,87,87,87,87,87,87', '87,87,,,87,87,87,87,86,86,86,86,86,86,86,86,86,86,86,86,,,86,86,86,86', ',,,,,,,,87,87,87,87,87,87,87,87,,,,,,,,,,,86,86,86,86,86,86,86,86,156', '156,156,156,156,156,156,156,156,156,156,156,,156,156,156,156,156,65', '65,65,65,65,65,65,65,65,65,65,65,,,65,65,65,65,,,,,,,,,156,156,156,156', '156,156,156,156,,,,,,,,,,,65,65,65,65,65,65,65,65,159,159,159,159,159', '159,159,159,159,159,159,159,,159,159,159,159,159,7,7,7,7,7,7,7,7,7,7', '7,7,,,7,7,7,7,,,,,,,,,159,159,159,159,159,159,159,159,,,,,,,,,,,7,7', '7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,,,6,6,6,6,36,36,36,36,36,36,36,36', '36,36,36,36,,,36,36,36,36,,,,,,,,,6,6,6,6,6,6,6,6,71,71,71,71,71,71', '71,71,71,71,71,71,,,71,71,71,71' ] racc_action_check = arr = ::Array.new(2877, 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, 173, 432, 442, 425, 2414, 2764, 2712, nil, nil, nil, nil, 363, nil, 332, nil, nil, nil, nil, nil, nil, nil, 357, -5, -7, nil, nil, nil, nil, nil, 366, nil, nil, nil, nil, nil, 2782, nil, nil, nil, nil, nil, nil, nil, nil, nil, 18, nil, 21, 162, 145, nil, 548, -8, nil, nil, nil, nil, nil, nil, nil, 267, 263, nil, 231, 2642, nil, 268, 139, nil, 1860, 2816, 428, nil, 424, 1315, nil, nil, 217, nil, 1375, 2344, 119, 86, nil, nil, 2572, 2554, 39, 555, 2484, nil, 414, 12, nil, 549, 575, nil, nil, 108, nil, nil, 545, 487, nil, nil, nil, nil, nil, 554, 1878, nil, 2, 451, 1984, 2007, 2039, 2062, nil, nil, nil, nil, nil, nil, nil, nil, 273, 322, 412, 265, -2, 492, 473, 470, 468, 351, nil, nil, nil, 2085, 497, nil, 489, 1761, 482, nil, 480, nil, 470, nil, 234, nil, nil, 2502, 431, 423, 2624, nil, 235, 2694, nil, nil, nil, nil, 74, nil, nil, nil, 449, 620, 21, nil, 546, 439, nil, 442, 441, nil, 206, 138, 440, 1398, 433, 409, nil, nil, nil, 51, nil, 902, nil, nil, 161, 184, 356, 379, 494, 833, 934, 1476, 1499, 1582, 1651, 1706, 1729, 1938, 1961, 1605, -2, 21, 1628, -7, nil, 518, nil, 4, 545, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 527, 529, 2202, 530, 531, 500, 2149, 503, nil, 541, 515, 519, 2108, 521, nil, nil, 2362, 204, 2291, nil, nil, 188, 1855, 2432, nil, nil, nil, nil, 109, nil, nil, nil, nil, 423, nil, nil, nil, nil, nil, nil, 1683, nil, 122, 2140, 106, nil, 1545, 596, nil, nil, 600, nil, nil, nil, 87, 252, 57, 150, 218, 222, 225, 273, 439, 574, 287, 590, -20, -3, 10, 25, nil, 1522, 84, 1444, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 1421, 1338, 82, 1292, 1269, 1081, 138, 987, 155, nil, nil, 187, nil, nil, 218, nil, 205, 235, nil, 250, 957, 2271, nil, 291, nil, nil, 544, nil, nil, nil, 879, 184, nil, nil, 856, nil, nil, nil, 283, 319, 333, 338, 306, 342, nil, 739, nil, nil, nil, 352, nil, nil, nil, 355, nil, 360, nil, nil, nil, nil, nil, nil, 645, 526, 333, 310, 317, nil, nil, nil, nil, 326, nil, 385, 355, nil, 216, 365, 115, nil, nil, 400, 1175, nil ] racc_action_default = [ -174, -241, -1, -241, -241, -70, -71, -72, -80, -81, -82, -83, -84, -85, -86, -87, -88, -89, -90, -91, -92, -93, -96, -241, -241, -127, -132, -133, -175, -176, -241, -178, -179, -182, -183, -184, -241, -230, -231, -232, -233, -234, -235, -236, -237, 398, -241, -76, -78, -241, -135, -137, -241, -143, -73, -84, -86, -74, -75, -181, -180, -98, -241, -101, -114, -241, -117, -241, -126, -177, -105, -107, -241, -69, -241, -241, -188, -189, -134, -136, -241, -241, -241, -144, -145, -94, -241, -241, -84, -85, -241, -115, -241, -241, -128, -130, -241, -106, -108, -241, -186, -77, -78, -2, -3, -4, -5, -6, -7, -8, -241, -10, -12, -23, -241, -241, -241, -241, -29, -30, -31, -32, -33, -34, -35, -37, -41, -44, -47, -52, -55, -57, -59, -61, -63, -65, -68, -79, -168, -241, -241, -238, -241, -241, -241, -140, -241, -142, -147, -149, -153, -138, -146, -241, -84, -85, -241, -99, -241, -241, -120, -119, -113, -116, -241, -121, -123, -124, -241, -241, -241, -185, -241, -241, -11, -241, -241, -67, -154, -20, -241, -241, -241, -241, -18, -19, -24, -241, -25, -241, -27, -28, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, -172, -241, -239, -35, -241, -190, -191, -192, -193, -194, -195, -196, -197, -198, -199, -200, -201, -241, -241, -241, -241, -241, -238, -241, -241, -211, -241, -241, -241, -241, -241, -139, -141, -241, -156, -241, -151, -152, -157, -241, -241, -104, -103, -97, -100, -241, -109, -111, -112, -118, -241, -129, -131, -125, -187, -240, -9, -241, -155, -156, -241, -241, -21, -20, -241, -16, -17, -241, -38, -39, -40, -42, -43, -45, -46, -48, -49, -50, -51, -53, -54, -56, -58, -60, -62, -64, -241, -169, -241, -241, -241, -219, -220, -221, -222, -223, -224, -225, -226, -227, -228, -229, -241, -241, -241, -241, -241, -241, -241, -241, -241, -213, -214, -241, -216, -217, -241, -150, -158, -241, -164, -241, -241, -241, -160, -241, -95, -102, -241, -122, -36, -13, -241, -241, -15, -26, -241, -170, -173, -171, -241, -241, -241, -241, -241, -241, -208, -241, -210, -212, -215, -241, -159, -165, -162, -241, -166, -241, -161, -110, -22, -14, -66, -218, -241, -241, -241, -241, -241, -209, -148, -163, -167, -202, -204, -241, -241, -207, -241, -241, -241, -203, -205, -241, -241, -206 ] racc_goto_table = [ 48, 4, 144, 146, 54, 57, 58, 217, 84, 12, 136, 137, 78, 175, 258, 136, 273, 165, 188, 190, 191, 186, 72, 89, 256, 93, 176, 163, 70, 4, 33, 156, 249, 29, 283, 284, 302, 12, 152, 14, 330, 2, 71, 293, 155, 89, 215, 90, 89, 287, 288, 289, 290, 294, 170, 295, 97, 98, 33, 83, 270, 69, 70, 70, 92, 330, 296, 14, 100, 159, 102, 297, 88, 101, 136, 212, 71, 71, 285, 286, 150, 61, 274, 153, 276, 158, 92, 62, 166, 92, 175, 264, 175, 154, 88, 316, 163, 88, 252, 280, 281, 282, 70, 279, 136, 246, 291, 292, 257, 64, 164, 155, 345, 298, 155, 263, 71, 89, 180, 329, 256, 211, 28, 99, 76, 143, 1, nil, nil, nil, nil, nil, nil, 271, 215, nil, nil, nil, nil, nil, nil, nil, nil, nil, 325, nil, 248, nil, nil, nil, nil, nil, 158, nil, 259, 158, nil, 320, 92, nil, 154, nil, nil, 154, nil, nil, 88, nil, 266, nil, 136, nil, nil, 337, nil, nil, 342, nil, 274, 70, nil, nil, nil, 358, nil, 360, 136, 341, nil, nil, nil, nil, nil, 71, nil, nil, 371, nil, nil, nil, nil, nil, 246, nil, nil, 352, nil, nil, nil, 78, 155, nil, 102, nil, nil, nil, nil, 353, 354, nil, 356, 357, 215, 381, 215, nil, nil, 271, nil, nil, nil, nil, nil, nil, nil, 136, 350, nil, nil, nil, 385, 386, nil, nil, 150, nil, 150, 372, nil, nil, nil, 158, nil, nil, 393, nil, 367, 369, 166, 154, 397, nil, 215, nil, nil, nil, nil, nil, nil, 136, nil, 150, nil, nil, nil, nil, nil, nil, nil, 215, 215, 387, 388, 374, nil, nil, nil, nil, nil, nil, nil, nil, nil, 215, nil, 395, nil, nil, nil, 215, 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, 150, nil, 259 ] racc_goto_check = [ 32, 27, 25, 55, 27, 27, 27, 68, 53, 34, 24, 33, 54, 6, 44, 24, 8, 49, 10, 10, 10, 12, 43, 35, 41, 51, 13, 47, 30, 27, 26, 38, 58, 62, 14, 14, 77, 34, 53, 36, 59, 2, 9, 18, 35, 35, 10, 46, 35, 16, 16, 16, 16, 19, 51, 20, 43, 43, 26, 9, 58, 62, 30, 30, 27, 59, 21, 36, 32, 46, 32, 22, 34, 31, 24, 33, 9, 9, 15, 15, 27, 37, 6, 39, 6, 27, 27, 40, 32, 27, 6, 25, 6, 34, 34, 68, 47, 34, 38, 12, 12, 12, 30, 13, 24, 53, 17, 17, 42, 45, 48, 35, 8, 6, 35, 52, 9, 35, 9, 57, 41, 60, 61, 65, 66, 67, 1, nil, nil, nil, nil, nil, nil, 53, 10, nil, nil, nil, nil, nil, nil, nil, nil, nil, 6, nil, 32, nil, nil, nil, nil, nil, 27, nil, 32, 27, nil, 25, 27, nil, 34, nil, nil, 34, nil, nil, 34, nil, 32, nil, 24, nil, nil, 25, nil, nil, 12, nil, 6, 30, nil, nil, nil, 68, nil, 68, 24, 49, nil, nil, nil, nil, nil, 9, nil, nil, 44, nil, nil, nil, nil, nil, 53, nil, nil, 6, nil, nil, nil, 54, 35, nil, 32, nil, nil, nil, nil, 6, 6, nil, 6, 6, 10, 68, 10, nil, nil, 53, nil, nil, nil, nil, nil, nil, nil, 24, 33, nil, nil, nil, 68, 68, nil, nil, 27, nil, 27, 6, nil, nil, nil, 27, nil, nil, 68, nil, 25, 55, 32, 34, 68, nil, 10, nil, nil, nil, nil, nil, nil, 24, nil, 27, nil, nil, nil, nil, nil, nil, nil, 10, 10, 6, 6, 24, nil, nil, nil, nil, nil, nil, nil, nil, nil, 10, nil, 6, nil, nil, nil, 10, 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, 126, 41, nil, nil, nil, -97, nil, -163, 6, -97, nil, -93, -84, -161, -119, -150, -97, -162, -153, -152, -142, -138, nil, -65, -78, 28, -1, nil, nil, -8, -1, -4, -64, 7, -42, 37, 59, -55, -2, 65, -132, -50, -14, -144, 86, -18, -63, 18, -75, nil, -42, -53, -45, -37, -78, nil, -126, -118, -206, -18, 120, 31, nil, nil, 51, 76, 48, -136, nil, nil, nil, nil, nil, nil, nil, nil, -179 ] racc_goto_default = [ nil, nil, nil, 112, 103, 109, 242, 113, nil, 7, 124, 114, 125, nil, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 177, 138, 218, 216, 46, 5, 6, 47, 82, nil, 55, 13, 56, nil, nil, nil, nil, 157, nil, 178, nil, nil, nil, 91, nil, nil, 24, nil, 94, 49, 50, 333, 148, 149, 331, 250, nil, nil, nil, 31, 32, nil, 225, nil, nil, 219, 220, 221, 222, 223, 224, 226, 227, 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, 135, :_reduce_94, 6, 130, :_reduce_95, 0, 136, :_reduce_96, 5, 130, :_reduce_97, 2, 130, :_reduce_98, 1, 134, :_reduce_none, 2, 134, :_reduce_none, 1, 133, :_reduce_101, 3, 137, :_reduce_102, 2, 137, :_reduce_none, 2, 137, :_reduce_none, 1, 139, :_reduce_none, 2, 139, :_reduce_106, 1, 139, :_reduce_107, 2, 139, :_reduce_108, 1, 138, :_reduce_109, 3, 138, :_reduce_110, 1, 140, :_reduce_none, 5, 131, :_reduce_none, 4, 131, :_reduce_none, 2, 131, :_reduce_none, 1, 142, :_reduce_none, 2, 142, :_reduce_none, 1, 141, :_reduce_none, 3, 143, :_reduce_none, 2, 143, :_reduce_none, 2, 143, :_reduce_none, 1, 144, :_reduce_none, 3, 144, :_reduce_none, 1, 145, :_reduce_none, 4, 132, :_reduce_none, 5, 132, :_reduce_none, 2, 132, :_reduce_none, 1, 146, :_reduce_127, 1, 147, :_reduce_none, 3, 147, :_reduce_none, 1, 148, :_reduce_none, 3, 148, :_reduce_none, 1, 105, :_reduce_132, 1, 105, :_reduce_133, 2, 128, :_reduce_134, 1, 128, :_reduce_none, 2, 128, :_reduce_136, 1, 150, :_reduce_137, 3, 150, :_reduce_138, 4, 150, :_reduce_139, 3, 150, :_reduce_140, 4, 150, :_reduce_141, 3, 150, :_reduce_142, 1, 149, :_reduce_143, 2, 149, :_reduce_144, 2, 149, :_reduce_145, 3, 149, :_reduce_146, 1, 151, :_reduce_none, 5, 151, :_reduce_none, 1, 152, :_reduce_none, 3, 152, :_reduce_none, 2, 153, :_reduce_none, 2, 153, :_reduce_none, 1, 153, :_reduce_none, 1, 109, :_reduce_none, 2, 109, :_reduce_none, 1, 154, :_reduce_none, 1, 154, :_reduce_none, 2, 154, :_reduce_none, 3, 155, :_reduce_none, 2, 155, :_reduce_none, 3, 155, :_reduce_none, 3, 155, :_reduce_none, 4, 155, :_reduce_none, 2, 155, :_reduce_164, 3, 155, :_reduce_none, 3, 155, :_reduce_166, 4, 155, :_reduce_none, 1, 129, :_reduce_168, 3, 129, :_reduce_169, 4, 129, :_reduce_170, 4, 129, :_reduce_171, 1, 156, :_reduce_172, 3, 156, :_reduce_173, 0, 98, :_reduce_none, 2, 98, :_reduce_none, 1, 157, :_reduce_none, 2, 157, :_reduce_none, 1, 158, :_reduce_none, 1, 158, :_reduce_none, 2, 158, :_reduce_none, 2, 158, :_reduce_none, 1, 158, :_reduce_none, 1, 158, :_reduce_none, 1, 158, :_reduce_none, 4, 159, :_reduce_185, 1, 161, :_reduce_186, 3, 161, :_reduce_187, 3, 160, :_reduce_none, 0, 163, :_reduce_none, 2, 163, :_reduce_none, 1, 164, :_reduce_none, 1, 164, :_reduce_none, 1, 164, :_reduce_none, 1, 164, :_reduce_none, 1, 164, :_reduce_none, 1, 164, :_reduce_none, 1, 164, :_reduce_none, 1, 164, :_reduce_none, 1, 164, :_reduce_none, 1, 164, :_reduce_none, 1, 164, :_reduce_none, 5, 165, :_reduce_none, 7, 165, :_reduce_none, 5, 166, :_reduce_none, 7, 167, :_reduce_none, 9, 168, :_reduce_none, 5, 169, :_reduce_none, 3, 170, :_reduce_none, 4, 170, :_reduce_none, 3, 170, :_reduce_none, 3, 162, :_reduce_none, 3, 171, :_reduce_none, 2, 171, :_reduce_none, 2, 171, :_reduce_none, 3, 171, :_reduce_none, 2, 171, :_reduce_none, 2, 172, :_reduce_none, 4, 172, :_reduce_none, 1, 173, :_reduce_none, 1, 173, :_reduce_none, 1, 173, :_reduce_none, 1, 173, :_reduce_none, 1, 173, :_reduce_none, 1, 173, :_reduce_none, 1, 173, :_reduce_none, 1, 173, :_reduce_none, 1, 173, :_reduce_none, 1, 173, :_reduce_none, 1, 173, :_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_238, 2, 100, :_reduce_239, 3, 100, :_reduce_240 ] racc_reduce_n = 241 racc_shift_n = 398 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, :STRUCT => 54, "{" => 55, "}" => 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_tag", "struct_declaration_list", "@1", "@2", "struct_declaration", "struct_declarator_list", "type_specifier_qualifier_list", "struct_declarator", "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', 301) def _reduce_94(val, _values, result) StructType.set_define( true ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 304) def _reduce_95(val, _values, result) StructType.end_of_parse result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 309) def _reduce_96(val, _values, result) result = CStructType.new() StructType.set_define( true ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 314) def _reduce_97(val, _values, result) StructType.end_of_parse result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 319) def _reduce_98(val, _values, result) StructType.set_define( false ) StructType.end_of_parse result = val[1] result end .,., # reduce 99 omitted # reduce 100 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 331) def _reduce_101(val, _values, result) result = CStructType.new( val[0].val ) set_no_type_name true result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 340) def _reduce_102(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 103 omitted # reduce 104 omitted # reduce 105 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 359) def _reduce_106(val, _values, result) result = val[1].merge val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 363) def _reduce_107(val, _values, result) result = CIntType.new( -3 ) result.set_qualifier val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 368) def _reduce_108(val, _values, result) val[1].set_qualifier val[0] result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 374) def _reduce_109(val, _values, result) result = [ val[0] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 376) def _reduce_110(val, _values, result) result << val[2] result end .,., # reduce 111 omitted # reduce 112 omitted # reduce 113 omitted # reduce 114 omitted # reduce 115 omitted # reduce 116 omitted # 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 module_eval(<<'.,.,', 'C_parser.y.rb', 418) def _reduce_127(val, _values, result) result = CEnumType.new( -1 ) result end .,., # reduce 128 omitted # reduce 129 omitted # reduce 130 omitted # reduce 131 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 434) def _reduce_132(val, _values, result) result = :CONST result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 435) def _reduce_133(val, _values, result) result = :VOLATILE result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 440) def _reduce_134(val, _values, result) val[1].set_type( val[0] ) result = val[1] result end .,., # reduce 135 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 446) def _reduce_136(val, _values, result) result = Decl.new( val[1].val ) result.set_type( val[0] ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 452) def _reduce_137(val, _values, result) result = Decl.new( val[0].val ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 454) def _reduce_138(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 457) def _reduce_139(val, _values, result) val[0].set_type( CArrayType.new( val[2] ) ) result = val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 462) def _reduce_140(val, _values, result) val[0].set_type( CArrayType.new ) result = val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 467) def _reduce_141(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', 475) def _reduce_142(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', 482) def _reduce_143(val, _values, result) result = CPtrType.new result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 485) def _reduce_144(val, _values, result) result = CPtrType.new result.set_qualifier( val[1] ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 490) def _reduce_145(val, _values, result) val[1].set_type(CPtrType.new) result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 495) def _reduce_146(val, _values, result) ptrtype = CPtrType.new ptrtype.set_qualifier( val[1] ) val[2].set_type( ptrtype ) result = val[2] result end .,., # reduce 147 omitted # reduce 148 omitted # 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 module_eval(<<'.,.,', 'C_parser.y.rb', 559) def _reduce_164(val, _values, result) Generator.warning( "W6003 need 'void' for no parameter" ) result end .,., # reduce 165 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 564) def _reduce_166(val, _values, result) Generator.warning( "W6004 need 'void' for no parameter" ) result end .,., # reduce 167 omitted module_eval(<<'.,.,', 'C_parser.y.rb', 571) def _reduce_168(val, _values, result) result = val[0] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 573) def _reduce_169(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 575) def _reduce_170(val, _values, result) result = val[1] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 577) def _reduce_171(val, _values, result) result = C_EXP.new( val[2] ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 582) def _reduce_172(val, _values, result) result = [ val[0] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 586) def _reduce_173(val, _values, result) val[0] << val[2] result = val[0] result end .,., # reduce 174 omitted # reduce 175 omitted # 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 module_eval(<<'.,.,', 'C_parser.y.rb', 614) def _reduce_185(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', 623) def _reduce_186(val, _values, result) result = [ val[0] ] result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 625) def _reduce_187(val, _values, result) result << val[2] result end .,., # reduce 188 omitted # reduce 189 omitted # 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 module_eval(<<'.,.,', 'C_parser.y.rb', 706) def _reduce_238(val, _values, result) result = NamespacePath.new( val[0].val, false ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 707) def _reduce_239(val, _values, result) result = NamespacePath.new( val[1].val, true ) result end .,., module_eval(<<'.,.,', 'C_parser.y.rb', 709) def _reduce_240(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