equal
deleted
inserted
replaced
111 //println("Simp tests") |
111 //println("Simp tests") |
112 //println(simp(ALT(ONE | CHAR('a'), CHAR('a') | ONE))) |
112 //println(simp(ALT(ONE | CHAR('a'), CHAR('a') | ONE))) |
113 //println(simp(((CHAR('a') | ZERO) ~ ONE) | |
113 //println(simp(((CHAR('a') | ZERO) ~ ONE) | |
114 // (((ONE | CHAR('b')) | CHAR('c')) ~ (CHAR('d') ~ ZERO)))) |
114 // (((ONE | CHAR('b')) | CHAR('c')) ~ (CHAR('d') ~ ZERO)))) |
115 |
115 |
116 |
|
117 // (7) |
116 // (7) |
118 |
117 |
119 def ders (s: List[Char], r: Rexp) : Rexp = s match { |
118 def ders (s: List[Char], r: Rexp) : Rexp = s match { |
120 case Nil => r |
119 case Nil => r |
121 case c::s => ders(s, simp(der(c, r))) |
120 case c::s => ders(s, simp(der(c, r))) |
189 */ |
188 */ |
190 |
189 |
191 |
190 |
192 } |
191 } |
193 |
192 |
|
193 |
|
194 |
|
195 |
|
196 |
|
197 /* |
|
198 // if nullable(r1) |
|
199 ALTs(SEQs(der(c, r1)::rs)::(rs filter what is nullable) .map(der(c,_))) |
|
200 |
|
201 */ |