summaryrefslogtreecommitdiff
path: root/src/lem_interp/Interp_interface.lem
diff options
context:
space:
mode:
Diffstat (limited to 'src/lem_interp/Interp_interface.lem')
-rw-r--r--src/lem_interp/Interp_interface.lem8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lem_interp/Interp_interface.lem b/src/lem_interp/Interp_interface.lem
index 136078aa..0e05fafe 100644
--- a/src/lem_interp/Interp_interface.lem
+++ b/src/lem_interp/Interp_interface.lem
@@ -14,11 +14,13 @@ type value =
type instruction_state = Interp.stack
type context = Interp.top_level
+type slice = (integer * integer)
+
type reg_name =
| Reg of string (*Name of the register, accessing the entire register*)
-| Reg_slice of string * integer * integer (*Name of the register, accessing from the first to second integer*)
-| Reg_field of string * string * integer * integer (*Name of the register, name of the field of the register accessed, the index range of the field*)
-| Reg_f_slice of string * string * integer * integer * integer * integer (* Same as above but only accessing from the third to the fourth integer of the field *)
+| Reg_slice of string * slice (*Name of the register, accessing from the first to second integer of the slice*)
+| Reg_field of string * string * slice (*Name of the register, name of the field of the register accessed, the slice of the field*)
+| Reg_f_slice of string * string * slice * slice (* Same as above but only accessing second slice of the field *)
type outcome =
| Read_mem of read_kind * value * (value -> instruction_state)