2019-05-13 08:25:22 -04:00
|
|
|
#
|
|
|
|
# DO NOT MODIFY!!!!
|
2019-12-10 04:41:05 -05:00
|
|
|
# This file is automatically generated by Racc 1.4.16
|
2019-11-16 23:11:25 -05:00
|
|
|
# from Racc grammar file "".
|
2019-05-13 08:25:22 -04:00
|
|
|
#
|
|
|
|
|
|
|
|
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)
|
2019-10-30 11:54:50 -04:00
|
|
|
result = add_type_quals(Pointer.new_at(val[0].pos), val[1][1])
|
2019-05-13 08:25:22 -04:00
|
|
|
result
|
|
|
|
end
|
|
|
|
.,.,
|
|
|
|
|
|
|
|
module_eval(<<'.,.,', 'cast.y', 274)
|
|
|
|
def _reduce_136(val, _values, result)
|
2019-10-30 11:54:50 -04:00
|
|
|
result = Pointer.new_at(val[0].pos)
|
2019-05-13 08:25:22 -04:00
|
|
|
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)
|
2019-10-30 11:54:50 -04:00
|
|
|
result = make_direct_type(val[0][0], val[0][1])
|
2019-05-13 08:25:22 -04:00
|
|
|
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
|
2019-10-30 11:54:50 -04:00
|
|
|
|
2019-05-13 08:25:22 -04:00
|
|
|
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)
|
2019-10-30 11:54:50 -04:00
|
|
|
result = val[0].val; result.pos = val[0].pos
|
2019-05-13 08:25:22 -04:00
|
|
|
result
|
|
|
|
end
|
|
|
|
.,.,
|
|
|
|
|
|
|
|
def _reduce_none(val, _values, result)
|
|
|
|
val[0]
|
|
|
|
end
|
|
|
|
|
|
|
|
end # class Parser
|
2019-10-30 08:01:30 -04:00
|
|
|
end # module C
|