Expand description
This module contains the RtLolaAst data structures for the RTLola Language.
Every node in the abstract syntax tree is assigned a unique id and has a span referencing the node’s location in the specification.
Structs§
- Close
Spec - An Ast node representing the declaration of a close condition of a stream
- Constant
- An Ast node representing the declaration of a constant.
- Eval
Spec - An Ast node representing the evaluation condition and expression of a stream
- Expression
- The Ast representation of a stream expression
- Function
Name - An Ast node representing the name of a called function and also the names of the arguments.
- Ident
- This struct represents an identifier in the specification. For example the name of an Output or Input.
- Import
- An Ast node representing the import of a module, which brings additional implemented functionality to a specification. The ‘math’ module, for example, adds pre-defined mathematical functions as the sine or cosine function.
- Input
- An Ast node representing the declaration of an input stream.
- Lambda
Expr - Struct to represent a lambda expression in the specification Can currently only occur inside instance aggregation conditions
- Literal
- An Ast node representing the declaration of a literal
- Mirror
- Represents an output stream that mirrors another but filters them.
- NodeId
- Every node in the Ast gets a unique id, represented by a 32bit unsigned integer. They are used in the later analysis phases to store information about Ast nodes. The actual unique id.
- Output
- An Ast node representing the declaration of an output stream.
- Parameter
- An Ast node representing the declaration of a parameter of a parametrized stream.
- RtLola
Ast - The root of a RTLola specification, consisting of stream and trigger declarations. Each declaration contains the id of the Ast node, a span, and declaration-specific components.
- Spawn
Spec - An Ast node representing the declaration of a spawn condition and expression of a stream.
- Tag
- An annotation of a stream.
- Type
- An Ast node representing the declaration of a value type
- Type
Decl Field - An Ast node representing the declaration of a field of a user-defined type.
- Type
Declaration - An Ast node representing the declaration of a user-defined type.
Enums§
- Annotated
Pacing Type - Enum to indicate which annotated pacing type the stream has
- BinOp
- An Ast node representing a binary operator.
- Expression
Kind - The Ast representation of a single expression
- Instance
Operation - A subset of the window operations that are suitable to be performed over a set of instances.
- Instance
Selection - Enum to indicate which instances are part of the aggregation
- LitKind
- The Ast representation of literals
- Offset
- Describes the operation used to access a stream with a offset
- Output
Kind - The kind of an output stream Can be either a regular output stream with a name or a trigger
- Stream
Access Kind - Describes the operation used to access a stream
- Time
Unit - Supported time unit for real time expressions
- Type
Kind - Ast representation of the value type of a stream
- UnOp
- An Ast node representing an unary operator.
- Window
Operation - The Ast representation of the different aggregation functions