| author | Christian Urban <urbanc@in.tum.de> | 
| Sat, 02 Nov 2019 15:11:30 +0000 | |
| changeset 305 | b387e925d3c2 | 
| parent 300 | be9900ba65ff | 
| permissions | -rw-r--r-- | 
| 300 | 1  | 
import CW9c._  | 
2  | 
||
3  | 
val EVIL_urban = SEQ(STAR(STAR(CHAR('a'))), CHAR('b'))
 | 
|
4  | 
||
5  | 
||
6  | 
assert(simp(Iterator.iterate(ONE:Rexp)(r => SEQ(r, ONE | ONE)).drop(50).next) == ONE)  | 
|
7  | 
assert(simp(Iterator.iterate(ONE:Rexp)(r => ALT(r, r)).drop(20).next) == ONE)  | 
|
8  | 
assert(matcher(EVIL_urban, "a" * 1000000) == false)  | 
|
9  | 
assert(matcher(EVIL_urban, "a" * 1000000 ++ "b") == true)  |