class Regexp::Parser

def update_transplanted_subtree(exp, new_parent)

subtrees are transplanted to build Alternations, Intersections, Ranges
def update_transplanted_subtree(exp, new_parent)
  exp.nesting_level = new_parent.nesting_level + 1
  exp.respond_to?(:each) &&
    exp.each { |subexp| update_transplanted_subtree(subexp, exp) }
end