Module rtlola_parser::ast[][src]

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

ActivationCondition

An Ast node representing the declaration of a activation condition of a stream.

CloseSpec

An Ast node representing the declaration of a close condition of a stream template

Constant

An Ast node representing the declaration of a constant.

Expression

The Ast representation of a stream expression

FilterSpec

An Ast node representing the declaration of a filter condition of a stream template

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.

Literal

An Ast node representing the declaration of a literal

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.

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.

Parenthesis

An Ast node representing an opening or closing parenthesis.

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 of a stream template.

Trigger

An Ast node representing the declaration of a trigger

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

BinOp

An Ast node representing a binary operator.

ExpressionKind

The Ast representation of a single expression

LitKind

The Ast representation of literals

Offset

Describes the operation used to access a stream with a offset

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