Module rtlola_hir::hir [−][src]
Expand description
This module covers the High-Level Intermediate Representation (HIR) of an RTLola specification.
The RtLolaHir is specifically designed to allow for convenient manipulation and analysis. Hence, it is perfect for working on the specification rather than work with it.
Most Notable Structs and Enums
- RtLolaMir is the root data structure representing the specification.
- Output represents a single output stream. The data structure is enriched with information regarding streams accessing it or accessed by it and much more. For input streams confer Input.
- StreamReference used for referencing streams within the Mir.
- Expression represents an expression. It contains its ExpressionKind and its type. The latter contains all information specific to a certain kind of expression such as sub-expressions of operators.
See Also
- rtlola_frontend for an overview regarding different representations.
- from_ast / fully_analyzed to obtain an RtLolaHir for a specification in form of an Ast.
- RtLolaHir for a data structs designed for working _on_it.
- RtLolaAst, which is the most basic and down-to-syntax data structure available for RTLola.
Structs
Represents the first stage in the RtLolaHir(crate::RtLolaHir)
Represents the final mode.
The external definition of the stream pacing.
Represents the mode after the dependency analysis
Represents a discrete window aggregation
Representation of the Id of an Expression
Representation of an expression in the RtLolaHir.
Representation of an function call The struction contains all information for a function call in the ExpressionKind enum.
Represents the name of a function including its arguments.
Represents inlined constant values from constant streams
Represents an input stream in an RTLola specification.
Represents a layer indicating the position when an expression can be evaluated
Represents the mode after the memory analysis
Represents the mode after determining the evaluation order
Represents an output stream in an RTLola specification.
Represents a single parameter of a parametrized output stream.
This struct constitutes the Mid-Level Intermediate Representation (MIR) of an RTLola specification.
Represents a sliding window aggregation
Wrapper to collect the layer when a stream instance is spawned and evaluated
The external definition of the stream type.
Represents a trigger of an RTLola specification.
Representation of the function call to widen the type of an Expression
Represents an instance of a sliding or a discrete window aggregation
Enums
The activation condition describes when an event-based stream produces a new value.
Contains all arithmetical and logical operations.
The external definition of a pacing type.
The external definition for a value type.
Represents a constant in the ExpressionKind enum of the RtLolaHir.
Represents the error of the dependency analysis
Represents the weights of the edges in the dependency graph
The kinds of an Expression of the RtLolaHir.
Represents a constant value of a certain kind.
This enum indicates how much memory is required to store a stream.
Offset used in the lookup expression
Representation of the different stream accesses
Allows for referencing a stream within the specification.
A TransformationErr describes the kind off error raised during the Ast to Hir conversion.
Allows for referencing a window instance.
Traits
Describes the functionality of a mode after analyzing the dependencies
Defines the functionality to progress one mode to the next one
Describes the functionality of a mode after computing the memory bounds
Describes the functionality of a mode after computing the evaluation order
Describes the functionality of a mode after checking and inferring types
Functionality of sliding window and discrete window aggregations
Type Definitions
Represents the Dependency Graph
Allows for referencing an input stream within the specification.
Allows for referencing an output stream within the specification.
The Hir Spawn definition is composed of two optional expressions. The first one refers to the spawn target while the second one represents the spawn condition.