abstract class Rexp+− +− case object NULL extends Rexp+− case object EMPTY extends Rexp+− case class CHAR(c: Char) extends Rexp+− case class ALT(r1: Rexp, r2: Rexp) extends Rexp+− case class SEQ(r1: Rexp, r2: Rexp) extends Rexp+− case class STAR(r: Rexp) extends Rexp+−