1
|
open Lustre_types
|
2
|
|
3
|
val check_main: unit -> unit
|
4
|
|
5
|
(* Loading Lus/Lusi file and filling type tables with parsed functions/nodes *)
|
6
|
val parse: string -> string -> program_t
|
7
|
|
8
|
val check_compatibility: program_t * Types.t Env.t * Clocks.t Env.t ->
|
9
|
top_decl list * Types.t Env.t * Clocks.t Env.t -> unit
|
10
|
|
11
|
val update_vdecl_parents_prog: program_t -> unit
|
12
|
|
13
|
val expand_automata: program_t -> program_t
|
14
|
|
15
|
(* Process each node/imported node and introduce the associated contract node *)
|
16
|
val resolve_contracts: program_t -> program_t
|
17
|
|
18
|
val force_stateful_decls: program_t -> unit
|
19
|
|
20
|
val check_stateless_decls: program_t -> unit
|
21
|
|
22
|
val type_decls: Types.t Env.t -> program_t -> Types.t Env.t
|
23
|
|
24
|
val clock_decls: Clocks.t Env.t -> program_t -> Clocks.t Env.t
|
25
|
|
26
|
val create_dest_dir: unit -> unit
|