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
tofloat
. (pure) - Conditional on
Nillable
s. (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)