| author | Christian Urban <christian.urban@kcl.ac.uk> | 
| Mon, 06 Nov 2023 21:49:55 +0000 | |
| changeset 477 | 2403c931a32f | 
| parent 472 | fbff6f601370 | 
| permissions | -rw-r--r-- | 
| 472 | 1 | |
| 2 | def urbanmain() = {
 | |
| 300 | 3 | |
| 472 | 4 | import M3._ | 
| 5 | ||
| 6 |   val EVIL_urban = SEQ(STAR(STAR(CHAR('a'))), CHAR('b'))
 | |
| 300 | 7 | |
| 8 | ||
| 472 | 9 | assert(simp(Iterator.iterate(ONE:Rexp)(r => SEQ(r, ONE | ONE)).drop(50).next) == ONE) | 
| 10 | assert(simp(Iterator.iterate(ONE:Rexp)(r => ALT(r, r)).drop(20).next) == ONE) | |
| 11 | assert(matcher(EVIL_urban, "a" * 1000000) == false) | |
| 12 | assert(matcher(EVIL_urban, "a" * 1000000 ++ "b") == true) | |
| 13 | } |