RustStreamCodeGenerator
Handles the translation of stream related functions.
Value parameters
- rustNonStreamCodeGenerator
-
A RustNonStreamCodeGenerator that handles non-stream related code.
Attributes
- Graph
-
- Supertypes
Members list
Value members
Concrete methods
Produces code for a x = const(...) expression
Produces code for a x = const(...) expression
Value parameters
- currSrc
-
The source listing the generated block is added to.
- output_id
-
The id const is assigned to
- output_type
-
Type of the output stream
- trigger_expr
-
Argument expression for triggering stream
- value_expr
-
Argument expressions for const value
Attributes
- Definition Classes
Produces code for a x = count(...) expression
Produces code for a x = count(...) expression
Value parameters
- count_stream_expr
-
Expression of the stream to be counted
- currSrc
-
The source listing the generated block is added to.
- output_id
-
The id count is assigned to
Attributes
- Definition Classes
Produces code for a x = defaultFrom(...) expression
Produces code for a x = defaultFrom(...) expression
Value parameters
- currSrc
-
The source listing the generated block is added to.
- default_expr
-
The stream parameter of the defaultFrom
- output_id
-
The id defaultFrom is assigned to
- output_type
-
The type of id. Must be Events[...]
- stream_expr
-
The stream parameter of the defaultFrom
Attributes
- Definition Classes
Produces code for a x = default(...) expression
Produces code for a x = default(...) expression
Value parameters
- currSrc
-
The source listing the generated block is added to.
- default_expr
-
The default parameter of the default
- output_id
-
The id default is assigned to
- output_type
-
The type of id. Must be Events[...]
- stream_expr
-
The stream parameter of the default
Attributes
- Definition Classes
Produces code for a x = delay(...) expression
Produces code for a x = delay(...) expression
Value parameters
- currSrc
-
The source listing the generated block is added to.
- delay_expr
-
The delay-stream parameter of the delay
- output_id
-
The id delay is assigned to
- reset_expr
-
The reset-stream parameter of the delay
Attributes
- Definition Classes
Produces code for a x = filter(...) expression
Produces code for a x = filter(...) expression
Value parameters
- condition_expr
-
Argument expressions for filter condition stream
- currSrc
-
The source listing the generated block is added to.
- output_id
-
The id filter is assigned to
- output_type
-
Type of the output stream
- value_expr
-
Argument expressions for filter value stream
Attributes
- Definition Classes
Produces code for a x = fold(...) expression
Produces code for a x = fold(...) expression
Value parameters
- currSrc
-
The source listing the generated block is added to.
- function_expr
-
Expression of the function used for folding
- init_expr
-
Expression of the initial value for the folding
- output_id
-
The id fold is assigned to
- output_type
-
Type of the output stream
- stream_expr
-
Expression of the stream to be folded
Attributes
- Definition Classes
Attributes
- Definition Classes
Produces code reading the input (variable inputStream and value) and storing it.
Produces code reading the input (variable inputStream and value) and storing it.
Value parameters
- srcSegments
-
The source segments the generated block is added to. There is code attached to the input, and output section.
- stream_id
-
The input stream to be handled
- stream_type
-
This is the original name of the stream from the tessla spec
Attributes
Produces code for a x = last(...) expression
Produces code for a x = last(...) expression
Value parameters
- currSrc
-
The source listing the generated block is added to.
- output_id
-
The id last is assigned to
- output_type
-
The type of id. Must be Events[...]
- trigger_expr
-
The trigger/clock-stream parameter of the last
- values_expr
-
The value-stream parameter of the last
Attributes
- Definition Classes
Produces code for a x = lift(...) expression
Produces code for a x = lift(...) expression
Value parameters
- argument_exprs
-
The arguments of the lift except the last one (function)
- currSrc
-
The source listing the generated block is added to.
- function_expr
-
The lifted function
- output_id
-
The id lift is assigned to
- output_type
-
The type of id. Must be Events[...]
Attributes
- Definition Classes
Produces code for a x = merge(...) expression
Produces code for a x = merge(...) expression
Value parameters
- argument_exprs
-
The stream expressions to be merged
- currSrc
-
The source listing the generated block is added to.
- output_id
-
The id merge is assigned to
- output_type
-
The type of id. Must be Events[...]
Attributes
- Definition Classes
Produces code for a x = native:<name>(...) expression
Produces code for a x = native:<name>(...) expression
Value parameters
- argument_exprs
-
The arguments passed to e
- argument_types
-
The type arguments passed to e
- currSource
-
The source listing where the generated code is attached to.
- name
-
The function name which is applied with args and typeArgs and then assigned
- output_id
-
The id which is assigned (must be of stream type)
- output_type
-
The Type of the output stream
Attributes
- Definition Classes
Produces code for a x = nil expression
Produces code for a x = nil expression
Value parameters
- currSrc
-
The source listing the generated block is added to.
- output_id
-
The id nil is assigned to
- output_type
-
The type of id. Must be Events[...]
Attributes
- Definition Classes
Add code for output generation to the source segments. The output gets value, error, timestamp passed and if the printing format is raw (i.e. only value, not the current timestamp) and has to be translated accordingly in the final code generation
Add code for output generation to the source segments. The output gets value, error, timestamp passed and if the printing format is raw (i.e. only value, not the current timestamp) and has to be translated accordingly in the final code generation
Value parameters
- id
-
The id of the stream to be printed
- name
-
The alias name of id for printing.
- raw
-
If the output should be printed raw (without timestamp). Is passed to [TC]output.
- srcSegments
-
The source segments the generated block is added to. There is code attached to the output segment.
- typ
-
id's type. Must be Events[...]
Attributes
Produces code for a x = pure(...) expression
Produces code for a x = pure(...) expression
Value parameters
- currSrc
-
The source listing the generated block is added to.
- output_id
-
The id pure is assigned to
- output_type
-
Type of the output stream
- stream_expr
-
Stream to be filtered
Attributes
- Definition Classes
Produces code for a x = reduce(...) expression
Produces code for a x = reduce(...) expression
Value parameters
- currSrc
-
The source listing the generated block is added to.
- function_expr
-
Expression of the function used for reducing
- output_id
-
The id reduce is assigned to
- output_type
-
Type of the output stream
- stream_expr
-
Expression of the stream to be reduced
Attributes
- Definition Classes
Produces code for a x = slift(...) expression
Produces code for a x = slift(...) expression
Value parameters
- argument_exprs
-
The arguments of the lift except the last one (function)
- currSrc
-
The source listing the generated block is added to.
- function_expr
-
The lifted function
- output_id
-
The id slift is assigned to
- output_type
-
The type of id. Must be Events[...]
Attributes
- Definition Classes
Produces code for a x = time(...) expression
Produces code for a x = time(...) expression
Value parameters
- currSrc
-
The source listing the generated block is added to.
- output_id
-
The id time is assigned to
- stream_expr
-
The base-stream parameter of the time
Attributes
- Definition Classes
Produces code for a x = unitIf(...) expression
Produces code for a x = unitIf(...) expression
Value parameters
- condition_expr
-
Expression of the stream with the condition for unitIf
- currSrc
-
The source listing the generated block is added to.
- output_id
-
The id unitIf is assigned to
Attributes
- Definition Classes
Inherited methods
Attributes
- Inherited from:
- StreamCodeGeneratorInterface
Translates an assignment to a stream variable to the corresponding ImpLan Code and attaches it in a given source listing. The assigned expression has to be (and is always in TeSSLa Core) an application.
Translates an assignment to a stream variable to the corresponding ImpLan Code and attaches it in a given source listing. The assigned expression has to be (and is always in TeSSLa Core) an application.
Value parameters
- args
-
The arguments passed to e
- currSource
-
The source listing where the generated code is attached to. It is attached to the stepSource section of the source listing.
- e
-
The expression which is applicated with args and typeArgs and then assigned
- id
-
The id which is assigned (must be of stream type)
- typeArgs
-
The type arguments passed to e
Attributes
- Returns
-
The modified source listing
- Inherited from:
- StreamCodeGeneratorInterface
Translates a definition expression, which is always an assignment of an external signal application to a stream variable and attaches it in a given source collection.
Translates a definition expression, which is always an assignment of an external signal application to a stream variable and attaches it in a given source collection.
Value parameters
- currSrc
-
The source listing where the generated code is attached to.
- definitions
-
The map with all definition expressions
- expression
-
The application expression
- id
-
The id which is assigned (must be of stream type)
Attributes
- Returns
-
The modified source listing
- Inherited from:
- StreamCodeGeneratorInterface