diff options
| author | Jon French | 2018-06-11 16:14:14 +0100 |
|---|---|---|
| committer | Jon French | 2018-06-11 16:14:14 +0100 |
| commit | 7acf6b70899556b0775c5f1820b62b5100ce6f5c (patch) | |
| tree | 99bc2a5dfa1b7aea29cf8ca297da2c139310a12b /lib | |
| parent | 826e94548a86a88d8fefeb1edef177c02bf5d68d (diff) | |
| parent | 0cc7d50e08b36d036771493920bb2e20251def64 (diff) | |
Merge branch 'sail2' into mappings
Diffstat (limited to 'lib')
| -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 |
