summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lem_interp/instruction_extractor.lem11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/lem_interp/instruction_extractor.lem b/src/lem_interp/instruction_extractor.lem
index d2597740..9ff4dd49 100644
--- a/src/lem_interp/instruction_extractor.lem
+++ b/src/lem_interp/instruction_extractor.lem
@@ -24,7 +24,16 @@ let extract_parm (E_aux e (_,tannot)) =
| Just(T_app "vector" (T_args [T_arg_nexp _; T_arg_nexp _; _; T_arg_typ (T_id "bit")]),_,_,_) ->
(i,IBitvector Nothing)
| _ -> (i,IOther) end
- | _ -> ("UNKNOWN_PARM",IOther)
+ | _ ->
+ let i = "Unnamed" in
+ match tannot with
+ | Just(T_id "bit",_,_,_) -> (i,IBit)
+ | Just(T_id "bool",_,_,_) -> (i,IBit)
+ | Just(T_app "vector" (T_args [T_arg_nexp _; T_arg_nexp (Ne_const len); _; T_arg_typ (T_id "bit")]),_,_,_) ->
+ (i,IBitvector (Just len))
+ | Just(T_app "vector" (T_args [T_arg_nexp _; T_arg_nexp _; _; T_arg_typ (T_id "bit")]),_,_,_) ->
+ (i,IBitvector Nothing)
+ | _ -> (i,IOther) end
end
let rec extract_from_decode decoder =