free_mutant/lib/mutant/ast/sexp.rb
2015-11-15 23:13:43 +00:00

28 lines
507 B
Ruby

module Mutant
module AST
# Mixin for node sexp syntax
module Sexp
private
# Build node
#
# @param [Symbol] type
#
# @return [Parser::AST::Node]
def s(type, *children)
::Parser::AST::Node.new(type, children)
end
# Build a negated boolean node
#
# @param [Parser::AST::Node] node
#
# @return [Parser::AST::Node]
def n_not(node)
s(:send, node, :!)
end
end # Sexp
end # AST
end # Mutant