Packages

class ScalaBackend extends BackendInterface

BackendInterface implementation for the translation to Scala code

Linear Supertypes
BackendInterface, TranslationPhase[SourceListing, String], (SourceListing) => Result[String], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ScalaBackend
  2. BackendInterface
  3. TranslationPhase
  4. Function1
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ScalaBackend(ioInterface: Boolean, userIncludes: String = "")

    userIncludes

    Additional user-specific code which is included on top of the generated scala source. Can be used e.g. for additional includes

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def andThen[V](other: TranslationPhase[String, V]): TranslationPhase[SourceListing, V]
    Definition Classes
    TranslationPhase
  5. def andThen[A](g: (Result[String]) => A): (SourceListing) => A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  6. def apply(spec: SourceListing): Result[String]
    Definition Classes
    TranslationPhase → Function1
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. val chunkSize: Int
    Definition Classes
    ScalaBackendBackendInterface
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  10. def compose[A](g: (A) => SourceListing): (A) => Result[String]
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  13. def generateChunkCode(stmts: Seq[ImpLanStmt]): (String, String)

    Translates a sequence of IntermediateCode.ImpLanStmt to the corresponding code in the target language.

    Translates a sequence of IntermediateCode.ImpLanStmt to the corresponding code in the target language. In difference to generateCode it splits the statements into groups of size chunkSize and creates an own method for each of them.

    stmts

    The sequence of statements to be translated.

    returns

    Tuple with the chunk methods as first parameter and chunk method calls as second parameter.

    Definition Classes
    ScalaBackendBackendInterface
  14. def generateCode(stmts: Seq[ImpLanStmt]): String

    Translates a sequence of IntermediateCode.ImpLanStmt to the corresponding code in Scala.

    Translates a sequence of IntermediateCode.ImpLanStmt to the corresponding code in Scala.

    stmts

    The sequence of statements to be translated.

    returns

    The generated code in Scala

    Definition Classes
    ScalaBackendBackendInterface
  15. def generateVariableDeclarations(vars: Seq[(String, (ImpLanType, Option[ImpLanExpr], DeclarationType))]): Seq[String]

    Translates a map of variables with base information (type, default value, lazy assignment) to corresponding variable declarations in Scala.

    Translates a map of variables with base information (type, default value, lazy assignment) to corresponding variable declarations in Scala.

    vars

    Map of variables to be translated: Name -> (Type x Default value x Lazy assignment)

    returns

    Sequence of variable definitions in Scala

    Definition Classes
    ScalaBackendBackendInterface
  16. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  22. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  24. def translate(orgListing: SourceListing): Result[String]

    Function triggering the translation from a IntermediateCode.SourceListing to real-world source code as String.

    Function triggering the translation from a IntermediateCode.SourceListing to real-world source code as String. Therefore the sections of the IntermediateCode.SourceListing are translated to code and included at special places of the template code by replacing

    - //VARDEF by a section where all used variables are defined - //TRIGGER by the translation of tsGenSource - //STEP by the translation of stepSource - //TAIL by the translation of tailSource - //INPUTPROCESSING by the translation of inputProcessing - //STATIC by the translation of staticSource

    For more details on the requirements of the template see the markdown documents in doc

    orgListing

    The source listing to be translated

    returns

    The source code of the generated monitor program

    Definition Classes
    BackendInterface → TranslationPhase
  25. var variables: Seq[(String, (ImpLanType, Option[ImpLanExpr], DeclarationType))]
    Attributes
    protected
    Definition Classes
    BackendInterface
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from BackendInterface

Inherited from TranslationPhase[SourceListing, String]

Inherited from (SourceListing) => Result[String]

Inherited from AnyRef

Inherited from Any

Ungrouped