summaryrefslogtreecommitdiff
path: root/src/sail_lib.ml
diff options
context:
space:
mode:
authorJon French2018-05-10 13:05:43 +0100
committerJon French2018-05-10 13:05:43 +0100
commitb7307bd33a1c0fe7190fc4b34a9d3eca9beda565 (patch)
tree20073d8554d10db8806d94e93e6532f786478fd8 /src/sail_lib.ml
parent443601a0d19907d95ed604a68403403d25ceaf73 (diff)
hacky monomorphic bits-string-parser for now
Diffstat (limited to 'src/sail_lib.ml')
-rw-r--r--src/sail_lib.ml10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/sail_lib.ml b/src/sail_lib.ml
index b4c5a8aa..415fc9fd 100644
--- a/src/sail_lib.ml
+++ b/src/sail_lib.ml
@@ -644,3 +644,13 @@ let spaces_matches_prefix s =
| 0 -> ZNone ()
| n -> ZSome ((), Big_int.of_int n)
+
+let hex_bits_12_matches_prefix s =
+ match maybe_int_of_prefix s with
+ | ZNone () -> ZNone ()
+ | ZSome (n, len) ->
+ let n = Big_int.to_int n in
+ if 0 <= n && n < 4096 then
+ ZSome ((bits_of_int 2048 n, len))
+ else
+ ZNone ()