diff options
Diffstat (limited to 'src/lem_interp')
| -rw-r--r-- | src/lem_interp/instruction_extractor.lem | 2 | ||||
| -rw-r--r-- | src/lem_interp/interp_inter_imp.lem | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/lem_interp/instruction_extractor.lem b/src/lem_interp/instruction_extractor.lem index f78e2d29..3507a5ee 100644 --- a/src/lem_interp/instruction_extractor.lem +++ b/src/lem_interp/instruction_extractor.lem @@ -30,6 +30,8 @@ let rec extract_ityp t tag = match (t,tag) with | (T_app "range" _,_) -> IRange Nothing | (T_app i (T_args []),Tag_enum max) -> IEnum i (natFromInteger max) + | (T_id i,Tag_enum max) -> + IEnum i (natFromInteger max) | _ -> IOther end diff --git a/src/lem_interp/interp_inter_imp.lem b/src/lem_interp/interp_inter_imp.lem index aa802641..66bfd6b7 100644 --- a/src/lem_interp/interp_inter_imp.lem +++ b/src/lem_interp/interp_inter_imp.lem @@ -396,6 +396,7 @@ let instruction_to_istate (top_level:context) (((name, parms, _) as instr):instr match typ with | Bit -> match bits with | [b] -> b | _ -> Assert_extra.failwith "Expected a bitvector of length 1" end | Range _ -> Interp_lib.to_num Interp_lib.Unsigned vec + | Enum _ _ -> Interp_lib.to_num Interp_lib.Unsigned vec | _ -> vec end end in |
