package lustre-v6

  1. Overview
  2. Docs
type t

This module (used to be called lazyCompiler) define an data structure made of tables storing lic 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.

val create : AstTab.t -> t

Create a lazy compiler.

exception Recursion_error of Lv6Id.long * string list
val compile_node : t -> Lv6Id.idref -> t

Compiles one node (and update internal tables)

val compile_all : t -> t

compile all items (and update internal tables)

val to_lic_prg : t -> LicPrg.t

Just a simple change of data structure (from imperative tables to functional maps)