org.kiama.example.iswim.driver

SECD

class SECD extends SECDBase with ExceptionHandler with IntegerOps with BooleanOps with ConversionOps with IntComparisonOps with StackOps with RecordOps with HeapOps with IOOps with StringOps

Linear Supertypes
IOOps, HeapOps, RecordOps, StackOps, IntComparisonOps, ConversionOps, StringOps, BooleanOps, IntegerOps, ExceptionHandler, SECDBase, StdoutEmitter, Machine, PrettyPrinter, PrettyPrinterBase, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SECD
  2. IOOps
  3. HeapOps
  4. RecordOps
  5. StackOps
  6. IntComparisonOps
  7. ConversionOps
  8. StringOps
  9. BooleanOps
  10. IntegerOps
  11. ExceptionHandler
  12. SECDBase
  13. StdoutEmitter
  14. Machine
  15. PrettyPrinter
  16. PrettyPrinterBase
  17. AnyRef
  18. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SECD(code: CodeTree)

Type Members

  1. abstract class BooleanValue extends Value

    Extra value types which come with this extension.

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

    Closure values

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

    Definition Classes
    SECDBase
  4. trait Continuation extends AnyRef

    Continuation values

  5. class Doc extends ((output.PrettyPrinter.Indent, output.PrettyPrinter.Width)) ⇒ ((Int, Queue[(Int, (Boolean) ⇒ ((Int) ⇒ output.PrettyPrinter.Layout) ⇒ (Int) ⇒ output.PrettyPrinter.Layout)]) ⇒ (Int) ⇒ output.PrettyPrinter.Layout) ⇒ (Int, Queue[(Int, (Boolean) ⇒ ((Int) ⇒ output.PrettyPrinter.Layout) ⇒ (Int) ⇒ output.PrettyPrinter.Layout)]) ⇒ (Int) ⇒ output.PrettyPrinter.Layout with output.PrettyPrinter.DocOps

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  6. trait DocOps extends AnyRef

    Definition Classes
    PrettyPrinterBase
  7. type Dump = Continuation

    Definition Classes
    SECDBase
  8. case class EmptyCont() extends Continuation with Product with Serializable

    Definition Classes
    SECDBase
  9. case class EmptyValue() extends Value with Product with Serializable

    Base machine value types Null value

  10. type Environment = Map[Name, Value]

    Type alias for environments, stacks and so forth

    Type alias for environments, stacks and so forth

    Definition Classes
    SECDBase
  11. case class ExnContValue(s: ExceptionHandler.Stack, e: ExceptionHandler.Environment, c: Code, d: ExceptionHandler.Dump, h: Handler) extends Value with Continuation with Product with Serializable

    Extra value types which come with this extension.

  12. case class FalseValue() extends BooleanValue with Product with Serializable

    Definition Classes
    BooleanOps
  13. type Handler = Continuation

    Type alias for the type of the exception handler register

    Type alias for the type of the exception handler register

    Definition Classes
    ExceptionHandler
  14. type Indent = Int

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

    Extra value types which come with this extension.

  16. type Layout = String

    Definition Classes
    PrettyPrinterBase
  17. class ParamState[T, U] extends State[HashMap[T, U]]

    Definition Classes
    Machine
  18. class ParamUpdate[T, U] extends Update

    Definition Classes
    Machine
  19. class ParamUpdater[T, U] extends AnyRef

    Definition Classes
    Machine
  20. trait PrettyPrintable extends AnyRef

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

    Primitives - values which contain simple code segments.

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

    Extra value types which come with this extension.

  23. case class RefValue() extends Value with Product with Serializable

    Extra value types which come with this extension.

  24. class ScalarUpdate[T] extends Update

    Definition Classes
    Machine
  25. type Stack = List[Value]

    Definition Classes
    SECDBase
  26. class State[T] extends AnyRef

    Definition Classes
    Machine
  27. case class StringValue(s: String) extends Value with Product with Serializable

    Extra value types which come with this extension.

  28. case class TrueValue() extends BooleanValue with Product with Serializable

    Definition Classes
    BooleanOps
  29. abstract class Update extends AnyRef

    Definition Classes
    Machine
  30. case class UserExceptionValue(m: String) extends ExceptionValue with Product with Serializable

    Definition Classes
    StringOps
  31. type Width = Int

    Definition Classes
    PrettyPrinterBase

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. def ampersand: Doc

    Definition Classes
    PrettyPrinterBase
  7. def angles(d: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  8. def any(a: Any): 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 asterisk: Doc

    Definition Classes
    PrettyPrinterBase
  12. def atsign: Doc

    Definition Classes
    PrettyPrinterBase
  13. def backquote: Doc

    Definition Classes
    PrettyPrinterBase
  14. def backslash: Doc

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

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

    Definition Classes
    PrettyPrinterBase
  17. def caret: Doc

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

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

    Definition Classes
    PrettyPrinterBase
  20. def clone(): AnyRef

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

    Definition Classes
    PrettyPrinterBase
  22. def comma: Doc

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

    Definition Classes
    SECDBase
  24. def debug: Boolean

    Definition Classes
    Machine
  25. val defaultIndent: Int

    Definition Classes
    PrettyPrinterBase
  26. val defaultWidth: Int

    Definition Classes
    PrettyPrinterBase
  27. def dollar: Doc

    Definition Classes
    PrettyPrinterBase
  28. def dot: Doc

    Definition Classes
    PrettyPrinterBase
  29. def dquote: Doc

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

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

    Definition Classes
    SECDBase
  32. val emitter: Emitter

    Definition Classes
    StdoutEmitter
  33. def empty: Doc

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

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

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

    Definition Classes
    AnyRef
  37. def equal: Doc

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

    Definition Classes
    AnyRef → Any
  39. 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
    IOOpsStringOpsSECDBase
  40. def exclamation: Doc

    Definition Classes
    PrettyPrinterBase
  41. var execSrcPos: Position

    Rule to execute one step of this machine.

    Rule to execute one step of this machine.

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

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

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

    Definition Classes
    PrettyPrinterBase
  45. def finalize(): Unit

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

    Definition Classes
    Machine
  47. def forwslash: Doc

    Definition Classes
    PrettyPrinterBase
  48. final def getClass(): Class[_]

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

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  50. lazy val handler: State[Handler]

    The extra exception handler register.

    The extra exception handler register.

    Definition Classes
    ExceptionHandler
  51. def hash: Doc

    Definition Classes
    PrettyPrinterBase
  52. def hashCode(): Int

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

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

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

    Definition Classes
    PrettyPrinterBase
  56. def init(): Unit

    Initialise the machine.

    Initialise the machine.

    Definition Classes
    SECD → Machine
  57. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  58. def langle: Doc

    Definition Classes
    PrettyPrinterBase
  59. def lbrace: Doc

    Definition Classes
    PrettyPrinterBase
  60. def lbracket: Doc

    Definition Classes
    PrettyPrinterBase
  61. def line: Doc

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  62. def linebreak: Doc

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

    Definition Classes
    PrettyPrinterBase
  64. def lparen: Doc

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

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

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

    Definition Classes
    PrettyPrinterBase
  68. def main(): Unit

    Definition Classes
    SECDBase → Machine
  69. def minus: Doc

    Definition Classes
    PrettyPrinterBase
  70. val name: String

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

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

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

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

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

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

    Definition Classes
    PrettyPrinterBase
  77. def percent: Doc

    Definition Classes
    PrettyPrinterBase
  78. def performUpdates: Boolean

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

    Definition Classes
    PrettyPrinterBase
  80. def plus: Doc

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

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

    Definition Classes
    PrettyPrinterBase
  83. def pretty_any(a: Any): Layout

    Definition Classes
    PrettyPrinterBase
  84. 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
    SECDSECDBase
  85. def question: Doc

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

    Raise a machine exception

    Raise a machine exception

    This handler throws the exception given as its argument to the continuation currently stored in the exception handler register.

    Definition Classes
    ExceptionHandlerSECDBase
  87. def rangle: Doc

    Definition Classes
    PrettyPrinterBase
  88. def rbrace: Doc

    Definition Classes
    PrettyPrinterBase
  89. def rbracket: Doc

    Definition Classes
    PrettyPrinterBase
  90. def reset: Unit

    Definition Classes
    Machine
  91. def rparen: Doc

    Definition Classes
    PrettyPrinterBase
  92. def run: Unit

    Definition Classes
    Machine
  93. def semi: Doc

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

    Definition Classes
    PrettyPrinterBase
  95. def softbreak: Doc

    Definition Classes
    PrettyPrinterBase
  96. def softline: Doc

    Definition Classes
    PrettyPrinterBase
  97. def space: Doc

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

    Definition Classes
    PrettyPrinterBase
  99. def squote: Doc

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

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

    Definition Classes
    PrettyPrinterBase
  102. lazy val stack: State[Stack] { def toDoc: SECD.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
  103. implicit def stateTToT[T, U >: T](t: State[T]): U

    Definition Classes
    Machine
  104. def step: Boolean

    Definition Classes
    Machine
  105. def steps: Unit

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

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

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

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

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

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  111. def tilde: Doc

    Definition Classes
    PrettyPrinterBase
  112. def toString(): String

    Definition Classes
    AnyRef → Any
  113. def underscore: Doc

    Definition Classes
    PrettyPrinterBase
  114. def value(v: Any): Doc

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

    Definition Classes
    PrettyPrinterBase
  116. def verticalbar: Doc

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

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

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Deprecated Value Members

  1. def product(p: Any): Doc

    Definition Classes
    PrettyPrinterBase
    Annotations
    @deprecated
    Deprecated

    (Since version 1.2.1) Use PrettyPrinter.any instead.

Inherited from IOOps

Inherited from HeapOps

Inherited from RecordOps

Inherited from StackOps

Inherited from IntComparisonOps

Inherited from ConversionOps

Inherited from StringOps

Inherited from BooleanOps

Inherited from IntegerOps

Inherited from ExceptionHandler

Inherited from SECDBase

Inherited from StdoutEmitter

Inherited from Machine

Inherited from PrettyPrinter

Inherited from PrettyPrinterBase

Inherited from AnyRef

Inherited from Any

Ungrouped