Files
why3/examples/split_string/main.ml
Jean-Christophe Filliatre f858526f2b split_string: extraction to OCaml
2024-01-24 19:52:46 +01:00

31 lines
687 B
OCaml

open Format
module Q = Queue
let print_queue fmt q =
while not (Q.is_empty q) do
let s = Q.pop q in
fprintf fmt "%S" s;
if not (Q.is_empty q) then fprintf fmt ",@ "
done
let test ?(limit = -1) ?(sep='.') s =
printf "split %S %C " s sep;
if limit <> -1 then printf "(limit=%d) " limit;
let q = Split_string.split_string s sep limit in
printf "=> @[[%a@]]@." print_queue q
let () = test ""
let () = test "."
let () = test ".."
let () = test "abc"
let () = test "abc."
let () = test ".abc"
let () = test "a.bc"
let () = test "a..bc"
let () = test ~limit:2 "a."
let () = test ~limit:2 "b.."
let () = test ~limit:2 "b..."
let () = test ~limit:2 "ba.b.b."