de.uni_luebeck.isp.tessla.tessla_compiler
Members list
Type members
Classlikes
Trait representing the internal states of IntermediateCodeUtils
This object was generated by sbt-buildinfo.
This object was generated by sbt-buildinfo.
Attributes
- Graph
- Supertypes
- trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
- Self type
- BuildInfo.type
Object for providing an IncludeResolver (see IncludeResolvers) that enables overwriting stdlib parts in a compiler-specific way.
Object for providing an IncludeResolver (see IncludeResolvers) that enables overwriting stdlib parts in a compiler-specific way.
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
Class for calculating a topological sorting on the assignments inside functions and specifications so they can be translated to imperative code
Class for calculating a topological sorting on the assignments inside functions and specifications so they can be translated to imperative code
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- DefinitionOrdering.type
Class containing errors complementing the core errors and additional compiler related warnings
Class containing errors complementing the core errors and additional compiler related warnings
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- Diagnostics.type
TeSSLa Core AST with additional information from the preprocessing
TeSSLa Core AST with additional information from the preprocessing
Attributes
- inlining
Set of all variables which are not translated as variables but inlined (must be final variables)
- lazyVars
Set of all variables that shall be translated with lazy assignments
- spec
The TeSSLa Core AST
- usageInfo
Map indication which Identifier is used in the definitions of other identifiers
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
Attributes
- Graph
- Supertypes
- trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait BlockStateclass Objecttrait Matchableclass Any
- Self type
- InCatch.type
Attributes
- Graph
- Supertypes
- trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait BlockStateclass Objecttrait Matchableclass Any
- Self type
- InElse.type
Attributes
- Graph
- Supertypes
- trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait BlockStateclass Objecttrait Matchableclass Any
- Self type
- InIf.type
Attributes
- Graph
- Supertypes
- trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait BlockStateclass Objecttrait Matchableclass Any
- Self type
- InTry.type
Class containing subclasses for the representation of abstract imperative code which can afterwards be transduced into Scala/Java/Rust/... code
Class containing subclasses for the representation of abstract imperative code which can afterwards be transduced into Scala/Java/Rust/... code
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- IntermediateCode.type
Class containing code for determining the type of ImpLan expressions and adding casts. Does not perform type checking in any way. Hence this class should only be used for code which is known to be type correct.
Class containing code for determining the type of ImpLan expressions and adding casts. Does not perform type checking in any way. Hence this class should only be used for code which is known to be type correct.
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
Class containing a DSL for easy creation of ImpLanStmt-Blocks and other useful static methods for dealing ImpLan and the translation from TeSSLa
Class containing a DSL for easy creation of ImpLanStmt-Blocks and other useful static methods for dealing ImpLan and the translation from TeSSLa
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
DSL-Style state class for easy generation of ImpLan code. Functions of this class can be called iteratively to produce ImpLan step by step.
DSL-Style state class for easy generation of ImpLan code. Functions of this class can be called iteratively to produce ImpLan step by step.
Attributes
- blockState
Stack keeping track of unclosed ifs/try-catchs
- condStack
Stack of conditions of if blocks which are not closed yet
- elseCatchStack
Stack of statements in Else/Catch blocks which are not closed yet
- ifTryStack
Stack of statements in If/Try blocks which are not closed yet
- stmts
Sequence of already generated statements
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Class for the translation of TeSSLa expressions of non-stream type
Class for the translation of TeSSLa expressions of non-stream type
Attributes
- Graph
- Supertypes
Class for the translation of TeSSLa expressions of non-stream type
Class for the translation of TeSSLa expressions of non-stream type
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- class NonStreamCodeGenerator
Attributes
- Graph
- Supertypes
- trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait BlockStateclass Objecttrait Matchableclass Any
- Self type
- Out.type
Class containing functions for the translation of single TeSSLa stream expressions to imperative code
Class containing functions for the translation of single TeSSLa stream expressions to imperative code
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Abstract base class for the translation of stream code
Abstract base class for the translation of stream code
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- class StreamCodeGeneratorclass RustStreamCodeGenerator
Class for managing type arguments
Class for managing type arguments
Attributes
- resMap
Map representing depiction from type arg names to types
- unappliedArgs
Types where type application has already been processed but not the expression where the types are applied to
- Companion:
- object
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
Attributes
- Companion:
- class
- Graph
- Supertypes
- trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
- TypeArgManagement.type
Value members
Concrete methods
Class implementing TranslationPhase for the translation from TeSSLa Core to abstract imperative code The translation of stream functions is performed in StreamCodeGenerator The translation of other expressions in NonStreamCodeGenerator
Class implementing TranslationPhase for the translation from TeSSLa Core to abstract imperative code The translation of stream functions is performed in StreamCodeGenerator The translation of other expressions in NonStreamCodeGenerator
Attributes
- ioInterface
Indicates whether the generated code shall be able to read/write from/to stdio
Concrete fields
This class is used for removing unused variable declarations from the code. Therefore it first creates a map indicating which variable is used where and afterwards removes all variables which are not used in any expression. This phase is especially important since it also removes variables which are not used anymore since their usage was inlined due to lazy usage. Not removing them would probably cause errors because the evaluation of the expression is not possible.
This class is used for removing unused variable declarations from the code. Therefore it first creates a map indicating which variable is used where and afterwards removes all variables which are not used in any expression. This phase is especially important since it also removes variables which are not used anymore since their usage was inlined due to lazy usage. Not removing them would probably cause errors because the evaluation of the expression is not possible.
Attributes
- extSource
The input source listing and a set of variables which are not removed even if they are unused
- Returns:
A source listing without unused variables