module Regexp::Expression

def self.parsed(exp)

def self.parsed(exp)
  case exp
  when String
    Regexp::Parser.parse(exp)
  when Regexp
    Regexp::Parser.parse(exp.source)
  when Regexp::Expression
    exp
  else
    raise "Expression.parsed accepts a String, Regexp, or " +
          "a Regexp::Expression as a value for exp, but it " +
          "was given #{exp.class.name}."
  end
end