org.kiama.example.obr

SPARCTree

object SPARCTree

Module containing structures for representing SPARC machine programs.

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

Type Members

  1. case class AddW(l: Datum, r: Datum) extends Datum with Product with Serializable

    Add two word values and return the sum l + r.

  2. sealed abstract class Address extends AnyRef

    Memory addresses that can be stored to or loaded from.

  3. case class Beq(cond: Datum, dest: Label) extends Item with Product with Serializable

    Branch to the given label if the value of the given datum is equal to zero.

  4. case class Bne(cond: Datum, dest: Label) extends Item with Product with Serializable

    Branch to the given label if the value of the given datum is not equal to zero.

  5. case class CmpeqW(l: Datum, r: Datum) extends Datum with Product with Serializable

    Compare two word values for equality and return 1 if they are equal and 0 if they are not.

  6. case class CmpgtW(l: Datum, r: Datum) extends Datum with Product with Serializable

    Compare two word values and return 1 if the left operand is greater then the right operands, otherwise return 0.

  7. case class CmpltW(l: Datum, r: Datum) extends Datum with Product with Serializable

    Compare two word values and return 1 if the left operand is less then the right operands, otherwise return 0.

  8. case class CmpneW(l: Datum, r: Datum) extends Datum with Product with Serializable

    Compare two word values for inequality and return 1 if they are equal and 0 if they are not.

  9. case class Cond(cond: Datum, t: Datum, f: Datum) extends Datum with Product with Serializable

    Evaluate cond and if the value is true (non-zero) return the value of t, else return the value of f.

  10. sealed abstract class Datum extends SPARCNode

    Superclass of all datum constructs, ie target constructs that return a value to their enclosing construct.

  11. case class DivW(l: Datum, r: Datum) extends Datum with Product with Serializable

    Divide two word values and return the dividend from l / r.

  12. case class Indexed(base: Local, offset: Datum) extends Address with Product with Serializable

    An address that is calculated by a indexing from the local address addr.

  13. case class IntDatum(num: Int) extends Datum with Product with Serializable

    Return the given integer value.

  14. sealed abstract class Item extends SPARCNode

    Superclass of all item constructs, ie.

  15. case class Jmp(dest: Label) extends Item with Product with Serializable

    Jump unconditionally to the given label.

  16. case class Label(num: Int) extends Product with Serializable

    Labels represent a code position.

  17. case class LabelDef(lab: Label) extends Item with Product with Serializable

    Define the given at this point in the item sequence.

  18. case class LdW(mem: Address) extends Datum with Product with Serializable

    Load a value from memory address given by mem.

  19. case class Local(offset: Int) extends Address with Product with Serializable

    An address that is calculated by an known integer offset from the start of the local memory block.

  20. case class MulW(l: Datum, r: Datum) extends Datum with Product with Serializable

    Multiple two word values and return l * r.

  21. case class NegW(d: Datum) extends Datum with Product with Serializable

    Negate a word value and return the negation of e.

  22. case class Not(d: Datum) extends Datum with Product with Serializable

    Complement a Boolean value.

  23. case class Read(mem: Address) extends Item with Product with Serializable

    Read an integer value from standard input and store it in the memory location given by mem.

  24. case class RemW(l: Datum, r: Datum) extends Datum with Product with Serializable

    Divide two word values and return the remainder from l / r.

  25. case class SPARC(insns: List[Item], memsize: Int) extends SPARCNode with Product with Serializable

    A stack program consisting of the given statements.

  26. sealed abstract class SPARCNode extends Attributable

    Superclass of all SPARC tree nodes.

  27. case class StW(mem: Address, d: Datum) extends Item with Product with Serializable

    Evaluate d and store its value in the memory location given by mem.

  28. case class SubW(l: Datum, r: Datum) extends Datum with Product with Serializable

    Subtract two word values and return the difference l - r.

  29. case class Write(d: Datum) extends Item with Product with Serializable

    Calculate and write out the value of the given datum to standard output.

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. object Ret extends Item with Product with Serializable

    Cause the program to terminate.

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  9. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit

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

    Generate a unique label.

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

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

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

    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  19. def reset(): Unit

    Reset the module.

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

    Definition Classes
    AnyRef
  21. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AnyRef

Inherited from Any

No Group