Class: Antlr4ruby::ParseTreeWalker

Inherits:
Object
  • Object
show all
Defined in:
lib/antlr4ruby/tree/parse_tree_walker.rb

Direct Known Subclasses

IterativeParseTreeWalker

Constant Summary collapse

DEFAULT =
ParseTreeWalker.new

Instance Method Summary collapse

Instance Method Details

#walk(listener, tree) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/antlr4ruby/tree/parse_tree_walker.rb', line 8

def walk(listener, tree)
  if tree.instance_of?(ErrorNode)
    listener.visit_error_node(tree)
    return
  elsif tree.instance_of?(TerminalNode)
    listener.visit_terminal(tree)
    return
  end
  enter_rule(listener, tree)
  n = tree.get_child_count
  n.times do |i|
    walk(listener, tree.get_child(i))
  end
  exit_rule(listener, tree)
end