lama_byterun/regression_long/expressions/gen.ml
Kakadu 8a8fc3432b Disable x32 when os_type = Darwin
Signed-off-by: Kakadu <Kakadu@pm.me>
2024-09-05 23:38:34 +03:00

34 lines
1.2 KiB
OCaml

(* Run as `ocaml gen.ml` *)
let count = 10000
let () =
Out_channel.with_open_text "dune" (fun dunech ->
let dprintfn fmt = Format.kasprintf (Printf.fprintf dunech "%s\n") fmt in
dprintfn "; This file was autogenerated\n";
dprintfn "(cram (deps ../../src/Driver.exe ../../runtime/Std.i))\n";
for i=0 to count / 10 do
let cram_buf = Buffer.create 100 in
let cram_printfn fmt = Format.kasprintf (Printf.bprintf cram_buf "%s\n") fmt in
let cram_file = Printf.sprintf "generated%04dx.t" i in
let deps = ref [] in
for j=0 to 9 do
let k = (i*10+j) in
let lama_file = Printf.sprintf "generated%05d.lama" k in
let input_file = Printf.sprintf "generated%05d.input" k in
if Sys.file_exists lama_file then (
deps := lama_file :: input_file :: !deps;
cram_printfn " $ LAMA=../../runtime ../../src/Driver.exe -i generated%05d.lama < generated%05d.input" k k
)
done;
match !deps with
| [] -> ()
| xs ->
(dprintfn "(cram (applies_to generated%04dx)" i;
dprintfn " (deps %s))" (String.concat " " xs);
Out_channel.with_open_text cram_file (fun ch ->
output_string ch (Buffer.contents cram_buf))
)
done
)