Crate chandeliers_sem

source ·
Expand description

Tools for defining the semantics of Lustre.

Modules

  • Syntax and semantics of the Candle language.
  • The macros that define the semantics of Candle by translating it to Rust.
  • Possibly uninitialized values.
  • Stateful expressions
  • Some traits to make error messages of Candle less obscure.
  • Fixed-size streams of values.
  • Stream traits.

Macros

  • Identity assertion.
  • Application of a binary operator. (pure)
  • Comparison operators on Nillable. (pure)
  • Convert from int to float. (pure)
  • Conditional on Nillables. (pure)
  • Read the inputs of the node and immediately return if the implicit clock is inactive, i.e. if the first element of the arguments is nil.
  • The -> Lustre operator. (pure)
  • Wrap a value as a Nillable. (pure)
  • Merge two streams (equivalent to ifx) (pure)
  • The uninitialized value. (pure)
  • Conditional debug printing. (pure)
  • Invocation of subnodes. [side-effects: only call once for each node id]
  • Increment the internal clock. [side-effects: only call once at the end]
  • Assert that a boolean holds. (statement)
  • Convert a Candle type into its internal Rust representation.
  • Application of a unary operator. (pure)
  • Remember a variable for the next iteration.
  • Fetch a variable from the environment. (pure)
  • Select only when the guard is true. (pure)
  • Select only when the guard is true. (pure)