| author | Christian Urban <christian.urban@kcl.ac.uk> |
| Mon, 25 Dec 2023 01:10:55 +0100 | |
| changeset 479 | 78cb5cdda3c3 |
| 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 |
} |