author | Christian Urban <urbanc@in.tum.de> |
Sat, 01 Oct 2016 22:30:51 +0100 | |
changeset 431 | c7d4ee344451 |
parent 415 | 4ae59fd3b174 |
child 436 | 9213b8298ca9 |
permissions | -rw-r--r-- |
def ders2(s: List[Char], r: Rexp) : Rexp = (s, r) match { case (Nil, r) => r case (s, ZERO) => ZERO case (s, ONE) => if (s == Nil) ONE else ZERO case (s, CHAR(c)) => if (s == List(c)) ONE else if (s == Nil) CHAR(c) else ZERO case (s, ALT(r1, r2)) => ALT(ders2(s, r2), ders2(s, r2)) case (c::s, r) => ders2(s, der(c, r).simp) }