aboutsummaryrefslogtreecommitdiff
path: root/src/eurm.mli
diff options
context:
space:
mode:
Diffstat (limited to 'src/eurm.mli')
-rw-r--r--src/eurm.mli24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/eurm.mli b/src/eurm.mli
new file mode 100644
index 0000000..e467fd6
--- /dev/null
+++ b/src/eurm.mli
@@ -0,0 +1,24 @@
1(*
2 * UPEM / L3 / Functional programming / Project: URM
3 * Pacien TRAN-GIRARD, Adam NAILI
4 *)
5
6open Common
7
8(* Strips out comments and rewrite/enumerate labels *)
9val compile_preprocess : eurmcmd list -> eurmcmd list
10
11(* Rewrites Dec, GEqPredicate, LEqPredicate, LTPredicate, Mult and ZeroPredicate *)
12val compile_stage1 : eurmcmd list -> state -> eurmcmd list * state
13
14(* Rewrites Add, GTPredicate and Sub *)
15val compile_stage2 : eurmcmd list -> state -> eurmcmd list * state
16
17(* Rewrites Goto *)
18val compile_stage3 : eurmcmd list -> state -> eurmcmd list * state
19
20(* Rewrites Inc, EqPredicate, Label and Zero *)
21val compile_stage4 : eurmcmd list -> state -> urmcmd list * state
22
23(* Transcompiles an EURM instruction sequence into URM *)
24val urm_from_eurm : eurmcmd list -> urmcmd list