org.kiama.example.obr

RISCTransformer

class RISCTransformer extends AnyRef

Module implementing transformation from Obr to RISC tree code.

Source
RISCTransformer.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. RISCTransformer
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new RISCTransformer(analyser: SemanticAnalyser)

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def cblock(clause: Catch, exitlab: Label): Seq[Item]

    Translate a catch block into RISC machine code.

    Translate a catch block into RISC machine code. Each one simply translates to a test of the value of the current exception followed by code which executed if that test succeeds.

  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. val code: (ObrInt) ⇒ RISCProg

    The RISC machine program that is the translation of the given Obr language program, comprising the translation of the program's declarations and statements.

    The RISC machine program that is the translation of the given Obr language program, comprising the translation of the program's declarations and statements. The bodies need to be computed first so that the memory size is fully computed before we generate the RISC node.

  10. val datum: (Expression) ⇒ Datum

    The RISC machine datum that is the translation of the given Obr language expression.

  11. val ditems: (Declaration) ⇒ Seq[Item]

    The RISC tree items that are the translation of the given Obr language declaration.

  12. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  14. val exitlab: attribution.Attribution.CachedAttribute[ObrTree, Label]

    The current label to which an EXIT statement should jump when used at the given context.

  15. val exnlab: attribution.Attribution.CachedAttribute[ObrTree, Label]

    The label marking the entry point to the currently active error handler (CATCH block).

    The label marking the entry point to the currently active error handler (CATCH block). Defaults to a global handler outside of all TRY...CATCH blocks

    Notice that since this version of Obr has no procedures, the currently active exception handler can be determined completely statically.

  16. val exnlabOuter: (ObrTree) ⇒ Label

    The exception label for the context outside the current Try statement.

    The exception label for the context outside the current Try statement. Only valid when used inside a Try statement.

  17. val exnloc: Address

    A location reserved for storing the exception value associated with a raised exception.

  18. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  19. def genlabel(): Label

    Generate a brand new target label.

    Generate a brand new target label. Shares counter with the encoding phase so that labels are unique.

  20. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  21. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  22. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  23. def location(n: EntityTree): Address

    Return the address for the location of the entity represented by a given node.

  24. def locn(e: Entity): Int

    Get the location of an entity.

    Get the location of an entity. Only valid for variables, but defined on all entities.

  25. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  26. final def notify(): Unit

    Definition Classes
    AnyRef
  27. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  28. val sitems: (Statement) ⇒ Seq[Item]

    The RISC tree items that are the translation of the given Obr language statement.

  29. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  30. val tempintloc: Address

    A location reserved for storing temporary integer values while they are checked for possible division by zero or index out of bounds errors.

  31. def toString(): String

    Definition Classes
    AnyRef → Any
  32. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped