2013-06-04 13:22:33 -04:00
|
|
|
module Mutant
|
|
|
|
# Mixin for node helpers
|
|
|
|
module NodeHelpers
|
|
|
|
|
|
|
|
# Build node
|
|
|
|
#
|
|
|
|
# @param [Symbol] type
|
|
|
|
#
|
|
|
|
# @return [Parser::AST::Node]
|
|
|
|
#
|
|
|
|
# @api private
|
|
|
|
#
|
|
|
|
def s(type, *children)
|
|
|
|
Parser::AST::Node.new(type, children)
|
|
|
|
end
|
2013-06-12 13:19:06 -04:00
|
|
|
module_function :s
|
|
|
|
|
|
|
|
|
|
|
|
NAN = s(:send, s(:float, 0.0), :/, s(:args, s(:float, 0.0)))
|
|
|
|
NEGATIVE_INFINITY = s(:send, s(:float, -1.0), :/, s(:args, s(:float, 0.0)))
|
|
|
|
INFINITY = s(:send, s(:float, 1.0), :/, s(:args, s(:float, 0.0)))
|
2013-06-21 09:03:21 -04:00
|
|
|
NEW_OBJECT = s(:send, s(:const, s(:cbase), :Object), :new)
|
|
|
|
|
2013-07-02 14:42:09 -04:00
|
|
|
RAISE = s(:send, nil, :raise)
|
|
|
|
|
2013-06-21 09:03:21 -04:00
|
|
|
N_NIL = s(:nil)
|
|
|
|
N_EMPTY = s(:empty)
|
2013-06-04 13:22:33 -04:00
|
|
|
|
|
|
|
end # NodeHelpers
|
|
|
|
end # Mutant
|