| author | Christian Urban <christian.urban@kcl.ac.uk> | 
| Wed, 01 Dec 2021 07:51:21 +0000 | |
| changeset 413 | f4db8336d3d5 | 
| parent 403 | 312c9eb39ad8 | 
| permissions | -rw-r--r-- | 
| 403 | 1 | import M3._ | 
| 300 | 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) |