org.kiama.example.iswim.secd

RecordOps

trait RecordOps extends SECDBase with IntegerOps

Trait implementing this SECD machine extension

Linear Supertypes
IntegerOps, SECDBase, Machine, PrettyPrinter, PrettyPrinterBase, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. RecordOps
  2. IntegerOps
  3. SECDBase
  4. Machine
  5. PrettyPrinter
  6. PrettyPrinterBase
  7. AnyRef
  8. Any
Visibility
  1. Public
  2. All

Type Members

  1. case class ClosureValue(pn: Name, bdy: Code, envir: Environment) extends Value with Product with Serializable

    Closure values

  2. case class ContValue(s: Stack, e: Environment, c: Code, d: Dump) extends Value with Continuation with Product with Serializable

  3. trait Continuation extends AnyRef

    Continuation values

  4. type Dump = Continuation

    Definition Classes
    SECDBase
  5. type Environment = Map[Name, Value]

    Type alias for environments, stacks and so forth

    Type alias for environments, stacks and so forth

    Definition Classes
    SECDBase
  6. type Indent = Int

    Definition Classes
    PrettyPrinterBase
  7. case class IntValue(n: Int) extends Value with Product with Serializable

    Extra value types which come with this extension.

  8. type Layout = String

    Definition Classes
    PrettyPrinterBase
  9. case class PrimValue(bdy: Code) extends Value with Product with Serializable

    Primitives - values which contain simple code segments.

  10. case class RecordValue(flds: List[Value]) extends Value with Product with Serializable

    Extra value types which come with this extension.

  11. type Stack = List[Value]

    Definition Classes
    SECDBase
  12. type Width = Int

    Definition Classes
    PrettyPrinterBase

Abstract Value Members

  1. abstract def primTable: Map[Name, Value]

    Table of builtin primitives for this machine.

    Table of builtin primitives for this machine. These named values may be loaded into the environment using the BindPrims(nms) bytecode.

    Definition Classes
    SECDBase

