From ec08b955af699fb8fba73b80d43a7522055b4e66 Mon Sep 17 00:00:00 2001 From: Dmitry Boulytchev Date: Sun, 25 Feb 2018 21:09:27 +0300 Subject: [PATCH] Added SM.run --- src/SM.ml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/SM.ml b/src/SM.ml index 1c7f792b5..fcabd0509 100644 --- a/src/SM.ml +++ b/src/SM.ml @@ -25,6 +25,14 @@ type config = int list * Syntax.Stmt.config *) let eval _ = failwith "Not yet implemented" +(* Top-level evaluation + + val run : prg -> int list -> int list + + Takes an input stream, a program, and returns an output stream this program calculates +*) +let run i p = let (_, (_, _, o)) = eval ([], (Syntax.Expr.empty, i, [])) p in o + (* Stack machine compiler val compile : Syntax.Stmt.t -> prg