1
|
open Lustre_types
|
2
|
|
3
|
(* This module is used to load lusic files when open(ing) modules in lustre/lusi
|
4
|
sources *)
|
5
|
|
6
|
(* Load the provided program, either an actual program or a header lusi files: -
|
7
|
reject program that define imported node - reject header that define lustre
|
8
|
node - inject #include lus file into the program - loads #open lusic files -
|
9
|
record the node name and check that they are uniquely defined - build the
|
10
|
type/clock env from the imported nodes
|
11
|
|
12
|
Returns an extended prog along with dependencies of #open and a type/clock
|
13
|
base env. *)
|
14
|
val load :
|
15
|
is_header:bool ->
|
16
|
program_t ->
|
17
|
program_t * dep_t list * (Typing.type_expr Env.t * Clocks.clock_expr Env.t)
|
18
|
|
19
|
(* Returns an updated env with the type/clock declaration of the program *)
|
20
|
val get_envs_from_top_decls :
|
21
|
program_t -> Typing.type_expr Env.t * Clocks.clock_expr Env.t
|