diff options
| author | Alasdair Armstrong | 2018-06-11 16:04:37 +0100 |
|---|---|---|
| committer | Alasdair Armstrong | 2018-06-11 16:06:41 +0100 |
| commit | 0cc7d50e08b36d036771493920bb2e20251def64 (patch) | |
| tree | 048a098ef8b934bfe96fb0f908682dacc322ed5a /lib/string.sail | |
| parent | 4336409f923c10a8c5e4acc91fa7e6ef5551a88f (diff) | |
Add string.sail file to lib
Diffstat (limited to 'lib/string.sail')
| -rw-r--r-- | lib/string.sail | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/string.sail b/lib/string.sail new file mode 100644 index 00000000..9c4ad2f6 --- /dev/null +++ b/lib/string.sail @@ -0,0 +1,32 @@ +$ifndef _STRING +$define _STRING + +$include <arith.sail> + +val eq_string = {lem: "eq", _: "eq_string"} : (string, string) -> bool + +infixl 9 ^-^ + +val concat_str = {lem: "stringAppend", _: "concat_str"} : (string, string) -> string + +val "dec_str" : int -> string + +val "hex_str" : int -> string + +val bits_str = "string_of_bits" : forall 'n. vector('n, dec, bit) -> string + +val concat_str_bits : forall 'n. (string, vector('n, dec, bit)) -> string + +function concat_str_bits(str, x) = concat_str(str, bits_str(x)) + +val concat_str_dec : (string, int) -> string + +function concat_str_dec(str, x) = concat_str(str, dec_str(x)) + +overload operator ^-^ = {concat_str, concat_str_bits, concat_str_dec} + +val print_endline = "print_endline" : string -> unit + +val prerr_endline = "prerr_endline" : string -> unit + +$endif |
