Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec / src / modules.mli @ 5fccce23

History | View | Annotate | Download (878 Bytes)

1
open Lustre_types
2
open Utils
3

    
4
(* This module is used to load lusic files when open(ing) modules in
5
   lustre/lusi sources *)
6

    
7
(* Load the provided program, either an actual program or a header lusi files:
8
   - reject program that define imported node
9
   - reject header that define lustre node
10
   - inject #include lus file into the program
11
   - loads #open lusic files
12
     - record the node name and check that they are uniquely defined
13
     - build the type/clock env from the imported nodes
14

    
15
   Returns an extended prog along with dependencies of #open and a type/clock base env. 
16
 *)
17
val load: is_header:bool -> program_t -> 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: program_t -> Typing.type_expr Env.t * Clocks.clock_expr Env.t
21