NonStreamCodeGeneratorInterface
Class for the translation of TeSSLa expressions of non-stream type
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class NonStreamCodeGenerator
Members list
Value members
Abstract methods
Translates an assignment from TeSSLa Core into the target representation
Translates an assignment from TeSSLa Core into the target representation
Value parameters
- defContext
-
Definition context depicting all var names in the current scope to their definition expression
- e
-
The expression assigned to id
- id
-
The id which is assigned
- tm
-
The TypeArgManagement to resolve type parameters
Attributes
- Returns
-
The translated assignment
Translates a block of statements with return expression (i.e. the body of a lambda) to statements
Translates a block of statements with return expression (i.e. the body of a lambda) to statements
Value parameters
- body
-
The sequence of statements to be translated
- defContext
-
Definition context depicting all var names in the current scope to their definition expression
- ret
-
The return expression of the block
- tm
-
The TypeArgManagement to resolve type parameters
Attributes
- Returns
-
The translated block. Contains a IntermediateCode.ReturnStatement at the end
Translates an ExpressionOrRef to a corresponding expression
Translates an ExpressionOrRef to a corresponding expression
Value parameters
- defContext
-
Definition context depicting all var names in the current scope to their definition expression
- e
-
The expression to be translated
- tm
-
The TypeArgManagement to resolve type parameters
Attributes
- Returns
-
The translated expression
Value parameters
- defContext
-
Definition context depicting all var names in the current scope to their definition expression
- e
-
Translates an ExternExpression. If the extern is of function type a lambda expression is wrapped around it. If the extern is directly applied this lambda is most likely unnecessary and this function should not be used for translation of the called extern.
- tm
-
The TypeArgManagement to resolve type parameters
Attributes
- Returns
-
The translated expression
Translates a TeSSLa Core FunctionExpression to an expression
Translates a TeSSLa Core FunctionExpression to an expression
Value parameters
- defContext
-
Definition context depicting all var names in the current scope to their definition expression
- e
-
The function to be translated
- tm
-
The TypeArgManagement to resolve type parameters
Attributes
- Returns
-
The translated function expression
Translates a function application to the target representation
Translates a function application to the target representation
Value parameters
- args
-
The argument expressions of the application
- defContext
-
Definition context depicting all var names in the current scope to their definition expression
- e
-
The function expression which is applied
- tm
-
The TypeArgManagement to resolve type parameters
Attributes
- Returns
-
The translated function application
Concrete methods
Checks whether a given expression only uses identifiers from definedIdentifiers, i.e. those already defined
Checks whether a given expression only uses identifiers from definedIdentifiers, i.e. those already defined
Value parameters
- e
-
Expression to be examined
Attributes
- Returns
-
Whether all subexpressions are already defined and and the expression can hence be evaluated
Inlines all references in a function application's parameters according to inlining information from ExtendedSpecification
Inlines all references in a function application's parameters according to inlining information from ExtendedSpecification
Value parameters
- args
-
The arguments applied to e
- defContext
-
Definition context depicting all var names in the current scope to their definition expression
Attributes
- Returns
-
The modified parameter expressions
Inlines all ExpressionRef (variable references) to variables in the inlining set of the ExtendedSpecification in a DefinitionExpression except those of function type
Inlines all ExpressionRef (variable references) to variables in the inlining set of the ExtendedSpecification in a DefinitionExpression except those of function type
Value parameters
- defContext
-
Definition context depicting all var names in the current scope to their definition expression
- e
-
The expression where variable references should be inlined
Attributes
- Returns
-
The modified expression
Applies inlineVars on all statements in body
Applies inlineVars on all statements in body
Value parameters
- body
-
Sequence of statements where inlineVars is applied on
- defContext
-
Definition context depicting all var names in the current scope to their definition expression
Attributes
- Returns
-
The modified body
Inlines all ExpressionRef (variable references) to variables in the inlining set of the ExtendedSpecification in an ExpressionOrRef except those of function type
Inlines all ExpressionRef (variable references) to variables in the inlining set of the ExtendedSpecification in an ExpressionOrRef except those of function type
Value parameters
- defContext
-
Definition context depicting all var names in the current scope to their definition expression
- e
-
The expression where variable references should be inlined
Attributes
- Returns
-
The modified expression
Concrete fields
Set of identifiers which are assigned with final assignments. If an assignment uses exclusively existing assignments it can also be finally assigned Otherwise (in case of recursion) it must be assigned with a dummy default value first
Set of identifiers which are assigned with final assignments. If an assignment uses exclusively existing assignments it can also be finally assigned Otherwise (in case of recursion) it must be assigned with a dummy default value first