Concrete 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 EmptyCont extends Continuation with Product with Serializable

  7. object EmptyValue extends Value with Product with Serializable

    Base machine value types Null value

  8. def angles(d: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  9. implicit def anyToPrettyPrintable(a: Any): PrettyPrintable

    Definition Classes
    PrettyPrinterBase
  10. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  11. def backslash: Doc

    Definition Classes
    PrettyPrinterBase
  12. def braces(d: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  13. def brackets(d: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  14. def cat(ds: Seq[Doc]): Doc

    Definition Classes
    PrettyPrinterBase
  15. implicit def char(c: Char): Doc

    Definition Classes
    PrettyPrinterBase
  16. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  17. def colon: Doc

    Definition Classes
    PrettyPrinterBase
  18. def comma: Doc

    Definition Classes
    PrettyPrinterBase
  19. lazy val control: State[Code] { def toDoc: RecordOps.this.Doc }

    Definition Classes
    SECDBase
  20. def debug: Boolean

    Definition Classes
    Machine
  21. val defaultIndent: Int

    Definition Classes
    PrettyPrinterBase
  22. val defaultWidth: Int

    Definition Classes
    PrettyPrinterBase
  23. def dot: Doc

    Definition Classes
    PrettyPrinterBase
  24. def dquote: Doc

    Definition Classes
    PrettyPrinterBase
  25. def dquotes(d: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  26. lazy val dump: State[Dump]

    Definition Classes
    SECDBase
  27. def empty: Doc

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  28. def enclose(l: Doc, d: Doc, r: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  29. lazy val envir: State[Environment] { def toDoc: RecordOps.this.Doc }

    Definition Classes
    SECDBase
  30. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  31. def equal: Doc

    Definition Classes
    PrettyPrinterBase
  32. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  33. def evalInst: ==>[Code, Unit]

    Extend the partial function to evaluate a single instruction to handle our new instructions.

    Extend the partial function to evaluate a single instruction to handle our new instructions.

    Definition Classes
    RecordOpsIntegerOpsSECDBase
  34. var execSrcPos: Position

    Rule to execute one step of this machine.

    Rule to execute one step of this machine.

    Attributes
    protected
    Definition Classes
    SECDBase
  35. def fillcat(ds: Seq[Doc]): Doc

    Definition Classes
    PrettyPrinterBase
  36. def fillsep(ds: Seq[Doc], sep: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  37. def fillsep(ds: Seq[Doc]): Doc

    Definition Classes
    PrettyPrinterBase
  38. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  39. def finit: Unit

    Definition Classes
    Machine
  40. def forwslash: Doc

    Definition Classes
    PrettyPrinterBase
  41. final def getClass(): java.lang.Class[_]

    Definition Classes
    AnyRef → Any
  42. def group(d: Doc): Doc

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  43. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  44. def hcat(ds: Seq[Doc]): Doc

    Definition Classes
    PrettyPrinterBase
  45. def hsep(ds: Seq[Doc], sep: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  46. def hsep(ds: Seq[Doc]): Doc

    Definition Classes
    PrettyPrinterBase
  47. def init: Unit

    Definition Classes
    Machine
  48. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  49. def langle: Doc

    Definition Classes
    PrettyPrinterBase
  50. def lbrace: Doc

    Definition Classes
    PrettyPrinterBase
  51. def lbracket: Doc

    Definition Classes
    PrettyPrinterBase
  52. def line: Doc

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  53. def linebreak: Doc

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  54. def list[T](l: List[T], prefix: String, elemToDoc: (T) ⇒ Doc, sep: Doc, sepfn: (Seq[Doc], Doc) ⇒ Doc): Doc

    Definition Classes
    PrettyPrinterBase
  55. def lparen: Doc

    Definition Classes
    PrettyPrinterBase
  56. def lsep(ds: Seq[Doc], sep: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  57. def lsep2(ds: Seq[Doc], sep: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  58. def lterm(ds: Seq[Doc], term: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  59. def main(): Unit

    Definition Classes
    SECDBase → Machine
  60. val name: String

    Definition Classes
    Machine
  61. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  62. def nest(d: Doc, j: Indent): Doc

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  63. final def notify(): Unit

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

    Definition Classes
    AnyRef
  65. implicit def paramUpdaterToU[T, U, V >: U](up: ParamUpdater[T, U]): V

    Definition Classes
    Machine
  66. def parens(d: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  67. def performUpdates: Boolean

    Definition Classes
    Machine
  68. def plist(l: List[PrettyPrintable], prefix: String, elemToDoc: (PrettyPrintable) ⇒ Doc, sep: Doc, sepfn: (Seq[Doc], Doc) ⇒ Doc): Doc

    Definition Classes
    PrettyPrinterBase
  69. def pretty(d: Doc, w: Width): Layout

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  70. def pretty(p: PrettyPrintable): Layout

    Definition Classes
    PrettyPrinterBase
  71. def product(p: Any): Doc

    Definition Classes
    PrettyPrinterBase
  72. def raiseException(ex: ExceptionValue): Unit

    Raise a machine exception

    Raise a machine exception

    This particular error handler assumes that the environment contains a binding of the name '@exnHandler' to a reference value containing a continuation. This continuation is resumed with the exception value passed to this function as its parameter.

    If '@exnHandler' is unbound in the environment or is bound to a value that is not a refernce to a continuation then this function reports a machine panic and stops the machine.

    Definition Classes
    SECDBase
  73. def rangle: Doc

    Definition Classes
    PrettyPrinterBase
  74. def rbrace: Doc

    Definition Classes
    PrettyPrinterBase
  75. def rbracket: Doc

    Definition Classes
    PrettyPrinterBase
  76. def reset: Unit

    Definition Classes
    Machine
  77. def rparen: Doc

    Definition Classes
    PrettyPrinterBase
  78. def run: Unit

    Definition Classes
    Machine
  79. def semi: Doc

    Definition Classes
    PrettyPrinterBase
  80. def sep(ds: Seq[Doc]): Doc

    Definition Classes
    PrettyPrinterBase
  81. def softbreak: Doc

    Definition Classes
    PrettyPrinterBase
  82. def softline: Doc

    Definition Classes
    PrettyPrinterBase
  83. def space: Doc

    Definition Classes
    PrettyPrinterBase
  84. def spaces(n: Int): Doc

    Definition Classes
    PrettyPrinterBase
  85. def squote: Doc

    Definition Classes
    PrettyPrinterBase
  86. def squotes(d: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  87. def ssep(ds: Seq[Doc], sep: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  88. lazy val stack: State[Stack] { def toDoc: RecordOps.this.Doc }

    Machine registers

    Machine registers

    A little work is needed here to ensure that these registers are printed in a reasonable way when we turn on debugging.

    Definition Classes
    SECDBase
  89. implicit def stateTToT[T, U >: T](t: State[T]): U

    Definition Classes
    Machine
  90. def step: Boolean

    Definition Classes
    Machine
  91. def steps: Unit

    Definition Classes
    Machine
  92. def sterm(ds: Seq[Doc], term: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  93. def string(s: String): Doc

    Definition Classes
    PrettyPrinterBase
  94. def surround(d: Doc, b: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  95. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  96. implicit def text(t: String): Doc

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  97. def toString(): String

    Definition Classes
    AnyRef → Any
  98. def value(v: Any): Doc

    Definition Classes
    PrettyPrinterBase
  99. def vcat(ds: Seq[Doc]): Doc

    Definition Classes
    PrettyPrinterBase
  100. def vsep(ds: Seq[Doc], sep: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  101. def vsep(ds: Seq[Doc]): Doc

    Definition Classes
    PrettyPrinterBase
  102. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from IntegerOps

Inherited from SECDBase

Inherited from Machine

Inherited from PrettyPrinter

Inherited from PrettyPrinterBase

Inherited from AnyRef

Inherited from Any