| author | Christian Urban <christian.urban@kcl.ac.uk> | 
| Fri, 16 Jul 2021 23:34:19 +0100 | |
| changeset 394 | 9c0b7d676c7d | 
| parent 288 | 3cd6c850c252 | 
| permissions | -rw-r--r-- | 
| 288 | 1  | 
import CW9c._  | 
| 168 | 2  | 
|
3  | 
val EVIL_urban = SEQ(STAR(STAR(CHAR('a'))), CHAR('b'))
 | 
|
4  | 
||
5  | 
||
| 245 | 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)  |