class RuboCop::AST::NodePattern::Compiler

def initialize(str, root = 'node0', node_var = root)

def initialize(str, root = 'node0', node_var = root)
  @string   = str
  # For def_node_pattern, root == node_var
  # For def_node_search, root is the root node to search on,
  # and node_var is the current descendant being searched.
  @root     = root
  @node_var = node_var
  @temps    = 0  # avoid name clashes between temp variables
  @captures = 0  # number of captures seen
  @unify    = {} # named wildcard -> temp variable
  @params   = 0  # highest % (param) number seen
  @keywords = Set[] # keyword parameters seen
  run
end