class Keisan::AST::LogicalOperator

Public Instance Methods

evaluate(context = nil) click to toggle source
# File lib/keisan/ast/logical_operator.rb, line 4
def evaluate(context = nil)
  context ||= Context.new
  children[0].evaluate(context).send(operator, children[1].evaluate(context))
end
simplify(context = nil) click to toggle source
# File lib/keisan/ast/logical_operator.rb, line 9
def simplify(context = nil)
  context ||= Context.new
  children[0].simplify(context).send(operator, children[1].simplify(context))
end
value(context=nil) click to toggle source
# File lib/keisan/ast/logical_operator.rb, line 14
def value(context=nil)
  context ||= Context.new
  children[0].value(context).send(value_operator, children[1].value(context))
end

Protected Instance Methods

operator() click to toggle source
# File lib/keisan/ast/logical_operator.rb, line 25
def operator
  raise Exceptions::NotImplementedError.new
end
value_operator() click to toggle source
# File lib/keisan/ast/logical_operator.rb, line 21
def value_operator
  raise Exceptions::NotImplementedError.new
end