def rev(r: Rexp) : Rexp = r match { case ZERO => ZERO case ONE => ONE case CHAR(c) => CHAR(c) case ALT(r1, r2) => ALT(rev(r1), rev(r2)) case SEQ(r1, r2) => SEQ(rev(r2), rev(r1)) case STAR(r) => STAR(rev(r)) }