[][src]Module rtlola_frontend::ast

This module contains the AST data structures for the RTLola Language.

Every node in the abstract syntax tree is assigned a unique id and stores the matching span in the specification.

Structs

ActivationCondition

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

Constant

An AST node representing the declaration of a constant.

Expression

The AST representation of a stream expression inspired by https://doc.rust-lang.org/nightly/nightly-rustc/src/syntax/ast.rs.html

ExtendSpec

An AST node representing the declaration of an extend condition of a parametrized stream

FunctionName

An AST node representing the name of a called function and also the names of the arguments.

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.

InvokeSpec

An AST node representing the declaration of an invoke condition of a parametrized stream

Literal

An AST node representing the declaration of a literal

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, the span in the input specification file, and declaration specific components.

TemplateSpec

An AST node representing the declaration of a template of a parametrized stream.

TerminateSpec

An AST node representing the declaration of a termination condition of a parametrized stream

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