Module LustreDesugarFrameBlocks

This file desugars frame blocks into a list of node items (equations), completing two major steps: 1. Fill in any oracles within the frame block (for unguarded pres or undefined variables in if blocks). 2. Generate node equations for variables left completely undefined in frame blocks.

module A = LustreAst
type error_kind =
  1. | MisplacedNodeItemError of A.node_item
  2. | MisplacedFrameBlockError of A.node_item
val error_message : error_kind -> string
type error = [
  1. | `LustreDesugarFrameBlocksError of Lib.position * error_kind
]
type warning_kind =
  1. | UninitializedVariableWarning of HString.t
type warning = [
  1. | `LustreDesugarFrameBlocksWarning of Lib.position * warning_kind
]
val warning_message : warning_kind -> string
val error_if_lus_strict : warning_kind -> bool
type eq_or_framecond =
  1. | Eq of A.eq_lhs
  2. | FCond of A.eq_lhs
val pos_list_map : (Lib.position * eq_or_framecond) list NodeId.Hashtbl.t
val desugar_frame_blocks : A.declaration list -> (A.declaration list * [> warning ] list, [> error ]) Stdlib.result