1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/racc/regress/cast
2019-12-10 18:41:05 +09:00

3425 lines
102 KiB
Text

#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.16
# from Racc grammar 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