From 0cc7d50e08b36d036771493920bb2e20251def64 Mon Sep 17 00:00:00 2001 From: Alasdair Armstrong Date: Mon, 11 Jun 2018 16:04:37 +0100 Subject: Add string.sail file to lib --- lib/string.sail | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 lib/string.sail (limited to 'lib') 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 + +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 -- cgit v1.2.3