1
|
open Lusic
|
2
|
|
3
|
let print_lusic_to_h basename extension =
|
4
|
let module HeaderMod = C_backend_header.EmptyMod in
|
5
|
let module Header = C_backend_header.Main (HeaderMod) in
|
6
|
let lusic = read_lusic basename extension in
|
7
|
let header_name = basename ^ ".h" in
|
8
|
let h_out = open_out header_name in
|
9
|
let h_fmt = Format.formatter_of_out_channel h_out in
|
10
|
begin
|
11
|
assert (not lusic.obsolete);
|
12
|
(*Format.eprintf "lusic to h: %i items.@." (List.length lusic.contents);*)
|
13
|
Typing.uneval_prog_generics lusic.contents;
|
14
|
Clock_calculus.uneval_prog_generics lusic.contents;
|
15
|
Header.print_header_from_header h_fmt (Filename.basename basename) lusic.contents;
|
16
|
close_out h_out
|
17
|
end
|
18
|
|