-
Pascal Raymond authoredPascal Raymond authored
lazyCompiler.mli 663 B
(** Time-stamp: <modified the 23/01/2009 (at 09:23) by Erwan Jahier> *)
(** nb: compiling = type checking + constant evaluation *)
(** A lazy compiler is an internal structure that contains tables
storing compiled entities (types, const, node). At the beginning
(on creation), it only contains empty tables. But then, one when
ask for a type, a const, or a node, the tables are filled in.
*)
type t
(* Create a lazy compiler. *)
val create : SyntaxTab.t -> t
(** Compiles one node *)
val compile_node : t -> Ident.idref -> LicPrg.t
exception Recursion_error of Ident.long * string list
(* compile all items *)
val compile_all : t -> LicPrg.t