(** 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