class Keisan::AST::Cell

Attributes

node[RW]

Public Class Methods

new(node) click to toggle source
# File lib/keisan/ast/cell.rb, line 6
def initialize(node)
  @node = node
end

Public Instance Methods

deep_dup() click to toggle source
# File lib/keisan/ast/cell.rb, line 22
def deep_dup
  dupped = dup
  dupped.instance_variable_set(
    :@node,
    dupped.node.deep_dup
  )
  dupped
end
differentiate(variable, context = nil) click to toggle source
# File lib/keisan/ast/cell.rb, line 60
def differentiate(variable, context = nil)
  node.differentiate(variable, context)
end
evaluate(context = nil) click to toggle source
# File lib/keisan/ast/cell.rb, line 48
def evaluate(context = nil)
  node.evaluate(context)
end
evaluate_assignments(context = nil) click to toggle source
# File lib/keisan/ast/cell.rb, line 56
def evaluate_assignments(context = nil)
  node.evaluate_assignments(context)
end
false?() click to toggle source
# File lib/keisan/ast/cell.rb, line 44
def false?
  node.false?
end
freeze() click to toggle source
Calls superclass method
# File lib/keisan/ast/cell.rb, line 31
def freeze
  node.freeze
  super
end
replace(variable, replacement) click to toggle source
# File lib/keisan/ast/cell.rb, line 64
def replace(variable, replacement)
  node.replace(variable, replacement)
end
simplify(context = nil) click to toggle source
# File lib/keisan/ast/cell.rb, line 52
def simplify(context = nil)
  node.simplify(context)
end
to_cell() click to toggle source
# File lib/keisan/ast/cell.rb, line 68
def to_cell
  self.class.new(node.to_node)
end
to_node() click to toggle source
# File lib/keisan/ast/cell.rb, line 76
def to_node
  node
end
to_s() click to toggle source
# File lib/keisan/ast/cell.rb, line 72
def to_s
  node.to_s
end
traverse(&block) click to toggle source
Calls superclass method
# File lib/keisan/ast/cell.rb, line 18
def traverse(&block)
  super(&block) || node.traverse(&block)
end
true?() click to toggle source
# File lib/keisan/ast/cell.rb, line 40
def true?
  node.true?
end
unbound_functions(context = nil) click to toggle source
# File lib/keisan/ast/cell.rb, line 14
def unbound_functions(context = nil)
  node.unbound_functions(context)
end
unbound_variables(context = nil) click to toggle source
# File lib/keisan/ast/cell.rb, line 10
def unbound_variables(context = nil)
  node.unbound_variables(context)
end
value(context = nil) click to toggle source
# File lib/keisan/ast/cell.rb, line 36
def value(context = nil)
  node.value(context)
end