RustStreamCodeGenerator
Handles the translation of stream related functions.
Attributes
- rustNonStreamCodeGenerator
A RustNonStreamCodeGenerator that handles non-stream related code.
- Graph
- Supertypes
Members list
Value members
Concrete methods
Produces code for a x = const(...) expression
Produces code for a x = const(...) expression
Attributes
- 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
- Definition Classes
Produces code for a x = count(...) expression
Produces code for a x = count(...) expression
Attributes
- 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
- Definition Classes
Produces code for a x = defaultFrom(...) expression
Produces code for a x = defaultFrom(...) expression
Attributes
- 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
- Definition Classes
Produces code for a x = default(...) expression
Produces code for a x = default(...) expression
Attributes
- 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
- Definition Classes
Produces code for a x = delay(...) expression
Produces code for a x = delay(...) expression
Attributes
- 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
- Definition Classes
Produces code for a x = filter(...) expression
Produces code for a x = filter(...) expression
Attributes
- 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
- Definition Classes
Produces code for a x = fold(...) expression
Produces code for a x = fold(...) expression
Attributes
- 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
- 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.
Attributes
- 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
Produces code for a x = last(...) expression
Produces code for a x = last(...) expression
Attributes
- 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
- Definition Classes
Produces code for a x = lift(...) expression
Produces code for a x = lift(...) expression
Attributes
- 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[...]
- Definition Classes
Produces code for a x = merge(...) expression
Produces code for a x = merge(...) expression
Attributes
- 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[...]
- Definition Classes
Produces code for a x = native:<name>(...) expression
Produces code for a x = native:<name>(...) expression
Attributes
- 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
- Definition Classes
Produces code for a x = nil expression
Produces code for a x = nil expression
Attributes
- 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[...]
- 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
Attributes
- 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[...]
Produces code for a x = pure(...) expression
Produces code for a x = pure(...) expression
Attributes
- 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
- Definition Classes
Produces code for a x = reduce(...) expression
Produces code for a x = reduce(...) expression
Attributes
- 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
- Definition Classes
Produces code for a x = slift(...) expression
Produces code for a x = slift(...) expression
Attributes
- 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[...]
- Definition Classes
Produces code for a x = time(...) expression
Produces code for a x = time(...) expression
Attributes
- 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
- Definition Classes
Produces code for a x = unitIf(...) expression
Produces code for a x = unitIf(...) expression
Attributes
- 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
- 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.
Attributes
- 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
- 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.
Attributes
- 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)
- Returns:
The modified source listing
- Inherited from:
- StreamCodeGeneratorInterface