class DFS

Public Class Methods

new(visitor) click to toggle source
# File lib/visitor/dfs.rb, line 2
def initialize(visitor)
  @visitor = visitor
end

Public Instance Methods

traverse(node) click to toggle source
# File lib/visitor/dfs.rb, line 14
def traverse(node)
  if (@visitor.preVisit(node)) then
    self.traverseChildren(node.children)
    @visitor.postVisit(node)
  end
end
traverseChildren(children) click to toggle source
# File lib/visitor/dfs.rb, line 6
def traverseChildren(children)
  if (children != nil)
    children.each do |key,value|
      self.traverse(value)
    end
  end
end