mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
1392 lines
36 KiB
Text
1392 lines
36 KiB
Text
#
|
|
# DO NOT MODIFY!!!!
|
|
# This file is automatically generated by Racc 1.4.16
|
|
# from Racc grammar file "".
|
|
#
|
|
|
|
require 'racc/parser.rb'
|
|
module Huia
|
|
class Parser < Racc::Parser
|
|
|
|
module_eval(<<'...end huia.y/module_eval...', 'huia.y', 211)
|
|
|
|
attr_accessor :lexer, :scopes, :state
|
|
|
|
def initialize lexer
|
|
@lexer = lexer
|
|
@state = []
|
|
@scopes = []
|
|
push_scope
|
|
end
|
|
|
|
def ast
|
|
@ast ||= do_parse
|
|
@scopes.first
|
|
end
|
|
|
|
def on_error t, val, vstack
|
|
line = lexer.line
|
|
col = lexer.column
|
|
message = "Unexpected #{token_to_str t} at #{lexer.filename} line #{line}:#{col}:\n\n"
|
|
|
|
start = line - 5 > 0 ? line - 5 : 0
|
|
i_size = line.to_s.size
|
|
(start..(start + 5)).each do |i|
|
|
message << sprintf("\t%#{i_size}d: %s\n", i, lexer.get_line(i))
|
|
message << "\t#{' ' * i_size} #{'-' * (col - 1)}^\n" if i == line
|
|
end
|
|
|
|
raise SyntaxError, message
|
|
end
|
|
|
|
def next_token
|
|
nt = lexer.next_computed_token
|
|
# just use a state stack for now, we'll have to do something
|
|
# more sophisticated soon.
|
|
if nt && nt.first == :state
|
|
if nt.last
|
|
state.push << nt.last
|
|
else
|
|
state.pop
|
|
end
|
|
next_token
|
|
else
|
|
nt
|
|
end
|
|
end
|
|
|
|
def push_scope
|
|
new_scope = Huia::AST::Scope.new scope
|
|
new_scope.file = lexer.filename
|
|
new_scope.line = lexer.line
|
|
new_scope.column = lexer.column
|
|
scopes.push new_scope
|
|
new_scope
|
|
end
|
|
|
|
def pop_scope
|
|
scopes.pop
|
|
end
|
|
|
|
def scope
|
|
scopes.last
|
|
end
|
|
|
|
def binary left, right, method
|
|
node(:MethodCall, left, node(:CallSignature, method, [right]))
|
|
end
|
|
|
|
def unary left, method
|
|
node(:MethodCall, left, node(:CallSignature, method))
|
|
end
|
|
|
|
def node type, *args
|
|
Huia::AST.const_get(type).new(*args).tap do |n|
|
|
n.file = lexer.filename
|
|
n.line = lexer.line
|
|
n.column = lexer.column
|
|
end
|
|
end
|
|
alias n node
|
|
|
|
def allocate_local name
|
|
node(:Variable, name).tap do |n|
|
|
scope.allocate_local n
|
|
end
|
|
end
|
|
|
|
def allocate_local_assignment name, value
|
|
node(:Assignment, name, value).tap do |n|
|
|
scope.allocate_local n
|
|
end
|
|
end
|
|
|
|
def this_closure
|
|
allocate_local('@')
|
|
end
|
|
|
|
def scope_instance
|
|
node(:ScopeInstance, scope)
|
|
end
|
|
|
|
def constant name
|
|
return scope_instance if name == 'self'
|
|
node(:Constant, name)
|
|
end
|
|
|
|
def to_string expr
|
|
node(:MethodCall, expr, node(:CallSignature, 'toString'))
|
|
end
|
|
...end huia.y/module_eval...
|
|
##### State transition tables begin ###
|
|
|
|
clist = [
|
|
'81,137,40,180,61,62,164,153,182,71,72,77,155,178,179,39,135,37,37,5',
|
|
'6,106,152,73,74,75,36,36,76,28,154,80,164,166,123,22,23,37,26,27,37',
|
|
'60,63,19,186,40,36,61,62,172,,33,71,72,77,,,134,39,133,129,37,134,,169',
|
|
'129,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33',
|
|
'71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63',
|
|
'19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,',
|
|
',22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,160,39,,,37,5,6,',
|
|
',73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71',
|
|
'72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19',
|
|
',40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22',
|
|
'23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,160,39,,,37,5,6,,,73',
|
|
'74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72',
|
|
'77,,114,,39,,,37,,,113,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63',
|
|
'19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,',
|
|
',22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74',
|
|
'75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77',
|
|
',,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40',
|
|
',61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23',
|
|
',26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36',
|
|
'76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,',
|
|
',37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62',
|
|
',,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27',
|
|
',60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28',
|
|
',80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,5',
|
|
'6,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33',
|
|
'71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63',
|
|
'19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,',
|
|
',22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74',
|
|
'75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77',
|
|
',,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40',
|
|
',61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23',
|
|
',26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36',
|
|
'76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,',
|
|
',37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62',
|
|
',,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27',
|
|
',60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28',
|
|
',80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,',
|
|
',,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71',
|
|
'72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19',
|
|
',40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22',
|
|
'23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75',
|
|
',36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,',
|
|
'39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61',
|
|
'62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26',
|
|
'27,,60,63,19,85,86,87,88,,,,33,89,,,,,84,,85,86,87,88,,,,91,89,,,,,84',
|
|
',5,6,,,,,,91,,,92,93,94,95,96,97,98,,90,,,,,,,92,93,94,95,96,97,98,',
|
|
'90,85,86,87,88,,,,,89,,,,,84,,85,86,87,88,,,,91,89,,,,,84,,,,,,,,,91',
|
|
',,92,93,94,95,96,97,98,,90,,,,,,,92,93,94,95,96,97,98,,90,85,86,87,88',
|
|
'156,,,,89,,,,,84,,85,86,87,88,,,,91,89,,,,,84,,165,,,,,,,91,,,92,93',
|
|
'94,95,96,97,98,,90,,,,,,,92,93,94,95,96,97,98,,90,85,86,87,88,,,,,89',
|
|
',,,167,84,,85,86,87,88,,,,91,89,,,,,84,,,,,,,,,91,,,92,93,94,95,96,97',
|
|
'98,,90,,,,,,,92,93,94,95,96,97,98,,90,85,86,87,88,,,,,89,,,,,84,,85',
|
|
'86,87,88,,,,91,89,,,,,84,,,,,,,,,91,,,92,93,94,95,96,97,98,,90,,,,,',
|
|
',92,93,94,95,96,97,98,,90,85,86,87,88,,,,,89,,,,,84,,85,86,87,88,,,',
|
|
'91,89,,,,,84,,,,,,,,,91,,,92,93,94,95,96,97,98,,90,,,,,,,92,93,94,95',
|
|
'96,97,98,,90,85,86,87,88,,,,,89,,,,,84,,85,86,87,88,,,,91,89,,,,,84',
|
|
',,,,,,,,91,,,92,93,94,95,96,97,98,,90,,,,,,,92,93,94,95,96,97,98,,90',
|
|
'85,86,87,88,,84,,,89,,160,,,84,91,5,6,85,86,87,88,,91,,,89,,,,,84,,92',
|
|
'93,94,95,96,97,98,91,92,93,94,95,96,97,98,,90,,,,,,,,,92,93,94,95,96',
|
|
'97,98,,90,85,86,87,88,,,,,89,,,,,84,,85,86,87,88,,,,91,89,,,,,84,,181',
|
|
',,,,,,91,,,92,93,94,95,96,97,98,,90,,,,,,,92,93,94,95,96,97,98,,90,85',
|
|
'86,87,88,,,,,89,,,,,84,,85,86,87,88,,,,91,89,,,,,84,,,,,,,,,91,,,92',
|
|
'93,94,95,96,97,98,,90,,,,,,,92,93,94,95,96,97,98,,90,87,88,,,,,89,,',
|
|
',,84,87,88,,,,,89,,91,,,84,,87,88,,,,,89,91,,,,84,,92,93,94,95,96,97',
|
|
'98,91,90,,,,92,93,94,95,96,97,98,,90,,,,,92,93,94,95,96,97,98,89,90',
|
|
'87,88,,84,,,89,,,,,84,91,,,,,,,,91,,,89,,,,,84,,92,93,94,95,96,97,98',
|
|
'91,92,93,94,95,96,97,98,,90,,89,,,,,84,,92,93,94,95,96,97,98,91,89,',
|
|
',,,84,,,,,89,,,,91,84,,92,93,94,95,96,97,98,91,,,,,,,,92,93,94,95,96',
|
|
'97,98,,,,92,93,94,95,96,97,98' ]
|
|
racc_action_table = arr = ::Array.new(2246, 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 = [
|
|
'1,84,1,163,1,1,179,100,178,1,1,1,102,161,161,1,81,84,1,1,1,33,100,1',
|
|
'1,1,84,1,1,1,102,1,112,121,40,1,1,33,1,1,34,1,1,1,183,19,33,19,19,131',
|
|
',1,19,19,19,,,80,19,80,80,19,128,,128,128,19,19,19,,19,19,19,,19,,,',
|
|
'19,19,,19,19,,19,19,19,,123,,123,123,,,19,123,123,123,,,,123,,,123,',
|
|
',,,123,123,123,,123,123,123,,123,,,,123,123,,123,123,,123,123,123,,23',
|
|
',23,23,,,123,23,23,23,,,,23,,,23,,,,,23,23,23,,23,23,23,,23,,,,23,23',
|
|
',23,23,,23,23,23,,111,,111,111,,,23,111,111,111,,,111,111,,,111,111',
|
|
'111,,,111,111,111,,111,111,111,,111,,,,111,111,,111,111,,111,111,111',
|
|
',27,,27,27,,,111,27,27,27,,,,27,,,27,,,,,27,27,27,,27,27,27,,27,,,,27',
|
|
'27,,27,27,,27,27,27,,180,,180,180,,,27,180,180,180,,,,180,,,180,,,,',
|
|
'180,180,180,,180,180,180,,180,,,,180,180,,180,180,,180,180,180,,157',
|
|
',157,157,,,180,157,157,157,,,157,157,,,157,157,157,,,157,157,157,,157',
|
|
'157,157,,157,,,,157,157,,157,157,,157,157,157,,37,,37,37,,,157,37,37',
|
|
'37,,37,,37,,,37,,,37,,37,37,37,,37,37,37,,37,,,,37,37,,37,37,,37,37',
|
|
'37,,39,,39,39,,,37,39,39,39,,,,39,,,39,,,,,39,39,39,,39,39,39,,39,,',
|
|
',39,39,,39,39,,39,39,39,,156,,156,156,,,39,156,156,156,,,,156,,,156',
|
|
',,,,156,156,156,,156,156,156,,156,,,,156,156,,156,156,,156,156,156,',
|
|
'60,,60,60,,,156,60,60,60,,,,60,,,60,,,,,60,60,60,,60,60,60,,60,,,,60',
|
|
'60,,60,60,,60,60,60,,61,,61,61,,,60,61,61,61,,,,61,,,61,,,,,61,61,61',
|
|
',61,61,61,,61,,,,61,61,,61,61,,61,61,61,,62,,62,62,,,61,62,62,62,,,',
|
|
'62,,,62,,,,,62,62,62,,62,62,62,,62,,,,62,62,,62,62,,62,62,62,,63,,63',
|
|
'63,,,62,63,63,63,,,,63,,,63,,,,,63,63,63,,63,63,63,,63,,,,63,63,,63',
|
|
'63,,63,63,63,,155,,155,155,,,63,155,155,155,,,,155,,,155,,,,,155,155',
|
|
'155,,155,155,155,,155,,,,155,155,,155,155,,155,155,155,,129,,129,129',
|
|
',,155,129,129,129,,,,129,,,129,,,,,129,129,129,,129,129,129,,129,,,',
|
|
'129,129,,129,129,,129,129,129,,0,,0,0,,,129,0,0,0,,,,0,,,0,0,0,,,0,0',
|
|
'0,,0,0,0,,0,,,,0,0,,0,0,,0,0,0,,85,,85,85,,,0,85,85,85,,,,85,,,85,,',
|
|
',,85,85,85,,85,85,85,,85,,,,85,85,,85,85,,85,85,85,,86,,86,86,,,85,86',
|
|
'86,86,,,,86,,,86,,,,,86,86,86,,86,86,86,,86,,,,86,86,,86,86,,86,86,86',
|
|
',87,,87,87,,,86,87,87,87,,,,87,,,87,,,,,87,87,87,,87,87,87,,87,,,,87',
|
|
'87,,87,87,,87,87,87,,88,,88,88,,,87,88,88,88,,,,88,,,88,,,,,88,88,88',
|
|
',88,88,88,,88,,,,88,88,,88,88,,88,88,88,,89,,89,89,,,88,89,89,89,,,',
|
|
'89,,,89,,,,,89,89,89,,89,89,89,,89,,,,89,89,,89,89,,89,89,89,,90,,90',
|
|
'90,,,89,90,90,90,,,,90,,,90,,,,,90,90,90,,90,90,90,,90,,,,90,90,,90',
|
|
'90,,90,90,90,,91,,91,91,,,90,91,91,91,,,,91,,,91,,,,,91,91,91,,91,91',
|
|
'91,,91,,,,91,91,,91,91,,91,91,91,,92,,92,92,,,91,92,92,92,,,,92,,,92',
|
|
',,,,92,92,92,,92,92,92,,92,,,,92,92,,92,92,,92,92,92,,93,,93,93,,,92',
|
|
'93,93,93,,,,93,,,93,,,,,93,93,93,,93,93,93,,93,,,,93,93,,93,93,,93,93',
|
|
'93,,94,,94,94,,,93,94,94,94,,,,94,,,94,,,,,94,94,94,,94,94,94,,94,,',
|
|
',94,94,,94,94,,94,94,94,,95,,95,95,,,94,95,95,95,,,,95,,,95,,,,,95,95',
|
|
'95,,95,95,95,,95,,,,95,95,,95,95,,95,95,95,,96,,96,96,,,95,96,96,96',
|
|
',,,96,,,96,,,,,96,96,96,,96,96,96,,96,,,,96,96,,96,96,,96,96,96,,97',
|
|
',97,97,,,96,97,97,97,,,,97,,,97,,,,,97,97,97,,97,97,97,,97,,,,97,97',
|
|
',97,97,,97,97,97,,98,,98,98,,,97,98,98,98,,,,98,,,98,,,,,98,98,98,,98',
|
|
'98,98,,98,,,,98,98,,98,98,,98,98,98,,153,,153,153,,,98,153,153,153,',
|
|
',,153,,,153,,,,,153,153,153,,153,153,153,,153,,,,153,153,,153,153,,153',
|
|
'153,153,147,147,147,147,,,,153,147,,,,,147,,3,3,3,3,,,,147,3,,,,,3,',
|
|
'3,3,,,,,,3,,,147,147,147,147,147,147,147,,147,,,,,,,3,3,3,3,3,3,3,,3',
|
|
'99,99,99,99,,,,,99,,,,,99,,101,101,101,101,,,,99,101,,,,,101,,,,,,,',
|
|
',101,,,99,99,99,99,99,99,99,,99,,,,,,,101,101,101,101,101,101,101,,101',
|
|
'104,104,104,104,104,,,,104,,,,,104,,117,117,117,117,,,,104,117,,,,,117',
|
|
',117,,,,,,,117,,,104,104,104,104,104,104,104,,104,,,,,,,117,117,117',
|
|
'117,117,117,117,,117,122,122,122,122,,,,,122,,,,122,122,,144,144,144',
|
|
'144,,,,122,144,,,,,144,,,,,,,,,144,,,122,122,122,122,122,122,122,,122',
|
|
',,,,,,144,144,144,144,144,144,144,,144,145,145,145,145,,,,,145,,,,,145',
|
|
',146,146,146,146,,,,145,146,,,,,146,,,,,,,,,146,,,145,145,145,145,145',
|
|
'145,145,,145,,,,,,,146,146,146,146,146,146,146,,146,148,148,148,148',
|
|
',,,,148,,,,,148,,149,149,149,149,,,,148,149,,,,,149,,,,,,,,,149,,,148',
|
|
'148,148,148,148,148,148,,148,,,,,,,149,149,149,149,149,149,149,,149',
|
|
'150,150,150,150,,,,,150,,,,,150,,151,151,151,151,,,,150,151,,,,,151',
|
|
',,,,,,,,151,,,150,150,150,150,150,150,150,,150,,,,,,,151,151,151,151',
|
|
'151,151,151,,151,158,158,158,158,,142,,,158,,158,,,158,142,158,158,168',
|
|
'168,168,168,,158,,,168,,,,,168,,142,142,142,142,142,142,142,168,158',
|
|
'158,158,158,158,158,158,,158,,,,,,,,,168,168,168,168,168,168,168,,168',
|
|
'171,171,171,171,,,,,171,,,,,171,,173,173,173,173,,,,171,173,,,,,173',
|
|
',171,,,,,,,173,,,171,171,171,171,171,171,171,,171,,,,,,,173,173,173',
|
|
'173,173,173,173,,173,175,175,175,175,,,,,175,,,,,175,,185,185,185,185',
|
|
',,,175,185,,,,,185,,,,,,,,,185,,,175,175,175,175,175,175,175,,175,,',
|
|
',,,,185,185,185,185,185,185,185,,185,126,126,,,,,126,,,,,126,125,125',
|
|
',,,,125,,126,,,125,,139,139,,,,,139,125,,,,139,,126,126,126,126,126',
|
|
'126,126,139,126,,,,125,125,125,125,125,125,125,,125,,,,,139,139,139',
|
|
'139,139,139,139,141,139,138,138,,141,,,138,,,,,138,141,,,,,,,,138,,',
|
|
'143,,,,,143,,141,141,141,141,141,141,141,143,138,138,138,138,138,138',
|
|
'138,,138,,124,,,,,124,,143,143,143,143,143,143,143,124,127,,,,,127,',
|
|
',,,140,,,,127,140,,124,124,124,124,124,124,124,140,,,,,,,,127,127,127',
|
|
'127,127,127,127,,,,140,140,140,140,140,140,140' ]
|
|
racc_action_check = arr = ::Array.new(2246, 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 = [
|
|
731, 0, nil, 1431, nil, nil, nil, nil, nil, nil,
|
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, 43,
|
|
nil, nil, nil, 129, nil, nil, nil, 215, nil, nil,
|
|
nil, nil, nil, 19, 22, nil, nil, 344, nil, 387,
|
|
31, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
473, 516, 559, 602, nil, nil, nil, nil, nil, nil,
|
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
27, 16, nil, nil, -1, 774, 817, 860, 903, 946,
|
|
989, 1032, 1075, 1118, 1161, 1204, 1247, 1290, 1333, 1480,
|
|
-15, 1495, -10, nil, 1544, nil, nil, nil, nil, nil,
|
|
nil, 172, 30, nil, nil, nil, nil, 1559, nil, nil,
|
|
nil, 14, 1608, 86, 2170, 2068, 2056, 2185, 32, 688,
|
|
nil, 19, nil, nil, nil, nil, nil, nil, 2128, 2081,
|
|
2195, 2120, 1856, 2145, 1623, 1672, 1687, 1416, 1736, 1751,
|
|
1800, 1815, nil, 1376, nil, 645, 430, 301, 1864, nil,
|
|
nil, -8, nil, 0, nil, nil, nil, nil, 1881, nil,
|
|
nil, 1930, nil, 1945, nil, 1994, nil, nil, -11, 4,
|
|
258, nil, nil, 31, nil, 2009, nil ]
|
|
|
|
racc_action_default = [
|
|
-140, -140, -1, -4, -5, -6, -7, -10, -11, -12,
|
|
-13, -14, -15, -16, -17, -18, -19, -20, -21, -23,
|
|
-24, -25, -26, -140, -30, -31, -32, -140, -37, -55,
|
|
-56, -57, -60, -140, -63, -64, -65, -140, -73, -140,
|
|
-76, -77, -78, -79, -80, -81, -82, -83, -84, -85,
|
|
-86, -87, -88, -89, -90, -91, -107, -108, -109, -110,
|
|
-140, -140, -140, -140, -115, -116, -117, -118, -119, -120,
|
|
-121, -122, -123, -124, -125, -126, -127, -128, -129, -130,
|
|
-140, -140, -2, -3, -140, -140, -140, -140, -140, -140,
|
|
-140, -140, -140, -140, -140, -140, -140, -140, -140, -22,
|
|
-140, -28, -140, -34, -140, -61, -62, -74, -38, -39,
|
|
-40, -140, -140, -46, -47, -48, -49, -69, -66, -67,
|
|
-68, -71, -140, -140, -111, -112, -113, -114, -140, -140,
|
|
-133, -135, -136, -137, -138, 187, -58, -59, -93, -94,
|
|
-95, -96, -97, -98, -99, -100, -101, -102, -103, -104,
|
|
-105, -106, -27, -140, -33, -140, -140, -140, -4, -43,
|
|
-44, -140, -50, -52, -54, -70, -72, -75, -92, -131,
|
|
-134, -140, -139, -29, -35, -36, -41, -42, -9, -140,
|
|
-140, -132, -8, -140, -51, -53, -45 ]
|
|
|
|
racc_goto_table = [
|
|
99, 82, 103, 83, 101, 1, 105, 130, 104, 108,
|
|
109, 110, 159, 162, 111, 115, 112, 161, 117, 116,
|
|
122, 102, 100, 107, 118, 119, 120, 128, 121, 183,
|
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
nil, 124, 125, 126, 127, nil, nil, nil, nil, nil,
|
|
nil, nil, nil, nil, nil, 170, nil, 136, 176, 177,
|
|
nil, nil, nil, nil, nil, nil, 138, 139, 140, 141,
|
|
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
|
|
184, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
nil, nil, 158, nil, nil, nil, nil, nil, nil, nil,
|
|
nil, nil, nil, nil, 168, nil, nil, nil, nil, nil,
|
|
171, nil, nil, nil, nil, nil, 157, nil, nil, nil,
|
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
174, nil, nil, nil, 173, nil, 104, 175, nil, nil,
|
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
nil, nil, nil, nil, nil, nil, nil, 82, 83, nil,
|
|
nil, 185 ]
|
|
|
|
racc_goto_check = [
|
|
3, 2, 24, 4, 3, 1, 40, 77, 3, 26,
|
|
27, 28, 30, 35, 29, 31, 32, 33, 3, 34,
|
|
3, 23, 20, 43, 44, 45, 46, 75, 25, 5,
|
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
nil, 3, 3, 3, 3, nil, nil, nil, nil, nil,
|
|
nil, nil, nil, nil, nil, 77, nil, 40, 30, 30,
|
|
nil, nil, nil, nil, nil, nil, 3, 3, 3, 3,
|
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
|
35, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
nil, nil, 3, nil, nil, nil, nil, nil, nil, nil,
|
|
nil, nil, nil, nil, 3, nil, nil, nil, nil, nil,
|
|
3, nil, nil, nil, nil, nil, 1, nil, nil, nil,
|
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
24, nil, nil, nil, 3, nil, 3, 3, nil, nil,
|
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
nil, nil, nil, nil, nil, nil, nil, 2, 4, nil,
|
|
nil, 3 ]
|
|
|
|
racc_goto_pointer = [
|
|
nil, 5, 0, -19, 0, -149, nil, nil, nil, nil,
|
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
-1, nil, nil, -6, -25, -9, -28, -27, -26, -23,
|
|
-99, -22, -21, -95, -18, -99, nil, nil, nil, nil,
|
|
-27, nil, nil, -11, -13, -12, -11, nil, nil, nil,
|
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
nil, nil, nil, nil, nil, -53, nil, -73, nil ]
|
|
|
|
racc_goto_default = [
|
|
nil, nil, 2, 3, 4, nil, 7, 8, 9, 10,
|
|
11, 12, 13, 14, 15, 16, 17, 18, 20, 21,
|
|
nil, 24, 25, nil, nil, nil, nil, nil, nil, nil,
|
|
nil, nil, nil, nil, nil, nil, 163, 29, 30, 31,
|
|
32, 34, 35, 38, nil, nil, nil, 41, 42, 43,
|
|
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
|
|
54, 55, 56, 57, 58, 59, 64, 65, 66, 67,
|
|
68, 69, 70, 78, 79, nil, 132, nil, 131 ]
|
|
|
|
racc_reduce_table = [
|
|
0, 0, :racc_error,
|
|
1, 54, :_reduce_none,
|
|
2, 54, :_reduce_2,
|
|
2, 55, :_reduce_3,
|
|
1, 55, :_reduce_4,
|
|
1, 55, :_reduce_5,
|
|
1, 57, :_reduce_none,
|
|
1, 57, :_reduce_none,
|
|
1, 58, :_reduce_none,
|
|
0, 58, :_reduce_none,
|
|
1, 56, :_reduce_none,
|
|
1, 56, :_reduce_none,
|
|
1, 56, :_reduce_none,
|
|
1, 56, :_reduce_none,
|
|
1, 56, :_reduce_none,
|
|
1, 56, :_reduce_none,
|
|
1, 56, :_reduce_none,
|
|
1, 56, :_reduce_none,
|
|
1, 56, :_reduce_none,
|
|
1, 56, :_reduce_none,
|
|
1, 68, :_reduce_none,
|
|
1, 68, :_reduce_none,
|
|
2, 69, :_reduce_22,
|
|
1, 70, :_reduce_23,
|
|
1, 66, :_reduce_none,
|
|
1, 66, :_reduce_none,
|
|
1, 71, :_reduce_26,
|
|
3, 72, :_reduce_27,
|
|
1, 73, :_reduce_28,
|
|
3, 73, :_reduce_29,
|
|
1, 67, :_reduce_none,
|
|
1, 67, :_reduce_none,
|
|
1, 74, :_reduce_32,
|
|
3, 75, :_reduce_33,
|
|
1, 76, :_reduce_34,
|
|
3, 76, :_reduce_35,
|
|
3, 77, :_reduce_36,
|
|
1, 64, :_reduce_37,
|
|
1, 78, :_reduce_none,
|
|
1, 78, :_reduce_none,
|
|
1, 78, :_reduce_none,
|
|
3, 79, :_reduce_41,
|
|
3, 80, :_reduce_42,
|
|
2, 81, :_reduce_43,
|
|
1, 83, :_reduce_44,
|
|
5, 84, :_reduce_45,
|
|
1, 85, :_reduce_46,
|
|
1, 87, :_reduce_47,
|
|
1, 82, :_reduce_none,
|
|
1, 82, :_reduce_none,
|
|
1, 86, :_reduce_none,
|
|
3, 86, :_reduce_none,
|
|
1, 88, :_reduce_52,
|
|
3, 88, :_reduce_53,
|
|
1, 89, :_reduce_54,
|
|
1, 63, :_reduce_none,
|
|
1, 63, :_reduce_none,
|
|
1, 63, :_reduce_none,
|
|
3, 90, :_reduce_58,
|
|
3, 90, :_reduce_59,
|
|
1, 91, :_reduce_60,
|
|
2, 92, :_reduce_61,
|
|
2, 92, :_reduce_62,
|
|
1, 93, :_reduce_none,
|
|
1, 93, :_reduce_none,
|
|
1, 95, :_reduce_65,
|
|
2, 96, :_reduce_66,
|
|
1, 97, :_reduce_none,
|
|
1, 97, :_reduce_none,
|
|
1, 98, :_reduce_none,
|
|
2, 98, :_reduce_none,
|
|
1, 99, :_reduce_none,
|
|
2, 99, :_reduce_none,
|
|
1, 94, :_reduce_73,
|
|
2, 94, :_reduce_74,
|
|
3, 60, :_reduce_75,
|
|
1, 65, :_reduce_76,
|
|
1, 61, :_reduce_none,
|
|
1, 61, :_reduce_none,
|
|
1, 61, :_reduce_none,
|
|
1, 61, :_reduce_none,
|
|
1, 61, :_reduce_none,
|
|
1, 61, :_reduce_none,
|
|
1, 61, :_reduce_none,
|
|
1, 61, :_reduce_none,
|
|
1, 61, :_reduce_none,
|
|
1, 61, :_reduce_none,
|
|
1, 61, :_reduce_none,
|
|
1, 61, :_reduce_none,
|
|
1, 61, :_reduce_none,
|
|
1, 61, :_reduce_none,
|
|
1, 61, :_reduce_none,
|
|
3, 100, :_reduce_92,
|
|
3, 101, :_reduce_93,
|
|
3, 102, :_reduce_94,
|
|
3, 103, :_reduce_95,
|
|
3, 104, :_reduce_96,
|
|
3, 105, :_reduce_97,
|
|
3, 106, :_reduce_98,
|
|
3, 107, :_reduce_99,
|
|
3, 108, :_reduce_100,
|
|
3, 109, :_reduce_101,
|
|
3, 110, :_reduce_102,
|
|
3, 111, :_reduce_103,
|
|
3, 112, :_reduce_104,
|
|
3, 113, :_reduce_105,
|
|
3, 114, :_reduce_106,
|
|
1, 62, :_reduce_none,
|
|
1, 62, :_reduce_none,
|
|
1, 62, :_reduce_none,
|
|
1, 62, :_reduce_none,
|
|
2, 115, :_reduce_111,
|
|
2, 116, :_reduce_112,
|
|
2, 117, :_reduce_113,
|
|
2, 118, :_reduce_114,
|
|
1, 59, :_reduce_none,
|
|
1, 59, :_reduce_none,
|
|
1, 59, :_reduce_none,
|
|
1, 59, :_reduce_none,
|
|
1, 59, :_reduce_none,
|
|
1, 59, :_reduce_none,
|
|
1, 59, :_reduce_none,
|
|
1, 120, :_reduce_122,
|
|
1, 119, :_reduce_123,
|
|
1, 122, :_reduce_124,
|
|
1, 123, :_reduce_125,
|
|
1, 124, :_reduce_126,
|
|
1, 125, :_reduce_127,
|
|
1, 121, :_reduce_128,
|
|
1, 121, :_reduce_none,
|
|
1, 121, :_reduce_none,
|
|
3, 126, :_reduce_131,
|
|
3, 129, :_reduce_132,
|
|
1, 128, :_reduce_133,
|
|
2, 128, :_reduce_134,
|
|
1, 130, :_reduce_135,
|
|
1, 130, :_reduce_136,
|
|
2, 127, :_reduce_137,
|
|
1, 131, :_reduce_138,
|
|
2, 131, :_reduce_139 ]
|
|
|
|
racc_reduce_n = 140
|
|
|
|
racc_shift_n = 187
|
|
|
|
racc_token_table = {
|
|
false => 0,
|
|
:error => 1,
|
|
:IDENTIFIER => 2,
|
|
:EQUAL => 3,
|
|
:PLUS => 4,
|
|
:MINUS => 5,
|
|
:ASTERISK => 6,
|
|
:FWD_SLASH => 7,
|
|
:COLON => 8,
|
|
:FLOAT => 9,
|
|
:INTEGER => 10,
|
|
:STRING => 11,
|
|
:EXPO => 12,
|
|
:INDENT => 13,
|
|
:OUTDENT => 14,
|
|
:OPAREN => 15,
|
|
:CPAREN => 16,
|
|
:DOT => 17,
|
|
:SIGNATURE => 18,
|
|
:NL => 19,
|
|
:EOF => 20,
|
|
:PIPE => 21,
|
|
:COMMA => 22,
|
|
:NIL => 23,
|
|
:TRUE => 24,
|
|
:FALSE => 25,
|
|
:EQUALITY => 26,
|
|
:CALL => 27,
|
|
:SELF => 28,
|
|
:CONSTANT => 29,
|
|
:CHAR => 30,
|
|
:DOUBLE_TICK_STRING => 31,
|
|
:DOUBLE_TICK_STRING_END => 32,
|
|
:INTERPOLATE_START => 33,
|
|
:INTERPOLATE_END => 34,
|
|
:BOX => 35,
|
|
:LSQUARE => 36,
|
|
:RSQUARE => 37,
|
|
:FACES => 38,
|
|
:LFACE => 39,
|
|
:RFACE => 40,
|
|
:BANG => 41,
|
|
:TILDE => 42,
|
|
:RETURN => 43,
|
|
:NOT_EQUALITY => 44,
|
|
:OR => 45,
|
|
:AND => 46,
|
|
:GT => 47,
|
|
:LT => 48,
|
|
:GTE => 49,
|
|
:LTE => 50,
|
|
:AT => 51,
|
|
:PERCENT => 52 }
|
|
|
|
racc_nt_base = 53
|
|
|
|
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",
|
|
"IDENTIFIER",
|
|
"EQUAL",
|
|
"PLUS",
|
|
"MINUS",
|
|
"ASTERISK",
|
|
"FWD_SLASH",
|
|
"COLON",
|
|
"FLOAT",
|
|
"INTEGER",
|
|
"STRING",
|
|
"EXPO",
|
|
"INDENT",
|
|
"OUTDENT",
|
|
"OPAREN",
|
|
"CPAREN",
|
|
"DOT",
|
|
"SIGNATURE",
|
|
"NL",
|
|
"EOF",
|
|
"PIPE",
|
|
"COMMA",
|
|
"NIL",
|
|
"TRUE",
|
|
"FALSE",
|
|
"EQUALITY",
|
|
"CALL",
|
|
"SELF",
|
|
"CONSTANT",
|
|
"CHAR",
|
|
"DOUBLE_TICK_STRING",
|
|
"DOUBLE_TICK_STRING_END",
|
|
"INTERPOLATE_START",
|
|
"INTERPOLATE_END",
|
|
"BOX",
|
|
"LSQUARE",
|
|
"RSQUARE",
|
|
"FACES",
|
|
"LFACE",
|
|
"RFACE",
|
|
"BANG",
|
|
"TILDE",
|
|
"RETURN",
|
|
"NOT_EQUALITY",
|
|
"OR",
|
|
"AND",
|
|
"GT",
|
|
"LT",
|
|
"GTE",
|
|
"LTE",
|
|
"AT",
|
|
"PERCENT",
|
|
"$start",
|
|
"statements",
|
|
"statement",
|
|
"expr",
|
|
"eol",
|
|
"nlq",
|
|
"literal",
|
|
"grouped_expr",
|
|
"binary_op",
|
|
"unary_op",
|
|
"method_call",
|
|
"constant",
|
|
"variable",
|
|
"array",
|
|
"hash",
|
|
"return",
|
|
"return_expr",
|
|
"return_nil",
|
|
"empty_array",
|
|
"array_list",
|
|
"array_items",
|
|
"empty_hash",
|
|
"hash_list",
|
|
"hash_items",
|
|
"hash_item",
|
|
"indented",
|
|
"indented_w_stmts",
|
|
"indented_w_expr",
|
|
"indented_wo_stmts",
|
|
"indent",
|
|
"outdent",
|
|
"indent_w_args",
|
|
"indent_pipe",
|
|
"indent_args",
|
|
"indent_wo_args",
|
|
"indent_arg",
|
|
"arg_var",
|
|
"method_call_on_object",
|
|
"method_call_on_self",
|
|
"method_call_on_closure",
|
|
"call_signature",
|
|
"call_arguments",
|
|
"call_simple_name",
|
|
"call_argument",
|
|
"call_passed_arg",
|
|
"call_passed_simple",
|
|
"call_passed_indented",
|
|
"assignment",
|
|
"addition",
|
|
"subtraction",
|
|
"multiplication",
|
|
"division",
|
|
"exponentiation",
|
|
"modulo",
|
|
"equality",
|
|
"not_equality",
|
|
"logical_or",
|
|
"logical_and",
|
|
"greater_than",
|
|
"less_than",
|
|
"greater_or_eq",
|
|
"less_or_eq",
|
|
"unary_not",
|
|
"unary_plus",
|
|
"unary_minus",
|
|
"unary_complement",
|
|
"integer",
|
|
"float",
|
|
"string",
|
|
"nil",
|
|
"true",
|
|
"false",
|
|
"self",
|
|
"interpolated_string",
|
|
"empty_string",
|
|
"interpolated_string_contents",
|
|
"interpolation",
|
|
"interpolated_string_chunk",
|
|
"chars" ]
|
|
|
|
Racc_debug_parser = false
|
|
|
|
##### State transition tables end #####
|
|
|
|
# reduce 0 omitted
|
|
|
|
# reduce 1 omitted
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 44)
|
|
def _reduce_2(val, _values, result)
|
|
return scope
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 46)
|
|
def _reduce_3(val, _values, result)
|
|
return scope.append val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 47)
|
|
def _reduce_4(val, _values, result)
|
|
return scope.append val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 48)
|
|
def _reduce_5(val, _values, result)
|
|
return scope
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
# reduce 6 omitted
|
|
|
|
# reduce 7 omitted
|
|
|
|
# reduce 8 omitted
|
|
|
|
# reduce 9 omitted
|
|
|
|
# reduce 10 omitted
|
|
|
|
# reduce 11 omitted
|
|
|
|
# reduce 12 omitted
|
|
|
|
# reduce 13 omitted
|
|
|
|
# reduce 14 omitted
|
|
|
|
# reduce 15 omitted
|
|
|
|
# reduce 16 omitted
|
|
|
|
# reduce 17 omitted
|
|
|
|
# reduce 18 omitted
|
|
|
|
# reduce 19 omitted
|
|
|
|
# reduce 20 omitted
|
|
|
|
# reduce 21 omitted
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 66)
|
|
def _reduce_22(val, _values, result)
|
|
return n(:Return, val[1])
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 67)
|
|
def _reduce_23(val, _values, result)
|
|
return n(:Return, n(:Nil))
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
# reduce 24 omitted
|
|
|
|
# reduce 25 omitted
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 72)
|
|
def _reduce_26(val, _values, result)
|
|
return n :Array
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 74)
|
|
def _reduce_27(val, _values, result)
|
|
return val[1]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 75)
|
|
def _reduce_28(val, _values, result)
|
|
return n :Array, [val[0]]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 76)
|
|
def _reduce_29(val, _values, result)
|
|
val[0].append(val[2]); return val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
# reduce 30 omitted
|
|
|
|
# reduce 31 omitted
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 80)
|
|
def _reduce_32(val, _values, result)
|
|
return n :Hash
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 81)
|
|
def _reduce_33(val, _values, result)
|
|
return val[1]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 82)
|
|
def _reduce_34(val, _values, result)
|
|
return n :Hash, val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 83)
|
|
def _reduce_35(val, _values, result)
|
|
val[0].append(val[2]); return val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 84)
|
|
def _reduce_36(val, _values, result)
|
|
return n :HashItem, val[0], val[2]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 86)
|
|
def _reduce_37(val, _values, result)
|
|
return constant val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
# reduce 38 omitted
|
|
|
|
# reduce 39 omitted
|
|
|
|
# reduce 40 omitted
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 91)
|
|
def _reduce_41(val, _values, result)
|
|
return val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 92)
|
|
def _reduce_42(val, _values, result)
|
|
return val[0].append(val[1])
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 93)
|
|
def _reduce_43(val, _values, result)
|
|
return val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 94)
|
|
def _reduce_44(val, _values, result)
|
|
return pop_scope
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 97)
|
|
def _reduce_45(val, _values, result)
|
|
return val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 98)
|
|
def _reduce_46(val, _values, result)
|
|
return push_scope
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 99)
|
|
def _reduce_47(val, _values, result)
|
|
return push_scope
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
# reduce 48 omitted
|
|
|
|
# reduce 49 omitted
|
|
|
|
# reduce 50 omitted
|
|
|
|
# reduce 51 omitted
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 105)
|
|
def _reduce_52(val, _values, result)
|
|
return scope.add_argument val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 106)
|
|
def _reduce_53(val, _values, result)
|
|
return n :Assignment, val[0], val[2]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 107)
|
|
def _reduce_54(val, _values, result)
|
|
return n :Variable, val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
# reduce 55 omitted
|
|
|
|
# reduce 56 omitted
|
|
|
|
# reduce 57 omitted
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 112)
|
|
def _reduce_58(val, _values, result)
|
|
return n :MethodCall, val[0], val[2]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 113)
|
|
def _reduce_59(val, _values, result)
|
|
return n :MethodCall, val[0], n(:CallSignature, val[2])
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 114)
|
|
def _reduce_60(val, _values, result)
|
|
return n :MethodCall, scope_instance, val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 116)
|
|
def _reduce_61(val, _values, result)
|
|
return n :MethodCall, this_closure, val[1]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 117)
|
|
def _reduce_62(val, _values, result)
|
|
return n :MethodCall, this_closure, n(:CallSignature, val[1])
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
# reduce 63 omitted
|
|
|
|
# reduce 64 omitted
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 121)
|
|
def _reduce_65(val, _values, result)
|
|
return n :CallSignature, val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 122)
|
|
def _reduce_66(val, _values, result)
|
|
return n :CallSignature, val[0], [val[1]]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
# reduce 67 omitted
|
|
|
|
# reduce 68 omitted
|
|
|
|
# reduce 69 omitted
|
|
|
|
# reduce 70 omitted
|
|
|
|
# reduce 71 omitted
|
|
|
|
# reduce 72 omitted
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 129)
|
|
def _reduce_73(val, _values, result)
|
|
return val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 130)
|
|
def _reduce_74(val, _values, result)
|
|
return val[0].concat_signature val[1]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 132)
|
|
def _reduce_75(val, _values, result)
|
|
return n :Expression, val[1]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 134)
|
|
def _reduce_76(val, _values, result)
|
|
return allocate_local val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
# reduce 77 omitted
|
|
|
|
# reduce 78 omitted
|
|
|
|
# reduce 79 omitted
|
|
|
|
# reduce 80 omitted
|
|
|
|
# reduce 81 omitted
|
|
|
|
# reduce 82 omitted
|
|
|
|
# reduce 83 omitted
|
|
|
|
# reduce 84 omitted
|
|
|
|
# reduce 85 omitted
|
|
|
|
# reduce 86 omitted
|
|
|
|
# reduce 87 omitted
|
|
|
|
# reduce 88 omitted
|
|
|
|
# reduce 89 omitted
|
|
|
|
# reduce 90 omitted
|
|
|
|
# reduce 91 omitted
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 152)
|
|
def _reduce_92(val, _values, result)
|
|
return allocate_local_assignment val[0], val[2]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 153)
|
|
def _reduce_93(val, _values, result)
|
|
return binary val[0], val[2], 'plus:'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 154)
|
|
def _reduce_94(val, _values, result)
|
|
return binary val[0], val[2], 'minus:'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 155)
|
|
def _reduce_95(val, _values, result)
|
|
return binary val[0], val[2], 'multiplyBy:'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 156)
|
|
def _reduce_96(val, _values, result)
|
|
return binary val[0], val[2], 'divideBy:'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 157)
|
|
def _reduce_97(val, _values, result)
|
|
return binary val[0], val[2], 'toThePowerOf:'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 158)
|
|
def _reduce_98(val, _values, result)
|
|
return binary val[0], val[2], 'moduloOf:'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 159)
|
|
def _reduce_99(val, _values, result)
|
|
return binary val[0], val[2], 'isEqualTo:'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 160)
|
|
def _reduce_100(val, _values, result)
|
|
return binary val[0], val[2], 'isNotEqualTo:'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 161)
|
|
def _reduce_101(val, _values, result)
|
|
return binary val[0], val[2], 'logicalOr:'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 162)
|
|
def _reduce_102(val, _values, result)
|
|
return binary val[0], val[2], 'logicalAnd:'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 163)
|
|
def _reduce_103(val, _values, result)
|
|
return binary val[0], val[2], 'isGreaterThan:'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 164)
|
|
def _reduce_104(val, _values, result)
|
|
return binary val[0], val[2], 'isLessThan:'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 165)
|
|
def _reduce_105(val, _values, result)
|
|
return binary val[0], val[2], 'isGreaterOrEqualTo:'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 166)
|
|
def _reduce_106(val, _values, result)
|
|
return binary val[0], val[2], 'isLessOrEqualTo:'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
# reduce 107 omitted
|
|
|
|
# reduce 108 omitted
|
|
|
|
# reduce 109 omitted
|
|
|
|
# reduce 110 omitted
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 173)
|
|
def _reduce_111(val, _values, result)
|
|
return unary val[1], 'unaryNot'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 174)
|
|
def _reduce_112(val, _values, result)
|
|
return unary val[1], 'unaryPlus'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 175)
|
|
def _reduce_113(val, _values, result)
|
|
return unary val[1], 'unaryMinus'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 176)
|
|
def _reduce_114(val, _values, result)
|
|
return unary val[1], 'unaryComplement'
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
# reduce 115 omitted
|
|
|
|
# reduce 116 omitted
|
|
|
|
# reduce 117 omitted
|
|
|
|
# reduce 118 omitted
|
|
|
|
# reduce 119 omitted
|
|
|
|
# reduce 120 omitted
|
|
|
|
# reduce 121 omitted
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 186)
|
|
def _reduce_122(val, _values, result)
|
|
return n :Float, val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 187)
|
|
def _reduce_123(val, _values, result)
|
|
return n :Integer, val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 188)
|
|
def _reduce_124(val, _values, result)
|
|
return n :Nil
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 189)
|
|
def _reduce_125(val, _values, result)
|
|
return n :True
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 190)
|
|
def _reduce_126(val, _values, result)
|
|
return n :False
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 191)
|
|
def _reduce_127(val, _values, result)
|
|
return n :Self
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 193)
|
|
def _reduce_128(val, _values, result)
|
|
return n :String, val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
# reduce 129 omitted
|
|
|
|
# reduce 130 omitted
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 197)
|
|
def _reduce_131(val, _values, result)
|
|
return val[1]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 198)
|
|
def _reduce_132(val, _values, result)
|
|
return val[1]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 199)
|
|
def _reduce_133(val, _values, result)
|
|
return n :InterpolatedString, val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 200)
|
|
def _reduce_134(val, _values, result)
|
|
val[0].append(val[1]); return val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 201)
|
|
def _reduce_135(val, _values, result)
|
|
return val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 202)
|
|
def _reduce_136(val, _values, result)
|
|
return to_string(val[0])
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 203)
|
|
def _reduce_137(val, _values, result)
|
|
return n :String, ''
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 205)
|
|
def _reduce_138(val, _values, result)
|
|
return n :String, val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
module_eval(<<'.,.,', 'huia.y', 206)
|
|
def _reduce_139(val, _values, result)
|
|
val[0].append(val[1]); return val[0]
|
|
result
|
|
end
|
|
.,.,
|
|
|
|
def _reduce_none(val, _values, result)
|
|
val[0]
|
|
end
|
|
|
|
end # class Parser
|
|
end # module Huia
|