module Dentaku::Visitor::Infix

Public Instance Methods

process(_ast) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 16
def process(_ast)
  raise NotImplementedError
end
visit(ast) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 12
def visit(ast)
  ast.accept(self)
end
visit_access(node) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 69
def visit_access(node)
  process(node)
end
visit_array(node) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 81
def visit_array(node)
  process(node)
end
visit_case(node) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 41
def visit_case(node)
  process(node)
end
visit_case_conditional(node) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 49
def visit_case_conditional(node)
  process(node)
end
visit_else(node) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 61
def visit_else(node)
  process(node)
end
visit_function(node) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 20
def visit_function(node)
  node.args.each do |arg|
    visit(arg)
  end
  process(node)
end
visit_identifier(node) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 27
def visit_identifier(node)
  process(node)
end
visit_literal(node) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 73
def visit_literal(node)
  process(node)
end
visit_negation(node) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 65
def visit_negation(node)
  process(node)
end
visit_nil(node) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 77
def visit_nil(node)
  process(node)
end
visit_operand(node) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 37
def visit_operand(node)
  process(node)
end
visit_operation(node) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 31
def visit_operation(node)
  visit(node.left) if node.left
  process(node)
  visit(node.right) if node.right
end
visit_switch(node) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 45
def visit_switch(node)
  process(node)
  end
visit_then(node) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 57
def visit_then(node)
  process(node)
end
visit_when(node) click to toggle source
# File lib/dentaku/visitor/infix.rb, line 53
def visit_when(node)
  process(node)
end