class Regexp::Lexer

def descend(type, token)

def descend(type, token)
  return unless OPENING_TOKENS.include?(token)
  case type
  when :group, :assertion
    self.nesting = nesting + 1
  when :set
    self.set_nesting = set_nesting + 1
  when :conditional
    self.conditional_nesting = conditional_nesting + 1
  else
    raise "unhandled nesting type #{type}"
  end
end