summaryrefslogtreecommitdiff
path: root/src/lem_interp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lem_interp')
-rw-r--r--src/lem_interp/interp.lem14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/lem_interp/interp.lem b/src/lem_interp/interp.lem
index 8e842730..64727503 100644
--- a/src/lem_interp/interp.lem
+++ b/src/lem_interp/interp.lem
@@ -122,7 +122,7 @@ val to_register_fields : defs tannot -> list (id * list (id * index_range))
let rec to_register_fields (Defs defs) =
match defs with
| [ ] -> [ ]
- | (DEF_aux def (l,tannot))::defs ->
+ | def::defs ->
match def with
| DEF_type (TD_aux (TD_register id n1 n2 indexes) l') ->
(id,List.map (fun (a,b) -> (b,a)) indexes)::(to_register_fields (Defs defs))
@@ -134,9 +134,9 @@ val to_registers : defs tannot -> env
let rec to_registers (Defs defs) =
match defs with
| [ ] -> [ ]
- | (DEF_aux def (l,tannot))::defs ->
+ | def::defs ->
match def with
- | DEF_reg_dec typ id -> (id, V_register(Reg id tannot)) :: (to_registers (Defs defs))
+ | DEF_reg_dec (DEC_aux (DEC_reg typ id) (l,tannot)) -> (id, V_register(Reg id tannot)) :: (to_registers (Defs defs))
| _ -> to_registers (Defs defs)
end
end
@@ -164,7 +164,7 @@ val to_data_constructors : defs tannot -> list (id * typ)
let rec to_data_constructors (Defs defs) =
match defs with
| [] -> []
- | (DEF_aux def _) :: defs ->
+ | def :: defs ->
match def with
| DEF_type (TD_aux t _)->
match t with
@@ -426,7 +426,7 @@ let get_funcls id (FD_aux (FD_function _ _ _ fcls) _) =
let rec find_function (Defs defs) id =
match defs with
| [] -> Nothing
- | (DEF_aux def _)::defs ->
+ | def::defs ->
match def with
| DEF_fundef f -> match get_funcls id f with
| [] -> find_function (Defs defs) id
@@ -1273,13 +1273,13 @@ let rec to_global_letbinds (Defs defs) t_level =
let (Env defs' lets regs ctors subregs) = t_level in
match defs with
| [] -> ((Value (V_lit (L_aux L_unit Unknown)) Tag_empty, emem, []),t_level)
- | (DEF_aux def (l,_))::defs ->
+ | def::defs ->
match def with
| DEF_val lbind ->
match interp_letbind t_level [] emem lbind with
| ((Value v tag,lm,le),_) -> to_global_letbinds (Defs defs) (Env defs' (lets++le) regs ctors subregs)
| ((Action a s,lm,le),_) ->
- ((Error l "Top level let may not access memory, registers or (for now) external functions", lm,le),t_level)
+ ((Error Unknown "Top level let may not access memory, registers or (for now) external functions", lm,le),t_level)
| (e,_) -> (e,t_level) end
| _ -> to_global_letbinds (Defs defs) t_level
end