cw4_marking/c1_add.sc
author Christian Urban <christian.urban@kcl.ac.uk>
Fri, 24 Oct 2025 11:26:43 +0100
changeset 1018 fd6a64c53f0e
parent 977 7a02c5b9e0df
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
977
7a02c5b9e0df updated marking scripts
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     1
7a02c5b9e0df updated marking scripts
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     2
7a02c5b9e0df updated marking scripts
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     3
7a02c5b9e0df updated marking scripts
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     4
def test_string(prog: String, cname: String) = {
7a02c5b9e0df updated marking scripts
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     5
  val tks = tokenise(prog)
7a02c5b9e0df updated marking scripts
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     6
  //println(tks)
7a02c5b9e0df updated marking scripts
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     7
  val ast = Stmts.parse_all(tks).head
7a02c5b9e0df updated marking scripts
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     8
  //println(ast)
7a02c5b9e0df updated marking scripts
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     9
  val code = compile(ast, cname)
7a02c5b9e0df updated marking scripts
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    10
  //println(code)
7a02c5b9e0df updated marking scripts
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    11
  os.write.over(os.pwd / (cname ++ ".j"), code)
7a02c5b9e0df updated marking scripts
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    12
  //println(eval(ast))
7a02c5b9e0df updated marking scripts
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    13
}