Skip to content
Snippets Groups Projects
Commit 7f057804 authored by Forget Julien's avatar Forget Julien
Browse files

Added option to specify output file name.

parent 4b173c06
Branches
No related tags found
No related merge requests found
...@@ -13,10 +13,18 @@ let compile source_name contexts = ...@@ -13,10 +13,18 @@ let compile source_name contexts =
let ctx' = new_ctx f' ctx.loop_hierarchy ctx.loop_bounds in let ctx' = new_ctx f' ctx.loop_hierarchy ctx.loop_bounds in
To_c.c_context source_name ctx' To_c.c_context source_name ctx'
else else
let out_f =
if (!Options.out_name = "") then
Format.std_formatter
else
let out_ch = open_out !Options.out_name in
Format.formatter_of_out_channel out_ch
in
List.iter List.iter
(fun ctx -> (fun ctx ->
let f' = simplify ctx.loop_hierarchy ctx.formula in let f' = simplify ctx.loop_hierarchy ctx.formula in
Format.fprintf Format.std_formatter "%a %a@." Format.fprintf out_f "%a %a@."
Wcet_formula.pp f' Wcet_formula.pp f'
Loops.pp_hier ctx.loop_hierarchy Loops.pp_hier ctx.loop_hierarchy
) )
......
...@@ -27,9 +27,11 @@ let extension = ".pwf" ...@@ -27,9 +27,11 @@ let extension = ".pwf"
let debug = ref false let debug = ref false
let to_c = ref false let to_c = ref false
let out_name = ref ""
let options = [ let options = [
"-c", Arg.Set to_c, "Compile a (single) formula to C code"; "-c", Arg.Set to_c, "Compile a (single) formula to C code";
"-debug", Arg.Set debug, "Run in debug mode"; "-debug", Arg.Set debug, "Run in debug mode";
"-o", Arg.Set_string out_name, "Speficies the output file name";
"-version", Arg.Unit (fun () -> print_endline version), "Print version" "-version", Arg.Unit (fun () -> print_endline version), "Print version"
] ]
...@@ -109,7 +109,11 @@ let c_formula out_f f = ...@@ -109,7 +109,11 @@ let c_formula out_f f =
let c_context source_name ctx = let c_context source_name ctx =
let basename = Filename.chop_suffix source_name Options.extension in let basename = Filename.chop_suffix source_name Options.extension in
let outname = basename^".h" in let outname =
if (!Options.out_name = "") then
basename^".h"
else !Options.out_name
in
let out_ch = open_out outname in let out_ch = open_out outname in
let out_f = formatter_of_out_channel out_ch in let out_f = formatter_of_out_channel out_ch in
c_loop_bounds out_f ctx.loop_bounds; c_loop_bounds out_f ctx.loop_bounds;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment