main_marking3/re_test1.scala
author Christian Urban <christian.urban@kcl.ac.uk>
Fri, 12 Sep 2025 10:36:07 +0100
changeset 492 17e6f46260bd
parent 491 2a30c7dfe3ed
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
390
720206dcacf7 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     1
460
f5c0749858fd updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 421
diff changeset
     2
491
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
     3
def urbanmain() = {
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
     4
  import M3._
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
     5
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
     6
  assert(nullable(ZERO) == false)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
     7
  assert(nullable(ONE) == true)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
     8
  assert(nullable(CHAR('a')) == false)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
     9
  assert(nullable(ZERO | ONE) == true)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    10
  assert(nullable(ZERO | CHAR('a')) == false)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    11
  assert(nullable(ONE ~  ONE) == true)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    12
  assert(nullable(ONE ~ CHAR('a')) == false)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    13
  assert(nullable(STAR(ZERO)) == true)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    14
  assert(nullable(ALTs(List(ONE, CHAR('a'), ZERO))) == true)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    15
  assert(nullable(SEQs(List(ONE, ALTs(List(ONE, CHAR('a'), ZERO)), STAR(ZERO)))) == true)
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    16
}
2a30c7dfe3ed updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 460
diff changeset
    17