diff options
author | pacien | 2018-04-29 20:24:38 +0200 |
---|---|---|
committer | pacien | 2018-04-29 20:24:38 +0200 |
commit | 0647f37eebbefb8446fc8abfc533a23952fbb8be (patch) | |
tree | fc9d69f32bd6c04de27c3795f6d54ed150bd4958 /src/common.mli | |
parent | 80d7f0f204aacefa768d34f6db30108cb430cede (diff) | |
download | urm-0647f37eebbefb8446fc8abfc533a23952fbb8be.tar.gz |
Move sources to dedicated directory
Diffstat (limited to 'src/common.mli')
-rw-r--r-- | src/common.mli | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/common.mli b/src/common.mli new file mode 100644 index 0000000..4fa838d --- /dev/null +++ b/src/common.mli | |||
@@ -0,0 +1,47 @@ | |||
1 | (* | ||
2 | * UPEM / L3 / Functional programming / Project: URM | ||
3 | * Pacien TRAN-GIRARD, Adam NAILI | ||
4 | *) | ||
5 | |||
6 | type line = int | ||
7 | type label = string | ||
8 | type regidx = int | ||
9 | type regval = int | ||
10 | type reg = Reg of regidx * regval | ||
11 | |||
12 | type urmcmd = | ||
13 | | URMCopy of regidx * regidx | ||
14 | | URMJump of regidx * regidx * line | ||
15 | | URMSucc of regidx | ||
16 | | URMZero of regidx | ||
17 | |||
18 | type eurmcmd = | ||
19 | | Add of regidx * regidx | ||
20 | | Comment of string | ||
21 | | Copy of regidx * regidx | ||
22 | | Dec of regidx | ||
23 | | EqPredicate of regidx * regidx * label | ||
24 | | GEqPredicate of regidx * regidx * label | ||
25 | | GTPredicate of regidx * regidx * label | ||
26 | | Goto of label | ||
27 | | Inc of regidx | ||
28 | | Label of label | ||
29 | | LEqPredicate of regidx * regidx * label | ||
30 | | LTPredicate of regidx * regidx * label | ||
31 | | Mult of regidx * regidx | ||
32 | | Quit | ||
33 | | Sub of regidx * regidx | ||
34 | | Zero of regidx | ||
35 | | ZeroPredicate of regidx * label | ||
36 | |||
37 | type instptr = InstPtr of (line * urmcmd) list * (line * urmcmd) list | ||
38 | |||
39 | type urm = { | ||
40 | instptr : instptr; | ||
41 | regs : reg list | ||
42 | } | ||
43 | |||
44 | type state = { todo : int } | ||
45 | |||
46 | exception Syntax_error | ||
47 | |||