diff options
author | pacien | 2018-04-29 20:19:28 +0200 |
---|---|---|
committer | pacien | 2018-04-29 20:19:28 +0200 |
commit | 55f5d164762fc37fc53e6e94da2aa92d84e8c145 (patch) | |
tree | a4ffc86a7d22f893f4b0bf50fdc1677d816c017a /common.mli | |
parent | 7d05d97c8e51e77f117fc14f060bb0c54b86a135 (diff) | |
parent | e828fbc45672ed2b6d9e78e6b667905d3c68267c (diff) | |
download | urm-55f5d164762fc37fc53e6e94da2aa92d84e8c145.tar.gz |
Merge branch 'eurm'
Diffstat (limited to 'common.mli')
-rw-r--r-- | common.mli | 27 |
1 files changed, 25 insertions, 2 deletions
@@ -4,15 +4,35 @@ | |||
4 | *) | 4 | *) |
5 | 5 | ||
6 | type line = int | 6 | type line = int |
7 | type label = string | ||
7 | type regidx = int | 8 | type regidx = int |
8 | type regval = int | 9 | type regval = int |
9 | type reg = Reg of regidx * regval | 10 | type reg = Reg of regidx * regval |
10 | 11 | ||
11 | type urmcmd = | 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 | ||
12 | | Copy of regidx * regidx | 21 | | Copy of regidx * regidx |
13 | | Jump of regidx * regidx * line | 22 | | Dec of regidx |
14 | | Succ 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 | ||
15 | | Zero of regidx | 34 | | Zero of regidx |
35 | | ZeroPredicate of regidx * label | ||
16 | 36 | ||
17 | type instptr = InstPtr of (line * urmcmd) list * (line * urmcmd) list | 37 | type instptr = InstPtr of (line * urmcmd) list * (line * urmcmd) list |
18 | 38 | ||
@@ -21,4 +41,7 @@ type urm = { | |||
21 | regs : reg list | 41 | regs : reg list |
22 | } | 42 | } |
23 | 43 | ||
44 | type state = { todo : int } | ||
45 | |||
24 | exception Syntax_error | 46 | exception Syntax_error |
47 | |||