main_marking3/re_test3a.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
494
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
     2
def urbanmain() = {
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
     3
  import M3._
390
175a950470a9 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     4
494
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
     5
  assert(flts(Nil) == Nil)
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
     6
  assert(flts(ZERO::ZERO::Nil) == List(ZERO))
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
     7
  assert(flts(ZERO::ONE::ZERO::ONE::Nil) == List(ZERO))
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
     8
  assert(flts(ONE::ALTs(List(ONE))::ONE::Nil) == List(ALTs(List(ONE))))
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
     9
  assert(flts(ONE::ALTs(List(ONE))::ONE::ALTs(List(ONE))::Nil) == List(ALTs(List(ONE)), ALTs(List(ONE))))
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
    10
  assert(flts(List(CHAR('a'), ONE, ONE, CHAR('b')), Nil) == List(CHAR('a'), CHAR('b')))
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
    11
  assert(flts(List(ONE ~ CHAR('a'), CHAR('b') ~ ONE), Nil) == List(ONE, CHAR('a'), CHAR('b'), ONE))
253d1ccb65de updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 463
diff changeset
    12
}