main_marking3/re_test1.scala
author Christian Urban <christian.urban@kcl.ac.uk>
Mon, 21 Jul 2025 16:38:07 +0100
changeset 494 253d1ccb65de
parent 463 0315d9983cd0
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
390
175a950470a9 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     1
463
0315d9983cd0 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 424
diff changeset
     2
494
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
     3
def urbanmain() = {
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
     4
  import M3._
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
     5
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
     6
  assert(nullable(ZERO) == false)
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
     7
  assert(nullable(ONE) == true)
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
     8
  assert(nullable(CHAR('a')) == false)
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
     9
  assert(nullable(ZERO | ONE) == true)
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
    10
  assert(nullable(ZERO | CHAR('a')) == false)
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
    11
  assert(nullable(ONE ~  ONE) == true)
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
    12
  assert(nullable(ONE ~ CHAR('a')) == false)
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
    13
  assert(nullable(STAR(ZERO)) == true)
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
    14
  assert(nullable(ALTs(List(ONE, CHAR('a'), ZERO))) == true)
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
    15
  assert(nullable(SEQs(List(ONE, ALTs(List(ONE, CHAR('a'), ZERO)), STAR(ZERO)))) == true)
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
    16
}
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
    17