diff options
Diffstat (limited to 'test/racc/regress/cast')
-rw-r--r-- | test/racc/regress/cast | 3425 |
1 files changed, 3425 insertions, 0 deletions
diff --git a/test/racc/regress/cast b/test/racc/regress/cast new file mode 100644 index 0000000000..5f2278b5b7 --- /dev/null +++ b/test/racc/regress/cast @@ -0,0 +1,3425 @@ +# +# DO NOT MODIFY!!!! +# This file is automatically generated by Racc 1.4.14 +# from Racc grammer file "". +# + +require 'racc/parser.rb' + + +require 'set' + +# Error classes +module C + class ParseError < StandardError; end +end + +# Local variables: +# mode: ruby +# end: +module C + class Parser < Racc::Parser + +module_eval(<<'...end cast.y/module_eval...', 'cast.y', 564) + # A.1.9 -- Preprocessing numbers -- skip + # A.1.8 -- Header names -- skip + + # A.1.7 -- Puncuators -- we don't bother with {##,#,%:,%:%:} since + # we don't do preprocessing + @@punctuators = %r'\+\+|-[->]|&&|\|\||\.\.\.|(?:<<|>>|[<>=!*/%+\-&^|])=?|[\[\](){}.~?:;,]' + @@digraphs = %r'<[:%]|[:%]>' + + # A.1.6 -- String Literals -- simple for us because we don't decode + # the string (and indeed accept some illegal strings) + @@string_literal = %r'L?"(?:[^\\]|\\.)*?"'m + + # A.1.5 -- Constants + @@decimal_floating_constant = %r'(?:(?:\d*\.\d+|\d+\.)(?:e[-+]?\d+)?|\d+e[-+]?\d+)[fl]?'i + @@hexadecimal_floating_constant = %r'0x(?:(?:[0-9a-f]*\.[0-9a-f]+|[0-9a-f]+\.)|[0-9a-f]+)p[-+]?\d+[fl]?'i + + @@integer_constant = %r'(?:[1-9][0-9]*|0x[0-9a-f]+|0[0-7]*)(?:ul?l?|ll?u?)?'i + @@floating_constant = %r'#{@@decimal_floating_constant}|#{@@hexadecimal_floating_constant}' + @@enumeration_constant = %r'[a-zA-Z_\\][a-zA-Z_\\0-9]*' + @@character_constant = %r"L?'(?:[^\\]|\\.)+?'" + # (note that as with string-literals, we accept some illegal + # character-constants) + + # A.1.4 -- Universal character names -- skip + + # A.1.3 -- Identifiers -- skip, since an identifier is lexically + # identical to an enumeration constant + + # A.1.2 Keywords + keywords = %w'auto break case char const continue default do +double else enum extern float for goto if inline int long register +restrict return short signed sizeof static struct switch typedef union + unsigned void volatile while _Bool _Complex _Imaginary' + @@keywords = %r"#{keywords.join('|')}" + + def initialize + @type_names = ::Set.new + + @warning_proc = lambda{} + @pos = C::Node::Pos.new(nil, 1, 0) + end + def initialize_copy(x) + @pos = x.pos.dup + @type_names = x.type_names.dup + end + attr_accessor :pos, :type_names + + def parse(str) + if str.respond_to? :read + str = str.read + end + @str = str + begin + prepare_lexer(str) + return do_parse + rescue ParseError => e + e.set_backtrace(caller) + raise + end + end + + # + # Error handler, as used by racc. + # + def on_error(error_token_id, error_value, value_stack) + if error_value == '$' + parse_error @pos, "unexpected EOF" + else + parse_error(error_value.pos, + "parse error on #{token_to_str(error_token_id)} (#{error_value.val})") + end + end + + def self.feature(name) + attr_writer "#{name}_enabled" + class_eval <<-EOS + def enable_#{name} + @#{name}_enabled = true + end + def #{name}_enabled? + @#{name}_enabled + end + EOS + end + private_class_method :feature + + # + # Allow blocks in parentheses as expressions, as per the gcc + # extension. [http://rubyurl.com/iB7] + # + feature :block_expressions + + private # --------------------------------------------------------- + + class Token + attr_accessor :pos, :val + def initialize(pos, val) + @pos = pos + @val = val + end + end + def eat(str) + lines = str.split(/\r\n|[\r\n]/, -1) + if lines.length == 1 + @pos.col_num += lines[0].length + else + @pos.line_num += lines.length - 1 + @pos.col_num = lines[-1].length + end + end + + # + # Make a Declaration from the given specs and declarators. + # + def make_declaration(pos, specs, declarators) + specs.all?{|x| x.is_a?(Symbol) || x.is_a?(Type)} or raise specs.map{|x| x.class}.inspect + decl = Declaration.new_at(pos, nil, declarators) + + # set storage class + storage_classes = specs.find_all do |x| + [:typedef, :extern, :static, :auto, :register].include? x + end + # 6.7.1p2: at most, one storage-class specifier may be given in + # the declaration specifiers in a declaration + storage_classes.length <= 1 or + begin + if declarators.length == 0 + for_name = '' + else + for_name = "for `#{declarators[0].name}'" + end + parse_error pos, "multiple or duplicate storage classes given #{for_name}'" + end + decl.storage = storage_classes[0] + + # set type (specifiers, qualifiers) + decl.type = make_direct_type(pos, specs) + + # set function specifiers + decl.inline = specs.include?(:inline) + + # look for new type names + if decl.typedef? + decl.declarators.each do |d| + if d.name + @type_names << d.name + end + end + end + + return decl + end + + def make_function_def(pos, specs, func_declarator, decl_list, defn) + add_decl_type(func_declarator, make_direct_type(pos, specs)) + + # get types from decl_list if necessary + function = func_declarator.indirect_type + function.is_a? Function or + parse_error pos, "non function type for function `#{func_declarator.name}'" + params = function.params + if decl_list + params.all?{|p| p.type.nil?} or + parse_error pos, "both prototype and declaration list given for `#{func_declarator.name}'" + decl_list.each do |declaration| + declaration.declarators.each do |declarator| + param = params.find{|p| p.name == declarator.name} or + parse_error pos, "no parameter named #{declarator.name}" + if declarator.indirect_type + param.type = declarator.indirect_type + param.type.direct_type = declaration.type.dup + else + param.type = declaration.type.dup + end + end + end + params.all?{|p| p.type} or + begin + s = params.find_all{|p| p.type.nil?}.map{|p| "`#{p.name}'"}.join(' and ') + parse_error pos, "types missing for parameters #{s}" + end + end + + fd = FunctionDef.new_at(pos, + function.detach, + func_declarator.name, + defn, + :no_prototype => !decl_list.nil?) + + # set storage class + # 6.9.1p4: only extern or static allowed + specs.each do |s| + [:typedef, :auto, :register].include?(s) and + "`#{s}' illegal for function" + end + storage_classes = specs.find_all do |s| + s == :extern || s == :static + end + # 6.7.1p2: at most, one storage-class specifier may be given in + # the declaration specifiers in a declaration + storage_classes.length <= 1 or + "multiple or duplicate storage classes given for `#{func_declarator.name}'" + fd.storage = storage_classes[0] if storage_classes[0] + + # set function specifiers + # 6.7.4p5 'inline' can be repeated + fd.inline = specs.include?(:inline) + + return fd + end + + # + # Make a direct type from the list of type specifiers and type + # qualifiers. + # + def make_direct_type(pos, specs) + specs_order = [:signed, :unsigned, :short, :long, :double, :void, + :char, :int, :float, :_Bool, :_Complex, :_Imaginary] + + type_specs = specs.find_all do |x| + specs_order.include?(x) || !x.is_a?(Symbol) + end + type_specs.sort! do |a, b| + (specs_order.index(a)||100) <=> (specs_order.index(b)||100) + end + + # set type specifiers + # 6.7.2p2: the specifier list should be one of these + type = + case type_specs + when [:void] + Void.new + when [:char] + Char.new + when [:signed, :char] + Char.new :signed => true + when [:unsigned, :char] + Char.new :signed => false + when [:short], [:signed, :short], [:short, :int], + [:signed, :short, :int] + Int.new :longness => -1 + when [:unsigned, :short], [:unsigned, :short, :int] + Int.new :unsigned => true, :longness => -1 + when [:int], [:signed], [:signed, :int] + Int.new + when [:unsigned], [:unsigned, :int] + Int.new :unsigned => true + when [:long], [:signed, :long], [:long, :int], + [:signed, :long, :int] + Int.new :longness => 1 + when [:unsigned, :long], [:unsigned, :long, :int] + Int.new :longness => 1, :unsigned => true + when [:long, :long], [:signed, :long, :long], + [:long, :long, :int], [:signed, :long, :long, :int] + Int.new :longness => 2 + when [:unsigned, :long, :long], [:unsigned, :long, :long, :int] + Int.new :longness => 2, :unsigned => true + when [:float] + Float.new + when [:double] + Float.new :longness => 1 + when [:long, :double] + Float.new :longness => 2 + when [:_Bool] + Bool.new + when [:float, :_Complex] + Complex.new + when [:double, :_Complex] + Complex.new :longness => 1 + when [:long, :double, :_Complex] + Complex.new :longness => 2 + when [:float, :_Imaginary] + Imaginary.new + when [:double, :_Imaginary] + Imaginary.new :longness => 1 + when [:long, :double, :_Imaginary] + Imaginary.new :longness => 2 + else + if type_specs.length == 1 && + [CustomType, Struct, Union, Enum].any?{|c| type_specs[0].is_a? c} + type_specs[0] + else + if type_specs == [] + parse_error pos, "no type specifiers given" + else + parse_error pos, "invalid type specifier combination: #{type_specs.join(' ')}" + end + end + end + type.pos ||= pos + + # set type qualifiers + # 6.7.3p4: type qualifiers can be repeated + type.const = specs.any?{|x| x.equal? :const } + type.restrict = specs.any?{|x| x.equal? :restrict} + type.volatile = specs.any?{|x| x.equal? :volatile} + + return type + end + + def make_parameter(pos, specs, indirect_type, name) + type = indirect_type + if type + type.direct_type = make_direct_type(pos, specs) + else + type = make_direct_type(pos, specs) + end + [:typedef, :extern, :static, :auto, :inline].each do |sym| + specs.include? sym and + parse_error pos, "parameter `#{declarator.name}' declared `#{sym}'" + end + return Parameter.new_at(pos, type, name, + :register => specs.include?(:register)) + end + + def add_type_quals(type, quals) + type.const = quals.include?(:const ) + type.restrict = quals.include?(:restrict) + type.volatile = quals.include?(:volatile) + return type + end + + # + # Add te given type as the "most direct" type to the given + # declarator. Return the declarator. + # + def add_decl_type(declarator, type) + if declarator.indirect_type + declarator.indirect_type.direct_type = type + else + declarator.indirect_type = type + end + return declarator + end + + def param_list(params, var_args) + if params.length == 1 && + params[0].type.is_a?(Void) && + params[0].name.nil? + return NodeArray[] + elsif params.empty? + return nil + else + return params + end + end + + def parse_error(pos, str) + raise ParseError, "#{pos}: #{str}" + end + +...end cast.y/module_eval... +##### State transition tables begin ### + +clist = [ +'99,100,65,277,108,109,120,38,373,110,111,112,113,114,115,116,117,99', +'100,65,48,108,109,120,312,424,110,111,112,113,114,115,116,117,43,293', +'48,425,196,366,281,72,49,50,56,128,426,38,59,294,123,124,126,127,129', +'130,131,132,312,290,372,281,128,49,38,386,416,123,124,126,127,129,130', +'131,132,49,365,309,71,196,50,391,183,50,147,148,149,150,88,38,196,48', +'185,38,88,281,184,50,442,196,50,147,148,149,150,99,100,65,277,108,109', +'120,366,50,110,111,112,113,114,115,116,117,99,100,65,50,108,109,120', +'50,49,110,111,112,113,114,115,116,117,88,88,48,249,250,72,281,241,242', +'169,365,128,238,38,413,89,123,124,126,127,129,130,131,132,88,239,240', +'196,128,50,38,349,84,123,124,126,127,129,130,131,132,49,71,83,440,288', +'50,195,346,50,147,148,149,150,445,43,262,48,439,289,196,263,347,77,196', +'428,50,147,148,149,150,99,100,65,50,108,109,120,196,50,110,111,112,113', +'114,115,116,117,99,100,65,50,108,109,120,238,49,110,111,112,113,114', +'115,116,117,227,238,315,239,240,245,246,247,248,243,244,128,283,38,239', +'240,123,124,126,127,129,130,131,132,314,284,243,244,128,50,38,379,68', +'123,124,126,127,129,130,131,132,34,35,36,196,69,308,49,307,50,147,148', +'149,150,303,228,229,230,231,232,233,234,235,236,237,192,50,147,148,149', +'150,99,100,65,296,108,109,120,243,244,110,111,112,113,114,115,116,117', +'99,100,65,50,108,109,120,447,376,110,111,112,113,114,115,116,117,196', +'196,387,353,313,273,245,246,247,248,355,128,388,38,196,274,123,124,126', +'127,129,130,131,132,245,246,247,248,128,285,38,454,437,123,124,126,127', +'129,130,131,132,196,196,357,427,450,377,433,375,50,147,148,149,150,196', +'196,196,196,196,34,35,36,241,242,50,49,50,147,148,149,150,99,100,65', +'61,108,109,120,241,242,110,111,112,113,114,115,116,117,99,100,65,275', +'108,109,120,243,244,110,111,112,113,114,115,116,117,249,250,243,244', +'255,256,272,271,268,67,254,128,378,38,253,252,123,124,126,127,129,130', +'131,132,251,389,390,251,128,252,38,253,254,123,124,126,127,129,130,131', +'132,395,396,397,398,399,209,405,406,50,147,148,149,150,206,205,202,199', +'198,197,192,191,384,384,187,88,50,147,148,149,150,99,100,65,103,108', +'109,120,423,,110,111,112,113,114,115,116,117,,,10,11,12,13,14,15,16', +'17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,37,,,128,,38,,,123,124', +'126,127,129,130,131,132,99,100,65,,108,109,120,,,110,111,112,113,114', +'115,116,117,,,,,,,,,50,147,148,149,150,,,,,,178,,,,,,,48,,,128,,38,', +',123,124,126,127,129,130,131,132,99,100,65,,108,109,120,,,110,111,112', +'113,114,115,116,117,,,,,,,49,,50,147,148,149,150,,,,,,178,,,,,,,48,', +',128,,38,,,123,124,126,127,129,130,131,132,99,100,65,50,108,109,120', +',,110,111,112,113,114,115,116,117,,,,,,,49,,50,147,148,149,150,,,,,', +',,,,,,,,,,128,,38,,,123,124,126,127,129,130,131,132,99,100,65,50,108', +'109,120,,,110,111,112,113,114,115,116,117,,,,,,,,,50,147,148,149,150', +',,,,,,,,,,,,,,,128,,38,,,123,124,126,127,129,130,131,132,99,100,65,', +'108,109,120,,,110,111,112,113,114,115,116,117,,,,,,,,,50,147,148,149', +'150,,,,,,,,,,,,,,,,128,,38,,,123,124,126,127,129,130,131,132,99,100', +'65,,108,109,120,,,110,111,112,113,114,115,116,117,,,,,,,,,50,147,148', +'149,150,,,,,,,,,,,,,,,,128,,38,,,123,124,126,127,129,130,131,132,99', +'100,65,,108,109,120,,,110,111,112,113,114,115,116,117,,,,,,,,,50,147', +'148,149,150,,,,,,,,,,,,,,,,128,,38,,,123,124,126,127,129,130,131,132', +'99,100,65,,108,109,120,,,110,111,112,113,114,115,116,117,,,,,,,,,50', +'147,148,149,150,,,,,,,,,,,,,,,,128,,38,,,123,124,126,127,129,130,131', +'132,99,100,65,,108,109,120,,,110,111,112,113,114,115,116,117,,,,,,,', +',50,147,148,149,150,,,,,,,,,,,,,,,,128,,38,,120,123,124,126,127,129', +'130,131,132,99,100,65,,108,109,120,,,110,111,112,113,114,115,116,117', +',,,,215,,,,50,147,148,149,150,128,,,,,123,124,126,127,129,130,131,132', +',,128,,38,,,123,124,126,127,129,130,131,132,214,,,,,216,217,218,219', +',50,147,148,149,150,,,,,,,,,,,50,147,148,149,150,99,100,65,193,108,109', +'120,,,110,111,112,113,114,115,116,117,,,10,11,12,13,14,15,16,17,18,19', +'20,21,22,23,24,25,26,31,32,33,34,35,36,37,,,128,,38,,,123,124,126,127', +'129,130,131,132,99,100,65,,108,109,120,,,110,111,112,113,114,115,116', +'117,154,453,,,120,,,,50,147,148,149,150,,,,,,,,,,,,,,,,128,,38,,,123', +'124,126,127,129,130,131,132,262,,128,,,263,,123,124,126,127,129,130', +'131,132,,,,,,,,,,,50,147,148,149,150,65,,,,120,,,,,,50,147,148,149,150', +'154,,,,120,,,15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,', +',,128,,38,,,123,124,126,127,129,130,131,132,,,128,,,,,123,124,126,127', +'129,130,131,132,154,,,,120,,,,,,50,147,148,149,150,384,,,,120,,,,,,50', +'147,148,149,150,,,,,,,,,,,,,,128,,,,,123,124,126,127,129,130,131,132', +',,128,,,,,123,124,126,127,129,130,131,132,154,,,,120,,,,,,50,147,148', +'149,150,154,392,,,120,,,,,,50,147,148,149,150,,,,,,,,,,,,262,,128,,', +'263,,123,124,126,127,129,130,131,132,262,,128,,,263,,123,124,126,127', +'129,130,131,132,,,,,,,,,,,50,147,148,149,150,65,,,,120,,,,,,50,147,148', +'149,150,154,,,,120,,,15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34', +'35,36,,,,128,,38,,,123,124,126,127,129,130,131,132,,,128,,,,,123,124', +'126,127,129,130,131,132,154,,,,120,,,,,,50,147,148,149,150,,,,,,,,,', +',50,147,148,149,150,,,,,,,,,,,,262,,128,,,263,,123,124,126,127,129,130', +'131,132,,,,,,,,,65,,,,120,,,,,,,,,,,,,50,147,148,149,150,15,16,17,18', +'19,20,21,22,23,24,25,26,31,32,33,34,35,36,,,,128,,38,,,123,124,126,127', +'129,130,131,132,381,,120,,,,,,,,,,,383,,120,,,,,,,,,,50,147,148,149', +'150,,,,,,,,,,,,128,,,,,123,124,126,127,129,130,131,132,128,,,,,123,124', +'126,127,129,130,131,132,,,,,,,,,,,,,50,147,148,149,150,305,,120,,,,', +',50,147,148,149,150,,,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25', +'26,31,32,33,34,35,36,37,,,128,,38,,,123,124,126,127,129,130,131,132', +'208,,120,,,,,,,,,,,412,,120,,,,,,,,,,50,147,148,149,150,,,,,,,,,,,,128', +',,,,123,124,126,127,129,130,131,132,128,,,,120,123,124,126,127,129,130', +'131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,,,,50,147,148,149,150', +'128,,,,,123,124,126,127,129,130,131,132,128,,,,120,123,124,126,127,129', +'130,131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,,,,50,147,148,149', +'150,128,,,,,123,124,126,127,129,130,131,132,128,,,,,123,124,126,127', +'129,130,131,132,,,120,,,,,,,,,,50,147,148,149,150,160,120,444,,,,,,50', +'147,148,149,150,,,,,,34,35,36,,,159,161,,,,,123,124,126,127,129,130', +'131,132,,,,128,,,,,123,124,126,127,129,130,131,132,120,436,,,,,,,,50', +'147,148,149,150,120,432,,,,,,,,,,50,147,148,149,150,,,,,,,,,,128,,,', +',123,124,126,127,129,130,131,132,,128,,,,,123,124,126,127,129,130,131', +'132,120,430,,,,,,,,,,50,147,148,149,150,120,,,,,,,,,50,147,148,149,150', +',,,,,,,,,128,,,,,123,124,126,127,129,130,131,132,,,,128,,,,120,123,124', +'126,127,129,130,131,132,,,,,,,,,,50,147,148,149,150,,,,,,,,,,,,50,147', +'148,149,150,128,,,,,123,124,126,127,129,130,131,132,,,,,,,,,,,,,120', +',,,,,,,,,,,,50,147,148,149,150,15,16,17,18,19,20,21,22,23,24,25,26,31', +'32,33,34,35,36,,,,128,,38,,,123,124,126,127,129,130,131,132,120,418', +',,,,,,,,,,,120,415,,,,,,,,,,,50,147,148,149,150,,,,,,,,,,128,,,,,123', +'124,126,127,129,130,131,132,128,,,,120,123,124,126,127,129,130,131,132', +',,,,,,,,,,,,50,147,148,149,150,,,,,,,,,50,147,148,149,150,128,,,,,123', +'124,126,127,129,130,131,132,120,,,,,,,,,,,,,120,,266,,,,,,,,,,50,147', +'148,149,150,,,,34,35,36,,,265,267,,,,,123,124,126,127,129,130,131,132', +'128,,,,,123,124,126,127,129,130,131,132,120,,,,,,,,,,,,50,147,148,149', +'150,120,,,,,,,,50,147,148,149,150,,,,34,35,36,,,,128,,,,,123,124,126', +'127,129,130,131,132,,,,368,369,,,,,123,124,126,127,129,130,131,132,120', +',,,,,,,50,147,148,149,150,120,,,,,,,,,,,,50,147,148,149,150,,,,34,35', +'36,,,,128,,,,,123,124,126,127,129,130,131,132,128,,,,120,123,124,126', +'127,129,130,131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,,,,50,147', +'148,149,150,128,,,,,123,124,126,127,129,130,131,132,128,,,,120,123,124', +'126,127,129,130,131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,,,,50', +'147,148,149,150,128,,,,,123,124,126,127,129,130,131,132,128,,,,120,123', +'124,126,127,129,130,131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,', +',,50,147,148,149,150,128,,,,,123,124,126,127,129,130,131,132,128,,,', +'120,123,124,126,127,129,130,131,132,,,,,120,,,,,,,,50,147,148,149,150', +',,,,,,,,50,147,148,149,150,128,,,,,123,124,126,127,129,130,131,132,128', +',,,120,123,124,126,127,129,130,131,132,,,,,120,,,,,,,,50,147,148,149', +'150,,,,,,,,,50,147,148,149,150,128,,,,,123,124,126,127,129,130,131,132', +'128,,,,120,123,124,126,127,129,130,131,132,,,,,120,,,,,,,,50,147,148', +'149,150,,,,,,,,,50,147,148,149,150,128,,,,,123,124,126,127,129,130,131', +'132,128,,,,120,123,124,126,127,129,130,131,132,,,,,120,,,,,,,,50,147', +'148,149,150,,,,,,,,,50,147,148,149,150,128,,,,,123,124,126,127,129,130', +'131,132,128,,,,120,123,124,126,127,129,130,131,132,,,,,,,,,,,,,50,147', +'148,149,150,,,,,,,,,50,147,148,149,150,128,,,,,123,124,126,127,129,130', +'131,132,,,,,,,,,,,,,120,318,,,,,,,,,,,,50,147,148,149,150,15,16,17,18', +'19,20,21,22,23,24,25,26,31,32,33,34,35,36,,,,128,,38,,120,123,124,126', +'127,129,130,131,132,,,,,120,,,,,,,,,,,,,,,,,,,,,50,147,148,149,150,128', +',,,,123,124,126,127,129,130,131,132,128,,,,120,123,124,126,127,129,130', +'131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,,,,50,147,148,149,150', +'128,,,,,123,124,126,127,129,130,131,132,128,,,,120,123,124,126,127,129', +'130,131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,,,,50,147,148,149', +'150,128,,,,,123,124,126,127,129,130,131,132,128,,,,120,123,124,126,127', +'129,130,131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,,,,50,147,148', +'149,150,128,,,,,123,124,126,127,129,130,131,132,128,,,,220,123,124,126', +'127,129,130,131,132,,,,,220,,,,,,,,50,147,148,149,150,,,,,,,,,50,147', +'148,149,150,128,,,,,123,124,126,127,129,130,131,132,128,,,,120,123,124', +'126,127,129,130,131,132,,,,,224,,,,,,,,50,147,148,149,150,,,,,,,,,50', +'147,148,149,150,128,,,,,123,124,126,127,129,130,131,132,128,,,,,123', +'124,126,127,129,130,131,132,120,,,,,,,,,,,,50,147,148,149,150,,,,,,', +',,50,147,148,149,150,,,,,,,,,401,402,,,,,123,124,126,127,129,130,131', +'132,,,,,,,,,,,,,,,,,,277,364,,,,,,,50,147,148,149,150,10,11,12,13,14', +'15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,37,281,164,49', +',38,,,,,,,,,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31,32', +'33,34,35,36,37,,,,50,38,,,,,,,,,,,,,,,39,,,,,,,,,,,,,,,,,,,,,50,10,11', +'12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,37,65', +',,,38,,,,,,,,,,,,67,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25', +'26,31,32,33,34,35,36,37,65,,,,38,,,,,,,,,,,,,10,11,12,13,14,15,16,17', +'18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,37,173,,,,38,,,,,,,,,,', +',,,,,,15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,282,,,,', +'38,,,,,,,,,,,,,,,,15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34,35', +'36,287,,,,,38,,,,,,,,,,,,,,,,15,16,17,18,19,20,21,22,23,24,25,26,31', +'32,33,34,35,36,312,364,,,,38,,,,,,,,10,11,12,13,14,15,16,17,18,19,20', +'21,22,23,24,25,26,31,32,33,34,35,36,37,281,404,49,,38,,,,,,,,,10,11', +'12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,37,,', +',,38,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34', +'35,36,37,,,,,38,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31', +'32,33,34,35,36,37,,,,,38,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24', +'25,26,31,32,33,34,35,36,37,,,,,38,10,11,12,13,14,15,16,17,18,19,20,21', +'22,23,24,25,26,31,32,33,34,35,36,37,,,,,38,10,11,12,13,14,15,16,17,18', +'19,20,21,22,23,24,25,26,31,32,33,34,35,36,37,,,,,38,10,11,12,13,14,15', +'16,17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,37,,,,359,38,15,16', +'17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,,,,,,38,15,16,17,18', +'19,20,21,22,23,24,25,26,31,32,33,34,35,36,,,,,,38,15,16,17,18,19,20', +'21,22,23,24,25,26,31,32,33,34,35,36,,,,,,38,15,16,17,18,19,20,21,22', +'23,24,25,26,31,32,33,34,35,36,,,,,,38,15,16,17,18,19,20,21,22,23,24', +'25,26,31,32,33,34,35,36,,,,,,38' ] + racc_action_table = arr = ::Array.new(4308, 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 = [ +'112,112,112,167,112,112,112,114,294,112,112,112,112,112,112,112,112', +'445,445,445,45,445,445,445,210,402,445,445,445,445,445,445,445,445,66', +'186,66,403,316,280,167,46,167,114,30,112,407,112,33,186,112,112,112', +'112,112,112,112,112,311,184,289,210,445,210,445,316,382,445,445,445', +'445,445,445,445,445,66,280,207,46,382,167,345,85,112,112,112,112,112', +'294,30,207,48,87,33,84,311,85,45,427,345,445,445,445,445,445,444,444', +'444,276,444,444,444,361,66,444,444,444,444,444,444,444,444,377,377,377', +'30,377,377,377,33,48,377,377,377,377,377,377,377,377,184,289,69,340', +'340,70,276,136,136,73,361,444,135,444,380,60,444,444,444,444,444,444', +'444,444,59,135,135,380,377,48,377,260,58,377,377,377,377,377,377,377', +'377,69,70,57,419,182,276,107,257,444,444,444,444,444,429,5,260,5,419', +'182,107,260,257,55,429,411,377,377,377,377,377,376,376,376,216,376,376', +'376,411,69,376,376,376,376,376,376,376,376,375,375,375,217,375,375,375', +'330,5,375,375,375,375,375,375,375,375,133,331,213,330,330,138,138,138', +'138,336,336,376,175,376,331,331,376,376,376,376,376,376,376,376,212', +'175,335,335,375,5,375,304,42,375,375,375,375,375,375,375,375,49,49,49', +'304,42,204,49,203,376,376,376,376,376,201,133,133,133,133,133,133,133', +'133,133,133,200,375,375,375,375,375,437,437,437,188,437,437,437,334', +'334,437,437,437,437,437,437,437,437,436,436,436,263,436,436,436,431', +'301,436,436,436,436,436,436,436,436,431,301,317,264,211,163,338,338', +'338,338,267,437,317,437,211,163,437,437,437,437,437,437,437,437,339', +'339,339,339,436,177,436,443,417,436,436,436,436,436,436,436,436,443', +'417,270,410,435,302,414,300,437,437,437,437,437,410,435,302,414,300', +'74,74,74,333,333,274,74,436,436,436,436,436,433,433,433,39,433,433,433', +'332,332,433,433,433,433,433,433,433,433,187,187,187,165,187,187,187', +'137,137,187,187,187,187,187,187,187,187,139,139,337,337,144,144,162', +'161,158,151,143,433,303,433,142,141,433,433,433,433,433,433,433,433', +'140,324,325,341,187,342,187,343,344,187,187,187,187,187,187,187,187', +'351,354,356,362,363,119,367,369,433,433,433,433,433,116,115,113,111', +'110,109,101,100,389,390,98,89,187,187,187,187,187,65,65,65,65,65,65', +'65,400,,65,65,65,65,65,65,65,65,,,65,65,65,65,65,65,65,65,65,65,65,65', +'65,65,65,65,65,65,65,65,65,65,65,65,,,65,,65,,,65,65,65,65,65,65,65', +'65,296,296,296,,296,296,296,,,296,296,296,296,296,296,296,296,,,,,,', +',,65,65,65,65,65,,,,,,80,,,,,,,80,,,296,,296,,,296,296,296,296,296,296', +'296,296,432,432,432,,432,432,432,,,432,432,432,432,432,432,432,432,', +',,,,,80,,296,296,296,296,296,,,,,,284,,,,,,,284,,,432,,432,,,432,432', +'432,432,432,432,432,432,430,430,430,80,430,430,430,,,430,430,430,430', +'430,430,430,430,,,,,,,284,,432,432,432,432,432,,,,,,,,,,,,,,,,430,,430', +',,430,430,430,430,430,430,430,430,426,426,426,284,426,426,426,,,426', +'426,426,426,426,426,426,426,,,,,,,,,430,430,430,430,430,,,,,,,,,,,,', +',,,426,,426,,,426,426,426,426,426,426,426,426,418,418,418,,418,418,418', +',,418,418,418,418,418,418,418,418,,,,,,,,,426,426,426,426,426,,,,,,', +',,,,,,,,,418,,418,,,418,418,418,418,418,418,418,418,454,454,454,,454', +'454,454,,,454,454,454,454,454,454,454,454,,,,,,,,,418,418,418,418,418', +',,,,,,,,,,,,,,,454,,454,,,454,454,454,454,454,454,454,454,415,415,415', +',415,415,415,,,415,415,415,415,415,415,415,415,,,,,,,,,454,454,454,454', +'454,,,,,,,,,,,,,,,,415,,415,,,415,415,415,415,415,415,415,415,450,450', +'450,,450,450,450,,,450,450,450,450,450,450,450,450,,,,,,,,,415,415,415', +'415,415,,,,,,,,,,,,,,,,450,,450,,,450,450,450,450,450,450,450,450,192', +'192,192,,192,192,192,,,192,192,192,192,192,192,192,192,,,,,,,,,450,450', +'450,450,450,,,,,,,,,,,,,,,,192,,192,,262,192,192,192,192,192,192,192', +'192,191,191,191,,191,191,191,,,191,191,191,191,191,191,191,191,,,,,122', +',,,192,192,192,192,192,262,,,,,262,262,262,262,262,262,262,262,,,191', +',191,,,191,191,191,191,191,191,191,191,122,,,,,122,122,122,122,,262', +'262,262,262,262,,,,,,,,,,,191,191,191,191,191,102,102,102,102,102,102', +'102,,,102,102,102,102,102,102,102,102,,,102,102,102,102,102,102,102', +'102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102', +',,102,,102,,,102,102,102,102,102,102,102,102,447,447,447,,447,447,447', +',,447,447,447,447,447,447,447,447,439,439,,,439,,,,102,102,102,102,102', +',,,,,,,,,,,,,,,447,,447,,,447,447,447,447,447,447,447,447,439,,439,', +',439,,439,439,439,439,439,439,439,439,,,,,,,,,,,447,447,447,447,447', +'224,,,,224,,,,,,439,439,439,439,439,393,,,,393,,,224,224,224,224,224', +'224,224,224,224,224,224,224,224,224,224,224,224,224,,,,224,,224,,,224', +'224,224,224,224,224,224,224,,,393,,,,,393,393,393,393,393,393,393,393', +'67,,,,67,,,,,,224,224,224,224,224,315,,,,315,,,,,,393,393,393,393,393', +',,,,,,,,,,,,,67,,,,,67,67,67,67,67,67,67,67,,,315,,,,,315,315,315,315', +'315,315,315,315,154,,,,154,,,,,,67,67,67,67,67,347,347,,,347,,,,,,315', +'315,315,315,315,,,,,,,,,,,,154,,154,,,154,,154,154,154,154,154,154,154', +'154,347,,347,,,347,,347,347,347,347,347,347,347,347,,,,,,,,,,,154,154', +'154,154,154,120,,,,120,,,,,,347,347,347,347,347,258,,,,258,,,120,120', +'120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,,,,120', +',120,,,120,120,120,120,120,120,120,120,,,258,,,,,258,258,258,258,258', +'258,258,258,384,,,,384,,,,,,120,120,120,120,120,,,,,,,,,,,258,258,258', +'258,258,,,,,,,,,,,,384,,384,,,384,,384,384,384,384,384,384,384,384,', +',,,,,,,220,,,,220,,,,,,,,,,,,,384,384,384,384,384,220,220,220,220,220', +'220,220,220,220,220,220,220,220,220,220,220,220,220,,,,220,,220,,,220', +'220,220,220,220,220,220,220,305,,305,,,,,,,,,,,306,,306,,,,,,,,,,220', +'220,220,220,220,,,,,,,,,,,,305,,,,,305,305,305,305,305,305,305,305,306', +',,,,306,306,306,306,306,306,306,306,,,,,,,,,,,,,305,305,305,305,305', +'202,,202,,,,,,306,306,306,306,306,,,202,202,202,202,202,202,202,202', +'202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,,,202', +',202,,,202,202,202,202,202,202,202,202,117,,117,,,,,,,,,,,379,,379,', +',,,,,,,,202,202,202,202,202,,,,,,,,,,,,117,,,,,117,117,117,117,117,117', +'117,117,379,,,,244,379,379,379,379,379,379,379,379,,,,,245,,,,,,,,117', +'117,117,117,117,,,,,,,,,379,379,379,379,379,244,,,,,244,244,244,244', +'244,244,244,244,245,,,,246,245,245,245,245,245,245,245,245,,,,,247,', +',,,,,,244,244,244,244,244,,,,,,,,,245,245,245,245,245,246,,,,,246,246', +'246,246,246,246,246,246,247,,,,,247,247,247,247,247,247,247,247,,,71', +',,,,,,,,,246,246,246,246,246,71,428,428,,,,,,247,247,247,247,247,,,', +',,71,71,71,,,71,71,,,,,71,71,71,71,71,71,71,71,,,,428,,,,,428,428,428', +'428,428,428,428,428,416,416,,,,,,,,71,71,71,71,71,413,413,,,,,,,,,,428', +'428,428,428,428,,,,,,,,,,416,,,,,416,416,416,416,416,416,416,416,,413', +',,,,413,413,413,413,413,413,413,413,412,412,,,,,,,,,,416,416,416,416', +'416,391,,,,,,,,,413,413,413,413,413,,,,,,,,,,412,,,,,412,412,412,412', +'412,412,412,412,,,,391,,,,99,391,391,391,391,391,391,391,391,,,,,,,', +',,412,412,412,412,412,,,,,,,,,,,,391,391,391,391,391,99,,,,,99,99,99', +'99,99,99,99,99,,,,,,,,,,,,,388,,,,,,,,,,,,,99,99,99,99,99,388,388,388', +'388,388,388,388,388,388,388,388,388,388,388,388,388,388,388,,,,388,', +'388,,,388,388,388,388,388,388,388,388,383,383,,,,,,,,,,,,381,381,,,', +',,,,,,,388,388,388,388,388,,,,,,,,,,383,,,,,383,383,383,383,383,383', +'383,383,381,,,,378,381,381,381,381,381,381,381,381,,,,,,,,,,,,,383,383', +'383,383,383,,,,,,,,,381,381,381,381,381,378,,,,,378,378,378,378,378', +'378,378,378,157,,,,,,,,,,,,,285,,157,,,,,,,,,,378,378,378,378,378,,', +',157,157,157,,,157,157,,,,,157,157,157,157,157,157,157,157,285,,,,,285', +'285,285,285,285,285,285,285,160,,,,,,,,,,,,157,157,157,157,157,281,', +',,,,,,285,285,285,285,285,,,,160,160,160,,,,160,,,,,160,160,160,160', +'160,160,160,160,,,,281,281,,,,,281,281,281,281,281,281,281,281,269,', +',,,,,,160,160,160,160,160,178,,,,,,,,,,,,281,281,281,281,281,,,,269', +'269,269,,,,269,,,,,269,269,269,269,269,269,269,269,178,,,,266,178,178', +'178,178,178,178,178,178,,,,,185,,,,,,,,269,269,269,269,269,,,,,,,,,178', +'178,178,178,178,266,,,,,266,266,266,266,266,266,266,266,185,,,,243,185', +'185,185,185,185,185,185,185,,,,,196,,,,,,,,266,266,266,266,266,,,,,', +',,,185,185,185,185,185,243,,,,,243,243,243,243,243,243,243,243,196,', +',,197,196,196,196,196,196,196,196,196,,,,,198,,,,,,,,243,243,243,243', +'243,,,,,,,,,196,196,196,196,196,197,,,,,197,197,197,197,197,197,197', +'197,198,,,,199,198,198,198,198,198,198,198,198,,,,,256,,,,,,,,197,197', +'197,197,197,,,,,,,,,198,198,198,198,198,199,,,,,199,199,199,199,199', +'199,199,199,256,,,,255,256,256,256,256,256,256,256,256,,,,,254,,,,,', +',,199,199,199,199,199,,,,,,,,,256,256,256,256,256,255,,,,,255,255,255', +'255,255,255,255,255,254,,,,253,254,254,254,254,254,254,254,254,,,,,252', +',,,,,,,255,255,255,255,255,,,,,,,,,254,254,254,254,254,253,,,,,253,253', +'253,253,253,253,253,253,252,,,,251,252,252,252,252,252,252,252,252,', +',,,250,,,,,,,,253,253,253,253,253,,,,,,,,,252,252,252,252,252,251,,', +',,251,251,251,251,251,251,251,251,250,,,,214,250,250,250,250,250,250', +'250,250,,,,,,,,,,,,,251,251,251,251,251,,,,,,,,,250,250,250,250,250', +'214,,,,,214,214,214,214,214,214,214,214,,,,,,,,,,,,,215,215,,,,,,,,', +',,,214,214,214,214,214,215,215,215,215,215,215,215,215,215,215,215,215', +'215,215,215,215,215,215,,,,215,,215,,249,215,215,215,215,215,215,215', +'215,,,,,248,,,,,,,,,,,,,,,,,,,,,215,215,215,215,215,249,,,,,249,249', +'249,249,249,249,249,249,248,,,,226,248,248,248,248,248,248,248,248,', +',,,238,,,,,,,,249,249,249,249,249,,,,,,,,,248,248,248,248,248,226,,', +',,226,226,226,226,226,226,226,226,238,,,,239,238,238,238,238,238,238', +'238,238,,,,,240,,,,,,,,226,226,226,226,226,,,,,,,,,238,238,238,238,238', +'239,,,,,239,239,239,239,239,239,239,239,240,,,,241,240,240,240,240,240', +'240,240,240,,,,,242,,,,,,,,239,239,239,239,239,,,,,,,,,240,240,240,240', +'240,241,,,,,241,241,241,241,241,241,241,241,242,,,,123,242,242,242,242', +'242,242,242,242,,,,,124,,,,,,,,241,241,241,241,241,,,,,,,,,242,242,242', +'242,242,123,,,,,123,123,123,123,123,123,123,123,124,,,,125,124,124,124', +'124,124,124,124,124,,,,,126,,,,,,,,123,123,123,123,123,,,,,,,,,124,124', +'124,124,124,125,,,,,125,125,125,125,125,125,125,125,126,,,,,126,126', +'126,126,126,126,126,126,365,,,,,,,,,,,,125,125,125,125,125,,,,,,,,,126', +'126,126,126,126,,,,,,,,,365,365,,,,,365,365,365,365,365,365,365,365', +',,,,,,,,,,,,,,,,,277,277,,,,,,,365,365,365,365,365,277,277,277,277,277', +'277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277', +'277,277,277,72,277,,277,,,,,,,,,72,72,72,72,72,72,72,72,72,72,72,72', +'72,72,72,72,72,72,72,72,72,72,72,72,,,,277,72,,,,,,,,,,,,,,,1,,,,,,', +',,,,,,,,,,,,,,72,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41', +',,,1,,,,,,,,,,,,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41', +'41,41,41,41,41,41,41,62,,,,41,,,,,,,,,,,,,62,62,62,62,62,62,62,62,62', +'62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,78,,,,62,,,,,,,,,,,,,,', +',,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,172,,,,,78,', +',,,,,,,,,,,,,,172,172,172,172,172,172,172,172,172,172,172,172,172,172', +'172,172,172,172,181,,,,,172,,,,,,,,,,,,,,,,181,181,181,181,181,181,181', +'181,181,181,181,181,181,181,181,181,181,181,312,312,,,,181,,,,,,,,312', +'312,312,312,312,312,312,312,312,312,312,312,312,312,312,312,312,312', +'312,312,312,312,312,312,312,366,312,,312,,,,,,,,,366,366,366,366,366', +'366,366,366,366,366,366,366,366,366,366,366,366,366,366,366,366,366', +'366,366,,,,,366,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,', +'0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,,,,,6,7,7,7,7,7,7', +'7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,,,,,7,8,8,8,8,8,8,8,8,8,8,8,8,8', +'8,8,8,8,8,8,8,8,8,8,8,,,,,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9', +'9,9,9,9,,,,,9,275,275,275,275,275,275,275,275,275,275,275,275,275,275', +'275,275,275,275,275,275,275,275,275,275,,,,275,275,82,82,82,82,82,82', +'82,82,82,82,82,82,82,82,82,82,82,82,,,,,,82,77,77,77,77,77,77,77,77', +'77,77,77,77,77,77,77,77,77,77,,,,,,77,83,83,83,83,83,83,83,83,83,83', +'83,83,83,83,83,83,83,83,,,,,,83,56,56,56,56,56,56,56,56,56,56,56,56', +'56,56,56,56,56,56,,,,,,56,81,81,81,81,81,81,81,81,81,81,81,81,81,81', +'81,81,81,81,,,,,,81' ] + racc_action_check = arr = ::Array.new(4308, 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 = [ + 3992, 3690, nil, nil, nil, 187, 4021, 4050, 4079, 4108, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + 39, nil, nil, 43, nil, nil, nil, nil, nil, 423, + nil, 3731, 269, nil, nil, 11, 32, nil, 82, 243, + nil, nil, nil, nil, nil, 197, 4233, 177, 166, 77, + 149, nil, 3772, nil, nil, 522, 27, 1405, nil, 132, + 135, 2068, 3625, 138, 366, nil, nil, 4185, 3812, nil, + 616, 4257, 4161, 4209, 8, 76, nil, 71, nil, 433, + nil, nil, nil, nil, nil, nil, nil, nil, 516, 2261, + 513, 512, 1190, nil, nil, nil, nil, 179, nil, 504, + 503, 502, -3, 501, -43, 502, 501, 1889, nil, 410, + 1562, nil, 1117, 3398, 3411, 3454, 3467, nil, nil, nil, + nil, nil, nil, 223, nil, 103, 89, 381, 184, 385, + 422, 398, 396, 391, 384, nil, nil, nil, nil, nil, + nil, 442, nil, nil, 1476, nil, nil, 2485, 415, nil, + 2550, 414, 450, 344, nil, 420, nil, -6, nil, nil, + nil, nil, 3851, nil, nil, 249, nil, 376, 2632, nil, + nil, 3890, 178, nil, 53, 2688, 29, 434, 316, nil, + nil, 1102, 1044, nil, nil, nil, 2744, 2787, 2800, 2843, + 307, 285, 1835, 285, 283, nil, nil, 70, nil, nil, + 15, 343, 258, 236, 3067, 3131, 127, 144, nil, nil, + 1697, nil, nil, nil, 1334, nil, 3230, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, 3243, 3286, + 3299, 3342, 3355, 2731, 1945, 1958, 2001, 2014, 3187, 3174, + 3024, 3011, 2968, 2955, 2912, 2899, 2856, 181, 1577, nil, + 149, nil, 1087, 249, 305, nil, 2675, 312, nil, 2619, + 345, nil, nil, nil, 327, 4137, 99, 3588, nil, nil, + 30, 2567, nil, nil, 674, 2498, nil, nil, nil, 54, + nil, nil, nil, nil, 2, nil, 580, nil, nil, nil, + 387, 330, 385, 457, 268, 1751, 1764, nil, nil, nil, + nil, 49, 3926, nil, nil, 1420, 18, 341, nil, nil, + nil, nil, nil, nil, 469, 470, nil, nil, nil, nil, + 186, 197, 370, 354, 259, 207, 190, 393, 290, 308, + 73, 425, 412, 413, 413, 79, nil, 1491, nil, nil, + nil, 448, nil, nil, 449, nil, 450, nil, nil, nil, + nil, 103, 488, 489, nil, 3519, 3963, 454, nil, 455, + nil, nil, nil, nil, nil, 224, 207, 119, 2433, 1902, + 146, 2390, 59, 2377, 1633, nil, nil, nil, 2325, 511, + 512, 2218, nil, 1349, nil, nil, nil, nil, nil, nil, + 485, nil, -22, 27, nil, nil, nil, 35, nil, nil, + 383, 197, 2202, 2150, 386, 928, 2136, 371, 812, 177, + nil, nil, nil, nil, nil, nil, 754, 91, 2084, 183, + 696, 329, 638, 417, nil, 384, 329, 312, nil, 1263, + nil, nil, nil, 370, 102, 14, nil, 1248, nil, nil, + 986, nil, nil, nil, 870, nil, nil, nil, nil, nil ] + +racc_action_default = [ + -265, -265, -1, -3, -4, -265, -53, -55, -57, -59, + -64, -65, -66, -67, -68, -69, -70, -71, -72, -73, + -74, -75, -76, -77, -78, -79, -80, -81, -82, -83, + -265, -89, -90, -265, -115, -116, -117, -118, -166, -265, + -2, -62, -265, -51, -60, -265, -120, -121, -265, -136, + -258, -52, -54, -56, -58, -86, -265, -88, -107, -265, + -110, 460, -265, -6, -7, -265, -265, -265, -50, -265, + -119, -265, -265, -265, -135, -138, -139, -265, -265, -91, + -265, -95, -97, -265, -265, -265, -111, -113, -262, -265, + -5, -8, -9, -10, -11, -12, -13, -14, -179, -265, + -265, -83, -265, -20, -21, -23, -24, -265, -26, -265, + -265, -265, -265, -265, -265, -265, -265, -265, -180, -181, + -265, -184, -198, -265, -265, -265, -265, -204, -205, -206, + -207, -208, -209, -210, -212, -216, -219, -222, -227, -230, + -232, -234, -236, -238, -240, -242, -255, -259, -260, -261, + -264, -62, -63, -167, -265, -179, -61, -265, -265, -126, + -265, -205, -265, -265, -134, -141, -143, -147, -148, -122, + -137, -140, -265, -85, -92, -265, -98, -100, -265, -94, + -96, -265, -265, -104, -265, -265, -265, -265, -265, -210, + -257, -265, -265, -19, -22, -25, -265, -265, -265, -265, + -265, -265, -265, -265, -265, -45, -46, -265, -48, -263, + -151, -265, -265, -265, -265, -265, -265, -265, -190, -191, + -265, -199, -200, -201, -265, -202, -265, -244, -245, -246, + -247, -248, -249, -250, -251, -252, -253, -254, -265, -265, + -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, + -265, -265, -265, -265, -265, -265, -265, -265, -265, -171, + -265, -175, -265, -265, -265, -124, -265, -205, -125, -265, + -265, -131, -132, -133, -265, -265, -152, -265, -145, -146, + -154, -265, -84, -93, -265, -265, -102, -87, -103, -265, + -106, -112, -114, -108, -265, -15, -265, -17, -18, -256, + -265, -265, -265, -265, -265, -265, -265, -44, -49, -47, + -150, -152, -265, -182, -183, -265, -265, -265, -187, -194, + -196, -197, -188, -189, -265, -265, -243, -213, -214, -215, + -217, -218, -220, -221, -223, -224, -225, -226, -228, -229, + -231, -233, -235, -237, -239, -265, -168, -265, -170, -174, + -176, -265, -178, -123, -265, -130, -265, -128, -149, -142, + -144, -153, -265, -265, -165, -265, -265, -265, -159, -205, + -99, -101, -105, -109, -16, -265, -265, -265, -265, -265, + -265, -265, -265, -265, -265, -211, -185, -186, -265, -265, + -203, -265, -169, -265, -173, -177, -129, -127, -155, -164, + -265, -157, -205, -265, -163, -158, -161, -27, -29, -30, + -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, + -195, -241, -172, -156, -160, -162, -265, -265, -265, -265, + -265, -265, -265, -265, -39, -265, -265, -265, -43, -265, + -192, -28, -31, -265, -265, -265, -35, -265, -37, -38, + -265, -41, -42, -193, -265, -33, -34, -36, -40, -32 ] + +racc_goto_table = [ + 47, 162, 57, 152, 70, 60, 153, 5, 5, 176, + 158, 75, 257, 51, 52, 53, 54, 76, 319, 41, + 393, 62, 104, 279, 82, 55, 291, 340, 58, 330, + 331, 81, 179, 180, 341, 207, 170, 101, 211, 76, + 47, 64, 171, 47, 190, 82, 82, 188, 63, 82, + 82, 82, 81, 81, 223, 342, 81, 81, 81, 194, + 98, 47, 91, 361, 47, 105, 310, 168, 74, 90, + 343, 210, 344, 213, 101, 47, 85, 338, 339, 167, + 151, 163, 174, 151, 200, 226, 204, 78, 82, 360, + 157, 332, 333, 153, 177, 81, 264, 98, 361, 270, + 175, 182, 105, 2, 40, 156, 186, 98, 172, 203, + 350, 317, 393, 1, 181, 300, 301, 302, 102, nil, + 304, nil, nil, 190, nil, 171, 286, 212, 76, 276, + 190, 291, 316, 292, nil, 299, 291, nil, 211, nil, + 82, nil, 211, 334, 335, 336, 337, 81, nil, 82, + nil, nil, nil, nil, 320, nil, 81, nil, nil, 200, + nil, nil, 47, 200, 200, 326, 210, 327, 328, 329, + 201, 210, 311, 324, 345, 210, 174, 325, nil, 269, + nil, 278, 98, 82, nil, 174, 98, 98, 82, nil, + 81, 420, 82, nil, 348, 81, nil, 153, nil, 81, + nil, nil, 306, nil, nil, 354, nil, 190, 356, nil, + 351, 322, 323, 370, nil, nil, nil, nil, nil, nil, + 367, nil, nil, 380, 382, nil, nil, 212, nil, nil, + 190, 212, nil, 371, nil, 70, nil, 171, nil, 276, + nil, nil, 419, nil, 385, 295, nil, nil, nil, 297, + 298, nil, nil, nil, nil, nil, nil, nil, 352, nil, + nil, nil, nil, nil, nil, nil, nil, nil, 200, 358, + nil, 47, 47, nil, 311, nil, nil, nil, nil, 47, + nil, nil, 167, 394, 167, nil, 153, nil, nil, nil, + nil, 98, nil, nil, nil, 403, 410, 411, 177, 414, + nil, 417, nil, nil, 400, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 167, + nil, nil, nil, 153, nil, nil, nil, 320, nil, 422, + 429, 431, 153, nil, 435, nil, 421, nil, nil, 210, + nil, nil, nil, nil, nil, nil, 443, 200, 200, 200, + nil, nil, nil, nil, 374, nil, 82, nil, nil, nil, + nil, nil, nil, 81, nil, nil, nil, nil, nil, nil, + 98, 98, 98, 167, nil, 394, nil, nil, 153, nil, + nil, nil, nil, nil, nil, nil, nil, 200, nil, nil, + 200, nil, nil, nil, nil, nil, nil, nil, 200, nil, + nil, nil, 200, nil, 200, 200, nil, nil, 200, 200, + 98, nil, nil, 98, nil, nil, 200, 200, nil, 200, + nil, 98, 200, nil, nil, 98, 200, 98, 98, nil, + 189, 98, 98, 407, 408, 409, nil, nil, nil, 98, + 98, nil, 98, nil, nil, 98, nil, nil, nil, 98, + nil, nil, nil, nil, 221, 222, 189, 225, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, 434, nil, nil, 438, nil, nil, nil, + nil, nil, nil, nil, 441, nil, nil, nil, 446, nil, + 448, 449, nil, nil, 451, 452, nil, nil, nil, nil, + nil, nil, 455, 456, nil, 457, nil, nil, 458, 189, + nil, nil, 459, nil, nil, nil, 189, 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, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, nil, nil, nil, + nil, nil, nil, 189, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, 189, 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, 189, 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, 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, 189 ] + +racc_goto_check = [ + 15, 43, 17, 27, 40, 17, 42, 5, 5, 35, + 42, 39, 50, 5, 5, 5, 5, 24, 59, 6, + 51, 7, 19, 47, 24, 15, 37, 67, 15, 63, + 63, 23, 33, 33, 68, 20, 39, 17, 20, 24, + 15, 4, 24, 15, 73, 24, 24, 16, 8, 24, + 24, 24, 23, 23, 62, 69, 23, 23, 23, 19, + 15, 15, 4, 49, 15, 4, 47, 15, 41, 8, + 70, 33, 71, 48, 17, 15, 36, 66, 66, 5, + 6, 44, 32, 6, 17, 74, 17, 31, 24, 46, + 41, 64, 64, 42, 6, 23, 42, 15, 49, 42, + 34, 36, 4, 2, 2, 26, 36, 15, 31, 15, + 53, 58, 51, 1, 31, 20, 20, 20, 18, nil, + 20, nil, nil, 73, nil, 24, 16, 8, 24, 39, + 73, 37, 20, 16, nil, 42, 37, nil, 20, nil, + 24, nil, 20, 65, 65, 65, 65, 23, nil, 24, + nil, nil, nil, nil, 42, nil, 23, nil, nil, 17, + nil, nil, 15, 17, 17, 42, 33, 62, 62, 62, + 9, 33, 39, 48, 20, 33, 32, 48, nil, 41, + nil, 6, 15, 24, nil, 32, 15, 15, 24, nil, + 23, 59, 24, nil, 27, 23, nil, 42, nil, 23, + nil, nil, 4, nil, nil, 42, nil, 73, 42, nil, + 16, 15, 15, 35, nil, nil, nil, nil, nil, nil, + 42, nil, nil, 20, 20, nil, nil, 8, nil, nil, + 73, 8, nil, 16, nil, 40, nil, 24, nil, 39, + nil, nil, 50, nil, 62, 9, nil, nil, nil, 9, + 9, nil, nil, nil, nil, nil, nil, nil, 15, nil, + nil, nil, nil, nil, nil, nil, nil, nil, 17, 15, + nil, 15, 15, nil, 39, nil, nil, nil, nil, 15, + nil, nil, 5, 27, 5, nil, 42, nil, nil, nil, + nil, 15, nil, nil, nil, 43, 20, 20, 6, 20, + nil, 20, nil, nil, 42, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 5, + nil, nil, nil, 42, nil, nil, nil, 42, nil, 27, + 20, 20, 42, nil, 20, nil, 73, nil, nil, 33, + nil, nil, nil, nil, nil, nil, 20, 17, 17, 17, + nil, nil, nil, nil, 9, nil, 24, nil, nil, nil, + nil, nil, nil, 23, nil, nil, nil, nil, nil, nil, + 15, 15, 15, 5, nil, 27, nil, nil, 42, nil, + nil, nil, nil, nil, nil, nil, nil, 17, nil, nil, + 17, nil, nil, nil, nil, nil, nil, nil, 17, nil, + nil, nil, 17, nil, 17, 17, nil, nil, 17, 17, + 15, nil, nil, 15, nil, nil, 17, 17, nil, 17, + nil, 15, 17, nil, nil, 15, 17, 15, 15, nil, + 60, 15, 15, 9, 9, 9, nil, nil, nil, 15, + 15, nil, 15, nil, nil, 15, nil, nil, nil, 15, + nil, nil, nil, nil, 60, 60, 60, 60, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, 9, nil, nil, 9, nil, nil, nil, + nil, nil, nil, nil, 9, nil, nil, nil, 9, nil, + 9, 9, nil, nil, 9, 9, nil, nil, nil, nil, + nil, nil, 9, 9, nil, 9, nil, nil, 9, 60, + nil, nil, 9, nil, nil, nil, 60, 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, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 60, + 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 60, 60, 60, 60, 60, nil, nil, nil, + nil, nil, nil, 60, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, 60, 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, 60, 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, 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, 60 ] + +racc_goto_pointer = [ + nil, 113, 103, nil, 0, 7, 14, -20, 7, 58, + nil, nil, nil, nil, nil, -5, -52, -28, 53, -43, + -82, nil, nil, -25, -32, nil, 36, -64, nil, nil, + nil, 31, 4, -49, 20, -71, 17, -158, nil, -38, + -41, 19, -61, -71, 9, nil, -186, -144, -47, -213, + -142, -327, nil, -150, nil, nil, nil, nil, -104, -197, + 331, nil, -71, -212, -152, -102, -172, -224, -218, -198, + -184, -183, nil, -55, -48 ] + +racc_goto_default = [ + nil, nil, nil, 3, 4, 66, 73, nil, 93, 106, + 92, 94, 95, 96, 97, 155, nil, 29, nil, nil, + 107, 42, 6, 7, 8, 9, 44, 259, 27, 28, + 30, nil, 79, 80, nil, nil, nil, 86, 87, 45, + 46, nil, 146, 363, nil, 165, 166, 362, 321, 280, + nil, 258, 260, 261, 121, 118, 119, 122, nil, nil, + 133, 125, 134, 135, 136, 137, 138, 139, 140, 141, + 142, 143, 144, 145, nil ] + +racc_reduce_table = [ + 0, 0, :racc_error, + 1, 92, :_reduce_1, + 2, 92, :_reduce_2, + 1, 93, :_reduce_3, + 1, 93, :_reduce_4, + 4, 94, :_reduce_5, + 3, 94, :_reduce_6, + 1, 98, :_reduce_7, + 2, 98, :_reduce_8, + 1, 100, :_reduce_9, + 1, 100, :_reduce_10, + 1, 100, :_reduce_11, + 1, 100, :_reduce_12, + 1, 100, :_reduce_13, + 1, 100, :_reduce_14, + 3, 101, :_reduce_15, + 4, 101, :_reduce_16, + 3, 101, :_reduce_17, + 3, 101, :_reduce_18, + 3, 99, :_reduce_19, + 2, 99, :_reduce_20, + 1, 109, :_reduce_21, + 2, 109, :_reduce_22, + 1, 110, :_reduce_23, + 1, 110, :_reduce_24, + 2, 102, :_reduce_25, + 1, 102, :_reduce_26, + 5, 103, :_reduce_27, + 7, 103, :_reduce_28, + 5, 103, :_reduce_29, + 5, 104, :_reduce_30, + 7, 104, :_reduce_31, + 9, 104, :_reduce_32, + 8, 104, :_reduce_33, + 8, 104, :_reduce_34, + 7, 104, :_reduce_35, + 8, 104, :_reduce_36, + 7, 104, :_reduce_37, + 7, 104, :_reduce_38, + 6, 104, :_reduce_39, + 8, 104, :_reduce_40, + 7, 104, :_reduce_41, + 7, 104, :_reduce_42, + 6, 104, :_reduce_43, + 3, 105, :_reduce_44, + 2, 105, :_reduce_45, + 2, 105, :_reduce_46, + 3, 105, :_reduce_47, + 2, 105, :_reduce_48, + 3, 105, :_reduce_49, + 3, 95, :_reduce_50, + 2, 95, :_reduce_51, + 2, 96, :_reduce_52, + 1, 96, :_reduce_53, + 2, 96, :_reduce_54, + 1, 96, :_reduce_55, + 2, 96, :_reduce_56, + 1, 96, :_reduce_57, + 2, 96, :_reduce_58, + 1, 96, :_reduce_59, + 1, 112, :_reduce_60, + 3, 112, :_reduce_61, + 1, 117, :_reduce_62, + 3, 117, :_reduce_63, + 1, 113, :_reduce_64, + 1, 113, :_reduce_65, + 1, 113, :_reduce_66, + 1, 113, :_reduce_67, + 1, 113, :_reduce_68, + 1, 114, :_reduce_69, + 1, 114, :_reduce_70, + 1, 114, :_reduce_71, + 1, 114, :_reduce_72, + 1, 114, :_reduce_73, + 1, 114, :_reduce_74, + 1, 114, :_reduce_75, + 1, 114, :_reduce_76, + 1, 114, :_reduce_77, + 1, 114, :_reduce_78, + 1, 114, :_reduce_79, + 1, 114, :_reduce_80, + 1, 114, :_reduce_81, + 1, 114, :_reduce_82, + 1, 114, :_reduce_83, + 5, 119, :_reduce_84, + 4, 119, :_reduce_85, + 2, 119, :_reduce_86, + 5, 119, :_reduce_87, + 2, 119, :_reduce_88, + 1, 121, :_reduce_89, + 1, 121, :_reduce_90, + 1, 122, :_reduce_91, + 2, 122, :_reduce_92, + 3, 123, :_reduce_93, + 2, 124, :_reduce_94, + 1, 124, :_reduce_95, + 2, 124, :_reduce_96, + 1, 124, :_reduce_97, + 1, 125, :_reduce_98, + 3, 125, :_reduce_99, + 1, 126, :_reduce_100, + 3, 126, :_reduce_101, + 2, 126, :_reduce_102, + 5, 120, :_reduce_103, + 4, 120, :_reduce_104, + 6, 120, :_reduce_105, + 5, 120, :_reduce_106, + 2, 120, :_reduce_107, + 5, 120, :_reduce_108, + 6, 120, :_reduce_109, + 2, 120, :_reduce_110, + 1, 127, :_reduce_111, + 3, 127, :_reduce_112, + 1, 128, :_reduce_113, + 3, 128, :_reduce_114, + 1, 115, :_reduce_115, + 1, 115, :_reduce_116, + 1, 115, :_reduce_117, + 1, 116, :_reduce_118, + 2, 97, :_reduce_119, + 1, 97, :_reduce_120, + 1, 131, :_reduce_121, + 3, 131, :_reduce_122, + 5, 131, :_reduce_123, + 4, 131, :_reduce_124, + 4, 131, :_reduce_125, + 3, 131, :_reduce_126, + 6, 131, :_reduce_127, + 5, 131, :_reduce_128, + 6, 131, :_reduce_129, + 5, 131, :_reduce_130, + 4, 131, :_reduce_131, + 4, 131, :_reduce_132, + 4, 131, :_reduce_133, + 3, 131, :_reduce_134, + 2, 130, :_reduce_135, + 1, 130, :_reduce_136, + 3, 130, :_reduce_137, + 2, 130, :_reduce_138, + 1, 132, :_reduce_139, + 2, 132, :_reduce_140, + 1, 134, :_reduce_141, + 3, 134, :_reduce_142, + 1, 136, :_reduce_143, + 3, 136, :_reduce_144, + 2, 137, :_reduce_145, + 2, 137, :_reduce_146, + 1, 137, :_reduce_147, + 1, 135, :_reduce_148, + 3, 135, :_reduce_149, + 2, 139, :_reduce_150, + 1, 139, :_reduce_151, + 1, 138, :_reduce_152, + 2, 138, :_reduce_153, + 1, 138, :_reduce_154, + 3, 140, :_reduce_155, + 4, 140, :_reduce_156, + 3, 140, :_reduce_157, + 3, 140, :_reduce_158, + 2, 140, :_reduce_159, + 4, 140, :_reduce_160, + 3, 140, :_reduce_161, + 4, 140, :_reduce_162, + 3, 140, :_reduce_163, + 3, 140, :_reduce_164, + 2, 140, :_reduce_165, + 1, 108, :_reduce_166, + 1, 118, :_reduce_167, + 3, 118, :_reduce_168, + 4, 118, :_reduce_169, + 2, 141, :_reduce_170, + 1, 141, :_reduce_171, + 4, 141, :_reduce_172, + 3, 141, :_reduce_173, + 2, 142, :_reduce_174, + 1, 143, :_reduce_175, + 2, 143, :_reduce_176, + 3, 144, :_reduce_177, + 2, 144, :_reduce_178, + 1, 145, :_reduce_179, + 1, 145, :_reduce_180, + 1, 145, :_reduce_181, + 3, 145, :_reduce_182, + 3, 145, :_reduce_183, + 1, 148, :_reduce_184, + 4, 148, :_reduce_185, + 4, 148, :_reduce_186, + 3, 148, :_reduce_187, + 3, 148, :_reduce_188, + 3, 148, :_reduce_189, + 2, 148, :_reduce_190, + 2, 148, :_reduce_191, + 6, 148, :_reduce_192, + 7, 148, :_reduce_193, + 1, 149, :_reduce_194, + 3, 149, :_reduce_195, + 1, 150, :_reduce_196, + 1, 150, :_reduce_197, + 1, 151, :_reduce_198, + 2, 151, :_reduce_199, + 2, 151, :_reduce_200, + 2, 151, :_reduce_201, + 2, 151, :_reduce_202, + 4, 151, :_reduce_203, + 1, 152, :_reduce_204, + 1, 152, :_reduce_205, + 1, 152, :_reduce_206, + 1, 152, :_reduce_207, + 1, 152, :_reduce_208, + 1, 152, :_reduce_209, + 1, 153, :_reduce_210, + 4, 153, :_reduce_211, + 1, 154, :_reduce_212, + 3, 154, :_reduce_213, + 3, 154, :_reduce_214, + 3, 154, :_reduce_215, + 1, 155, :_reduce_216, + 3, 155, :_reduce_217, + 3, 155, :_reduce_218, + 1, 156, :_reduce_219, + 3, 156, :_reduce_220, + 3, 156, :_reduce_221, + 1, 157, :_reduce_222, + 3, 157, :_reduce_223, + 3, 157, :_reduce_224, + 3, 157, :_reduce_225, + 3, 157, :_reduce_226, + 1, 158, :_reduce_227, + 3, 158, :_reduce_228, + 3, 158, :_reduce_229, + 1, 159, :_reduce_230, + 3, 159, :_reduce_231, + 1, 160, :_reduce_232, + 3, 160, :_reduce_233, + 1, 161, :_reduce_234, + 3, 161, :_reduce_235, + 1, 162, :_reduce_236, + 3, 162, :_reduce_237, + 1, 163, :_reduce_238, + 3, 163, :_reduce_239, + 1, 164, :_reduce_240, + 5, 164, :_reduce_241, + 1, 133, :_reduce_242, + 3, 133, :_reduce_243, + 1, 165, :_reduce_244, + 1, 165, :_reduce_245, + 1, 165, :_reduce_246, + 1, 165, :_reduce_247, + 1, 165, :_reduce_248, + 1, 165, :_reduce_249, + 1, 165, :_reduce_250, + 1, 165, :_reduce_251, + 1, 165, :_reduce_252, + 1, 165, :_reduce_253, + 1, 165, :_reduce_254, + 1, 111, :_reduce_255, + 3, 111, :_reduce_256, + 1, 107, :_reduce_257, + 1, 106, :_reduce_258, + 1, 146, :_reduce_259, + 1, 146, :_reduce_260, + 1, 146, :_reduce_261, + 1, 129, :_reduce_262, + 2, 147, :_reduce_263, + 1, 147, :_reduce_264 ] + +racc_reduce_n = 265 + +racc_shift_n = 460 + +racc_token_table = { + false => 0, + :error => 1, + :COLON => 2, + :CASE => 3, + :DEFAULT => 4, + :LBRACE => 5, + :RBRACE => 6, + :SEMICOLON => 7, + :IF => 8, + :LPAREN => 9, + :RPAREN => 10, + :ELSE => 11, + :SWITCH => 12, + :WHILE => 13, + :DO => 14, + :FOR => 15, + :GOTO => 16, + :CONTINUE => 17, + :BREAK => 18, + :RETURN => 19, + :COMMA => 20, + :EQ => 21, + :TYPEDEF => 22, + :EXTERN => 23, + :STATIC => 24, + :AUTO => 25, + :REGISTER => 26, + :VOID => 27, + :CHAR => 28, + :SHORT => 29, + :INT => 30, + :LONG => 31, + :FLOAT => 32, + :DOUBLE => 33, + :SIGNED => 34, + :UNSIGNED => 35, + :BOOL => 36, + :COMPLEX => 37, + :IMAGINARY => 38, + :STRUCT => 39, + :UNION => 40, + :ENUM => 41, + :CONST => 42, + :RESTRICT => 43, + :VOLATILE => 44, + :INLINE => 45, + :LBRACKET => 46, + :RBRACKET => 47, + :MUL => 48, + :ELLIPSIS => 49, + :TYPENAME => 50, + :DOT => 51, + :ARROW => 52, + :INC => 53, + :DEC => 54, + :SIZEOF => 55, + :AND => 56, + :ADD => 57, + :SUB => 58, + :NOT => 59, + :BANG => 60, + :DIV => 61, + :MOD => 62, + :LSHIFT => 63, + :RSHIFT => 64, + :LT => 65, + :GT => 66, + :LEQ => 67, + :GEQ => 68, + :EQEQ => 69, + :NEQ => 70, + :XOR => 71, + :OR => 72, + :ANDAND => 73, + :OROR => 74, + :QUESTION => 75, + :MULEQ => 76, + :DIVEQ => 77, + :MODEQ => 78, + :ADDEQ => 79, + :SUBEQ => 80, + :LSHIFTEQ => 81, + :RSHIFTEQ => 82, + :ANDEQ => 83, + :XOREQ => 84, + :OREQ => 85, + :ID => 86, + :ICON => 87, + :FCON => 88, + :CCON => 89, + :SCON => 90 } + +racc_nt_base = 91 + +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", + "COLON", + "CASE", + "DEFAULT", + "LBRACE", + "RBRACE", + "SEMICOLON", + "IF", + "LPAREN", + "RPAREN", + "ELSE", + "SWITCH", + "WHILE", + "DO", + "FOR", + "GOTO", + "CONTINUE", + "BREAK", + "RETURN", + "COMMA", + "EQ", + "TYPEDEF", + "EXTERN", + "STATIC", + "AUTO", + "REGISTER", + "VOID", + "CHAR", + "SHORT", + "INT", + "LONG", + "FLOAT", + "DOUBLE", + "SIGNED", + "UNSIGNED", + "BOOL", + "COMPLEX", + "IMAGINARY", + "STRUCT", + "UNION", + "ENUM", + "CONST", + "RESTRICT", + "VOLATILE", + "INLINE", + "LBRACKET", + "RBRACKET", + "MUL", + "ELLIPSIS", + "TYPENAME", + "DOT", + "ARROW", + "INC", + "DEC", + "SIZEOF", + "AND", + "ADD", + "SUB", + "NOT", + "BANG", + "DIV", + "MOD", + "LSHIFT", + "RSHIFT", + "LT", + "GT", + "LEQ", + "GEQ", + "EQEQ", + "NEQ", + "XOR", + "OR", + "ANDAND", + "OROR", + "QUESTION", + "MULEQ", + "DIVEQ", + "MODEQ", + "ADDEQ", + "SUBEQ", + "LSHIFTEQ", + "RSHIFTEQ", + "ANDEQ", + "XOREQ", + "OREQ", + "ID", + "ICON", + "FCON", + "CCON", + "SCON", + "$start", + "translation_unit", + "external_declaration", + "function_definition", + "declaration", + "declaration_specifiers", + "declarator", + "declaration_list", + "compound_statement", + "statement", + "labeled_statement", + "expression_statement", + "selection_statement", + "iteration_statement", + "jump_statement", + "identifier", + "constant_expression", + "typedef_name", + "block_item_list", + "block_item", + "expression", + "init_declarator_list", + "storage_class_specifier", + "type_specifier", + "type_qualifier", + "function_specifier", + "init_declarator", + "initializer", + "struct_or_union_specifier", + "enum_specifier", + "struct_or_union", + "struct_declaration_list", + "struct_declaration", + "specifier_qualifier_list", + "struct_declarator_list", + "struct_declarator", + "enumerator_list", + "enumerator", + "enumeration_constant", + "pointer", + "direct_declarator", + "type_qualifier_list", + "assignment_expression", + "parameter_type_list", + "identifier_list", + "parameter_list", + "parameter_declaration", + "abstract_declarator", + "type_name", + "direct_abstract_declarator", + "initializer_list", + "designation", + "designator_list", + "designator", + "primary_expression", + "constant", + "string_literal", + "postfix_expression", + "argument_expression_list", + "argument_expression", + "unary_expression", + "unary_operator", + "cast_expression", + "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", + "assignment_operator" ] + +Racc_debug_parser = false + +##### State transition tables end ##### + +# reduce 0 omitted + +module_eval(<<'.,.,', 'cast.y', 32) + def _reduce_1(val, _values, result) + result = TranslationUnit.new_at(val[0].pos, NodeChain[val[0]]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 33) + def _reduce_2(val, _values, result) + result = val[0]; result.entities << val[1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 37) + def _reduce_3(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 38) + def _reduce_4(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 42) + def _reduce_5(val, _values, result) + result = make_function_def(val[0][0], val[0][1], val[1], val[2], val[3]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 43) + def _reduce_6(val, _values, result) + result = make_function_def(val[0][0], val[0][1], val[1], nil , val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 47) + def _reduce_7(val, _values, result) + result = [val[0]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 48) + def _reduce_8(val, _values, result) + result = val[0] << val[1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 54) + def _reduce_9(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 55) + def _reduce_10(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 56) + def _reduce_11(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 57) + def _reduce_12(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 58) + def _reduce_13(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 59) + def _reduce_14(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 63) + def _reduce_15(val, _values, result) + val[2].labels.unshift(PlainLabel.new_at(val[0].pos, val[0].val)); result = val[2] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 64) + def _reduce_16(val, _values, result) + val[3].labels.unshift(Case .new_at(val[0].pos, val[1] )); result = val[3] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 65) + def _reduce_17(val, _values, result) + val[2].labels.unshift(Default .new_at(val[0].pos )); result = val[2] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 67) + def _reduce_18(val, _values, result) + val[2].labels.unshift(PlainLabel.new_at(val[0].pos, val[0].name)); result = val[2] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 71) + def _reduce_19(val, _values, result) + result = Block.new_at(val[0].pos, val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 72) + def _reduce_20(val, _values, result) + result = Block.new_at(val[0].pos ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 76) + def _reduce_21(val, _values, result) + result = NodeChain[val[0]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 77) + def _reduce_22(val, _values, result) + result = val[0] << val[1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 81) + def _reduce_23(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 82) + def _reduce_24(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 86) + def _reduce_25(val, _values, result) + result = ExpressionStatement.new_at(val[0].pos, val[0]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 87) + def _reduce_26(val, _values, result) + result = ExpressionStatement.new_at(val[0].pos ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 91) + def _reduce_27(val, _values, result) + result = If .new_at(val[0].pos, val[2], val[4] ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 92) + def _reduce_28(val, _values, result) + result = If .new_at(val[0].pos, val[2], val[4], val[6]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 93) + def _reduce_29(val, _values, result) + result = Switch.new_at(val[0].pos, val[2], val[4] ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 97) + def _reduce_30(val, _values, result) + result = While.new_at(val[0].pos, val[2], val[4] ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 98) + def _reduce_31(val, _values, result) + result = While.new_at(val[0].pos, val[4], val[1], :do => true ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 99) + def _reduce_32(val, _values, result) + result = For.new_at(val[0].pos, val[2], val[4], val[6], val[8]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 100) + def _reduce_33(val, _values, result) + result = For.new_at(val[0].pos, val[2], val[4], nil , val[7]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 101) + def _reduce_34(val, _values, result) + result = For.new_at(val[0].pos, val[2], nil , val[5], val[7]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 102) + def _reduce_35(val, _values, result) + result = For.new_at(val[0].pos, val[2], nil , nil , val[6]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 103) + def _reduce_36(val, _values, result) + result = For.new_at(val[0].pos, nil , val[3], val[5], val[7]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 104) + def _reduce_37(val, _values, result) + result = For.new_at(val[0].pos, nil , val[3], nil , val[6]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 105) + def _reduce_38(val, _values, result) + result = For.new_at(val[0].pos, nil , nil , val[4], val[6]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 106) + def _reduce_39(val, _values, result) + result = For.new_at(val[0].pos, nil , nil , nil , val[5]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 107) + def _reduce_40(val, _values, result) + result = For.new_at(val[0].pos, val[2], val[3], val[5], val[7]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 108) + def _reduce_41(val, _values, result) + result = For.new_at(val[0].pos, val[2], val[3], nil , val[6]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 109) + def _reduce_42(val, _values, result) + result = For.new_at(val[0].pos, val[2], nil , val[4], val[6]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 110) + def _reduce_43(val, _values, result) + result = For.new_at(val[0].pos, val[2], nil , nil , val[5]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 114) + def _reduce_44(val, _values, result) + result = Goto .new_at(val[0].pos, val[1].val) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 115) + def _reduce_45(val, _values, result) + result = Continue.new_at(val[0].pos ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 116) + def _reduce_46(val, _values, result) + result = Break .new_at(val[0].pos ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 117) + def _reduce_47(val, _values, result) + result = Return .new_at(val[0].pos, val[1] ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 118) + def _reduce_48(val, _values, result) + result = Return .new_at(val[0].pos ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 120) + def _reduce_49(val, _values, result) + result = Goto .new_at(val[0].pos, val[1].name) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 126) + def _reduce_50(val, _values, result) + result = make_declaration(val[0][0], val[0][1], val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 127) + def _reduce_51(val, _values, result) + result = make_declaration(val[0][0], val[0][1], NodeArray[]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 131) + def _reduce_52(val, _values, result) + val[1][1] << val[0][1]; result = val[1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 132) + def _reduce_53(val, _values, result) + result = [val[0][0], [val[0][1]]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 133) + def _reduce_54(val, _values, result) + val[1][1] << val[0][1]; result = val[1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 134) + def _reduce_55(val, _values, result) + result = [val[0][0], [val[0][1]]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 135) + def _reduce_56(val, _values, result) + val[1][1] << val[0][1]; result = val[1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 136) + def _reduce_57(val, _values, result) + result = [val[0][0], [val[0][1]]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 137) + def _reduce_58(val, _values, result) + val[1][1] << val[0][1]; result = val[1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 138) + def _reduce_59(val, _values, result) + result = [val[0][0], [val[0][1]]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 142) + def _reduce_60(val, _values, result) + result = NodeArray[val[0]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 143) + def _reduce_61(val, _values, result) + result = val[0] << val[2] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 147) + def _reduce_62(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 148) + def _reduce_63(val, _values, result) + val[0].init = val[2]; result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 152) + def _reduce_64(val, _values, result) + result = [val[0].pos, :typedef ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 153) + def _reduce_65(val, _values, result) + result = [val[0].pos, :extern ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 154) + def _reduce_66(val, _values, result) + result = [val[0].pos, :static ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 155) + def _reduce_67(val, _values, result) + result = [val[0].pos, :auto ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 156) + def _reduce_68(val, _values, result) + result = [val[0].pos, :register] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 160) + def _reduce_69(val, _values, result) + result = [val[0].pos, :void ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 161) + def _reduce_70(val, _values, result) + result = [val[0].pos, :char ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 162) + def _reduce_71(val, _values, result) + result = [val[0].pos, :short ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 163) + def _reduce_72(val, _values, result) + result = [val[0].pos, :int ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 164) + def _reduce_73(val, _values, result) + result = [val[0].pos, :long ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 165) + def _reduce_74(val, _values, result) + result = [val[0].pos, :float ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 166) + def _reduce_75(val, _values, result) + result = [val[0].pos, :double ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 167) + def _reduce_76(val, _values, result) + result = [val[0].pos, :signed ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 168) + def _reduce_77(val, _values, result) + result = [val[0].pos, :unsigned ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 169) + def _reduce_78(val, _values, result) + result = [val[0].pos, :_Bool ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 170) + def _reduce_79(val, _values, result) + result = [val[0].pos, :_Complex ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 171) + def _reduce_80(val, _values, result) + result = [val[0].pos, :_Imaginary] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 172) + def _reduce_81(val, _values, result) + result = [val[0].pos, val[0] ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 173) + def _reduce_82(val, _values, result) + result = [val[0].pos, val[0] ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 174) + def _reduce_83(val, _values, result) + result = [val[0].pos, val[0] ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 178) + def _reduce_84(val, _values, result) + result = val[0][1].new_at(val[0][0], val[1].val, val[3]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 179) + def _reduce_85(val, _values, result) + result = val[0][1].new_at(val[0][0], nil , val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 180) + def _reduce_86(val, _values, result) + result = val[0][1].new_at(val[0][0], val[1].val, nil ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 182) + def _reduce_87(val, _values, result) + result = val[0][1].new_at(val[0][0], val[1].name, val[3]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 183) + def _reduce_88(val, _values, result) + result = val[0][1].new_at(val[0][0], val[1].name, nil ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 187) + def _reduce_89(val, _values, result) + result = [val[0].pos, Struct] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 188) + def _reduce_90(val, _values, result) + result = [val[0].pos, Union ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 192) + def _reduce_91(val, _values, result) + result = NodeArray[val[0]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 193) + def _reduce_92(val, _values, result) + val[0] << val[1]; result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 197) + def _reduce_93(val, _values, result) + result = make_declaration(val[0][0], val[0][1], val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 201) + def _reduce_94(val, _values, result) + val[1][1] << val[0][1]; result = val[1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 202) + def _reduce_95(val, _values, result) + result = [val[0][0], [val[0][1]]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 203) + def _reduce_96(val, _values, result) + val[1][1] << val[0][1]; result = val[1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 204) + def _reduce_97(val, _values, result) + result = [val[0][0], [val[0][1]]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 208) + def _reduce_98(val, _values, result) + result = NodeArray[val[0]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 209) + def _reduce_99(val, _values, result) + result = val[0] << val[2] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 213) + def _reduce_100(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 214) + def _reduce_101(val, _values, result) + result = val[0]; val[0].num_bits = val[2] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 215) + def _reduce_102(val, _values, result) + result = Declarator.new_at(val[0].pos, :num_bits => val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 219) + def _reduce_103(val, _values, result) + result = Enum.new_at(val[0].pos, val[1].val, val[3]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 220) + def _reduce_104(val, _values, result) + result = Enum.new_at(val[0].pos, nil , val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 221) + def _reduce_105(val, _values, result) + result = Enum.new_at(val[0].pos, val[1].val, val[3]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 222) + def _reduce_106(val, _values, result) + result = Enum.new_at(val[0].pos, nil , val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 223) + def _reduce_107(val, _values, result) + result = Enum.new_at(val[0].pos, val[1].val, nil ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 225) + def _reduce_108(val, _values, result) + result = Enum.new_at(val[0].pos, val[1].name, val[3]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 226) + def _reduce_109(val, _values, result) + result = Enum.new_at(val[0].pos, val[1].name, val[3]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 227) + def _reduce_110(val, _values, result) + result = Enum.new_at(val[0].pos, val[1].name, nil ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 231) + def _reduce_111(val, _values, result) + result = NodeArray[val[0]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 232) + def _reduce_112(val, _values, result) + result = val[0] << val[2] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 236) + def _reduce_113(val, _values, result) + result = Enumerator.new_at(val[0].pos, val[0].val, nil ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 237) + def _reduce_114(val, _values, result) + result = Enumerator.new_at(val[0].pos, val[0].val, val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 241) + def _reduce_115(val, _values, result) + result = [val[0].pos, :const ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 242) + def _reduce_116(val, _values, result) + result = [val[0].pos, :restrict] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 243) + def _reduce_117(val, _values, result) + result = [val[0].pos, :volatile] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 247) + def _reduce_118(val, _values, result) + result = [val[0].pos, :inline] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 251) + def _reduce_119(val, _values, result) + result = add_decl_type(val[1], val[0]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 252) + def _reduce_120(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 256) + def _reduce_121(val, _values, result) + result = Declarator.new_at(val[0].pos, nil, val[0].val) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 257) + def _reduce_122(val, _values, result) + result = val[1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 258) + def _reduce_123(val, _values, result) + result = add_decl_type(val[0], Array.new_at(val[0].pos )) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 259) + def _reduce_124(val, _values, result) + result = add_decl_type(val[0], Array.new_at(val[0].pos )) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 260) + def _reduce_125(val, _values, result) + result = add_decl_type(val[0], Array.new_at(val[0].pos, nil, val[2])) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 261) + def _reduce_126(val, _values, result) + result = add_decl_type(val[0], Array.new_at(val[0].pos )) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 262) + def _reduce_127(val, _values, result) + result = add_decl_type(val[0], Array.new_at(val[0].pos )) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 263) + def _reduce_128(val, _values, result) + result = add_decl_type(val[0], Array.new_at(val[0].pos )) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 264) + def _reduce_129(val, _values, result) + result = add_decl_type(val[0], Array.new_at(val[0].pos )) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 265) + def _reduce_130(val, _values, result) + result = add_decl_type(val[0], Array.new_at(val[0].pos )) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 266) + def _reduce_131(val, _values, result) + result = add_decl_type(val[0], Array.new_at(val[0].pos )) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 267) + def _reduce_132(val, _values, result) + result = add_decl_type(val[0], Function.new_at(val[0].pos, nil, param_list(*val[2]), :var_args => val[2][1])) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 268) + def _reduce_133(val, _values, result) + result = add_decl_type(val[0], Function.new_at(val[0].pos, nil, val[2])) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 269) + def _reduce_134(val, _values, result) + result = add_decl_type(val[0], Function.new_at(val[0].pos )) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 273) + def _reduce_135(val, _values, result) + result = add_type_quals(Pointer.new_at(val[0].pos), val[1][1]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 274) + def _reduce_136(val, _values, result) + result = Pointer.new_at(val[0].pos) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 275) + def _reduce_137(val, _values, result) + p = add_type_quals(Pointer.new_at(val[0].pos), val[1][1]); val[2].direct_type = p; result = val[2] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 276) + def _reduce_138(val, _values, result) + p = Pointer.new_at(val[0].pos) ; val[1].direct_type = p; result = val[1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 280) + def _reduce_139(val, _values, result) + result = [val[0][0], [val[0][1]]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 281) + def _reduce_140(val, _values, result) + val[0][1] << val[1][1]; result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 285) + def _reduce_141(val, _values, result) + result = [val[0], false] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 286) + def _reduce_142(val, _values, result) + result = [val[0], true ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 290) + def _reduce_143(val, _values, result) + result = NodeArray[val[0]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 291) + def _reduce_144(val, _values, result) + result = val[0] << val[2] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 295) + def _reduce_145(val, _values, result) + ind_type = val[1].indirect_type and ind_type.detach + result = make_parameter(val[0][0], val[0][1], ind_type, val[1].name) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 297) + def _reduce_146(val, _values, result) + result = make_parameter(val[0][0], val[0][1], val[1] , nil ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 298) + def _reduce_147(val, _values, result) + result = make_parameter(val[0][0], val[0][1], nil , nil ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 302) + def _reduce_148(val, _values, result) + result = NodeArray[Parameter.new_at(val[0].pos, nil, val[0].val)] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 303) + def _reduce_149(val, _values, result) + result = val[0] << Parameter.new_at(val[2].pos, nil, val[2].val) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 307) + def _reduce_150(val, _values, result) + val[1].direct_type = make_direct_type(val[0][0], val[0][1]); result = val[1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 308) + def _reduce_151(val, _values, result) + result = make_direct_type(val[0][0], val[0][1]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 312) + def _reduce_152(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 313) + def _reduce_153(val, _values, result) + val[1].direct_type = val[0]; result = val[1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 314) + def _reduce_154(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 318) + def _reduce_155(val, _values, result) + result = val[1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 319) + def _reduce_156(val, _values, result) + val[0].direct_type = Array.new_at(val[0].pos, nil, val[2]); result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 320) + def _reduce_157(val, _values, result) + val[0].direct_type = Array.new_at(val[0].pos, nil, nil ); result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 321) + def _reduce_158(val, _values, result) + result = Array.new_at(val[0].pos, nil, val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 322) + def _reduce_159(val, _values, result) + result = Array.new_at(val[0].pos ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 323) + def _reduce_160(val, _values, result) + val[0].direct_type = Array.new_at(val[0].pos); result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 324) + def _reduce_161(val, _values, result) + result = Array.new_at(val[0].pos) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 325) + def _reduce_162(val, _values, result) + val[0].direct_type = Function.new_at(val[0].pos, nil, param_list(*val[2]), val[2][1]); result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 326) + def _reduce_163(val, _values, result) + val[0].direct_type = Function.new_at(val[0].pos ); result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 327) + def _reduce_164(val, _values, result) + result = Function.new_at(val[0].pos, nil, param_list(*val[1]), val[1][1]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 328) + def _reduce_165(val, _values, result) + result = Function.new_at(val[0].pos ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 334) + def _reduce_166(val, _values, result) + result = CustomType.new_at(val[0].pos, val[0].val) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 338) + def _reduce_167(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 339) + def _reduce_168(val, _values, result) + result = CompoundLiteral.new_at(val[0].pos, nil, val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 340) + def _reduce_169(val, _values, result) + result = CompoundLiteral.new_at(val[0].pos, nil, val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 344) + def _reduce_170(val, _values, result) + result = NodeArray[MemberInit.new_at(val[0][0] , val[0][1], val[1])] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 345) + def _reduce_171(val, _values, result) + result = NodeArray[MemberInit.new_at(val[0].pos, nil , val[0])] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 346) + def _reduce_172(val, _values, result) + result = val[0] << MemberInit.new_at(val[2][0] , val[2][1], val[3]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 347) + def _reduce_173(val, _values, result) + result = val[0] << MemberInit.new_at(val[2].pos, nil , val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 351) + def _reduce_174(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 355) + def _reduce_175(val, _values, result) + result = val[0]; val[0][1] = NodeArray[val[0][1]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 356) + def _reduce_176(val, _values, result) + result = val[0]; val[0][1] << val[1][1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 360) + def _reduce_177(val, _values, result) + result = [val[1].pos, val[1] ] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 361) + def _reduce_178(val, _values, result) + result = [val[1].pos, Member.new_at(val[1].pos, val[1].val)] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 367) + def _reduce_179(val, _values, result) + result = Variable.new_at(val[0].pos, val[0].val) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 368) + def _reduce_180(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 369) + def _reduce_181(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 371) + def _reduce_182(val, _values, result) + result = val[1] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 372) + def _reduce_183(val, _values, result) + block_expressions_enabled? or parse_error val[0].pos, "compound statement found where expression expected" + result = BlockExpression.new(val[1]); result.pos = val[0].pos + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 377) + def _reduce_184(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 378) + def _reduce_185(val, _values, result) + result = Index .new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 379) + def _reduce_186(val, _values, result) + result = Call .new_at(val[0].pos, val[0], val[2] ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 380) + def _reduce_187(val, _values, result) + result = Call .new_at(val[0].pos, val[0], NodeArray[]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 381) + def _reduce_188(val, _values, result) + result = Dot .new_at(val[0].pos, val[0], Member.new(val[2].val)) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 382) + def _reduce_189(val, _values, result) + result = Arrow .new_at(val[0].pos, val[0], Member.new(val[2].val)) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 383) + def _reduce_190(val, _values, result) + result = PostInc .new_at(val[0].pos, val[0] ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 384) + def _reduce_191(val, _values, result) + result = PostDec .new_at(val[0].pos, val[0] ) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 385) + def _reduce_192(val, _values, result) + result = CompoundLiteral.new_at(val[0].pos, val[1], val[4]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 386) + def _reduce_193(val, _values, result) + result = CompoundLiteral.new_at(val[0].pos, val[1], val[4]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 390) + def _reduce_194(val, _values, result) + result = NodeArray[val[0]] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 391) + def _reduce_195(val, _values, result) + result = val[0] << val[2] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 395) + def _reduce_196(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 396) + def _reduce_197(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 400) + def _reduce_198(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 401) + def _reduce_199(val, _values, result) + result = PreInc.new_at(val[0].pos, val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 402) + def _reduce_200(val, _values, result) + result = PreDec.new_at(val[0].pos, val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 403) + def _reduce_201(val, _values, result) + result = val[0][0].new_at(val[0][1], val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 404) + def _reduce_202(val, _values, result) + result = Sizeof.new_at(val[0].pos, val[1]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 405) + def _reduce_203(val, _values, result) + result = Sizeof.new_at(val[0].pos, val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 409) + def _reduce_204(val, _values, result) + result = [Address , val[0].pos] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 410) + def _reduce_205(val, _values, result) + result = [Dereference, val[0].pos] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 411) + def _reduce_206(val, _values, result) + result = [Positive , val[0].pos] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 412) + def _reduce_207(val, _values, result) + result = [Negative , val[0].pos] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 413) + def _reduce_208(val, _values, result) + result = [BitNot , val[0].pos] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 414) + def _reduce_209(val, _values, result) + result = [Not , val[0].pos] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 418) + def _reduce_210(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 419) + def _reduce_211(val, _values, result) + result = Cast.new_at(val[0].pos, val[1], val[3]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 423) + def _reduce_212(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 424) + def _reduce_213(val, _values, result) + result = Multiply.new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 425) + def _reduce_214(val, _values, result) + result = Divide .new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 426) + def _reduce_215(val, _values, result) + result = Mod .new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 430) + def _reduce_216(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 431) + def _reduce_217(val, _values, result) + result = Add .new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 432) + def _reduce_218(val, _values, result) + result = Subtract.new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 436) + def _reduce_219(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 437) + def _reduce_220(val, _values, result) + result = ShiftLeft .new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 438) + def _reduce_221(val, _values, result) + result = ShiftRight.new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 442) + def _reduce_222(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 443) + def _reduce_223(val, _values, result) + result = Less.new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 444) + def _reduce_224(val, _values, result) + result = More.new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 445) + def _reduce_225(val, _values, result) + result = LessOrEqual.new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 446) + def _reduce_226(val, _values, result) + result = MoreOrEqual.new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 450) + def _reduce_227(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 451) + def _reduce_228(val, _values, result) + result = Equal .new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 452) + def _reduce_229(val, _values, result) + result = NotEqual.new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 456) + def _reduce_230(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 457) + def _reduce_231(val, _values, result) + result = BitAnd.new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 461) + def _reduce_232(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 462) + def _reduce_233(val, _values, result) + result = BitXor.new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 466) + def _reduce_234(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 467) + def _reduce_235(val, _values, result) + result = BitOr.new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 471) + def _reduce_236(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 472) + def _reduce_237(val, _values, result) + result = And.new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 476) + def _reduce_238(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 477) + def _reduce_239(val, _values, result) + result = Or.new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 481) + def _reduce_240(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 482) + def _reduce_241(val, _values, result) + result = Conditional.new_at(val[0].pos, val[0], val[2], val[4]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 486) + def _reduce_242(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 487) + def _reduce_243(val, _values, result) + result = val[1].new_at(val[0].pos, val[0], val[2]) + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 491) + def _reduce_244(val, _values, result) + result = Assign + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 492) + def _reduce_245(val, _values, result) + result = MultiplyAssign + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 493) + def _reduce_246(val, _values, result) + result = DivideAssign + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 494) + def _reduce_247(val, _values, result) + result = ModAssign + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 495) + def _reduce_248(val, _values, result) + result = AddAssign + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 496) + def _reduce_249(val, _values, result) + result = SubtractAssign + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 497) + def _reduce_250(val, _values, result) + result = ShiftLeftAssign + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 498) + def _reduce_251(val, _values, result) + result = ShiftRightAssign + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 499) + def _reduce_252(val, _values, result) + result = BitAndAssign + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 500) + def _reduce_253(val, _values, result) + result = BitXorAssign + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 501) + def _reduce_254(val, _values, result) + result = BitOrAssign + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 505) + def _reduce_255(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 507) + def _reduce_256(val, _values, result) + if val[0].is_a? Comma + if val[2].is_a? Comma + val[0].exprs.push(*val[2].exprs) + else + val[0].exprs << val[2] + end + result = val[0] + else + if val[2].is_a? Comma + val[2].exprs.unshift(val[0]) + val[2].pos = val[0].pos + result = val[2] + else + result = Comma.new_at(val[0].pos, NodeArray[val[0], val[2]]) + end + end + + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 527) + def _reduce_257(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 542) + def _reduce_258(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 546) + def _reduce_259(val, _values, result) + result = val[0].val; result.pos = val[0].pos + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 547) + def _reduce_260(val, _values, result) + result = val[0].val; result.pos = val[0].pos + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 550) + def _reduce_261(val, _values, result) + result = val[0].val; result.pos = val[0].pos + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 554) + def _reduce_262(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 559) + def _reduce_263(val, _values, result) + val[0].val << val[1].val.val; result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'cast.y', 560) + def _reduce_264(val, _values, result) + result = val[0].val; result.pos = val[0].pos + result + end +.,., + +def _reduce_none(val, _values, result) + val[0] +end + + end # class Parser + end # module C |