Project

General

Profile

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