Module ast

Source
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§

CloseSpec
An Ast node representing the declaration of a close condition of a stream
Constant
An Ast node representing the declaration of a constant.
EvalSpec
An Ast node representing the evaluation condition and expression of a stream
Expression
The Ast representation of a stream expression
FunctionName
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.
LambdaExpr
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.
RtLolaAst
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.
SpawnSpec
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
TypeDeclField
An Ast node representing the declaration of a field of a user-defined type.
TypeDeclaration
An Ast node representing the declaration of a user-defined type.

Enums§

AnnotatedPacingType
Enum to indicate which annotated pacing type the stream has
BinOp
An Ast node representing a binary operator.
ExpressionKind
The Ast representation of a single expression
InstanceOperation
A subset of the window operations that are suitable to be performed over a set of instances.
InstanceSelection
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
OutputKind
The kind of an output stream Can be either a regular output stream with a name or a trigger
StreamAccessKind
Describes the operation used to access a stream
TimeUnit
Supported time unit for real time expressions
TypeKind
Ast representation of the value type of a stream
UnOp
An Ast node representing an unary operator.
WindowOperation
The Ast representation of the different aggregation functions