class Eqn::EqnNode

Eqn parser node with helper methods for cleaning.

Public Instance Methods

clean_tree!() click to toggle source
# File lib/eqn/eqn_node.rb, line 8
def clean_tree!
  # Return if node is a terminal.
  return if term?

  # Delete any cruft syntax nodes.
  elements.delete_if { |node| !node.is_a?(EqnNode) }

  # Recurse over any elements with their own children.
  elements.each(&:clean_tree!)
end
term?() click to toggle source
# File lib/eqn/eqn_node.rb, line 4
def term?
  elements.nil? || elements.empty?
end