Packages

c

tip.interpreter

Interpreter

abstract class Interpreter extends AnyRef

Interpreter for TIP programs.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Interpreter
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Interpreter(program: AProgram)(implicit declData: DeclarationData)

Type Members

  1. type Env = Map[ADeclaration, Location]
  2. class ExecutionError extends TipProgramException
  3. abstract type Extra
  4. case class Store(content: Map[ReferenceValue, Value], extra: Extra) extends Product with Serializable

Abstract Value Members

  1. abstract val spec: ValueSpecification

Concrete 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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def branchTaken(guard: AExpr, value: EValue, branch: Boolean, store: Store): Store
    Attributes
    protected
  6. val capturedOut: StringBuilder
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def errorAccessMissingField(loc: Loc, rec: RecordValue, field: String, store: Store): Nothing
  11. def errorAccessNonRecord(loc: Loc, x: EValue, store: Store): Nothing
  12. def errorArithmeticOnNonInt(loc: Loc, op: BinaryOperator, store: Store): Nothing
  13. def errorCallNotFunction(loc: Loc, funValue: EValue, store: Store): Nothing
  14. def errorConditionNotInt(loc: Loc, store: Store): Nothing
  15. def errorDerefNotPointer(loc: Loc, x: EValue, store: Store): Nothing
  16. def errorErrorNonInt(loc: Loc, v: EValue, store: Store): Nothing
  17. def errorInputNotInt(loc: Loc, store: Store): Nothing
  18. def errorNullDereference(loc: Loc, store: Store): Nothing
  19. def errorOutputNotInt(loc: Loc, store: Store): Nothing
  20. def errorReturnNotInt(loc: Loc, fun: AFunDeclaration, store: Store): Nothing
  21. def errorUninitializedLocation(loc: Loc, store: Store): Nothing
  22. def errorWriteFieldRecord(loc: Loc, x: EValue, store: Store): Nothing
  23. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  24. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  25. def input(exp: AExpr, env: Env, store: Store): (EValue, Store)

    Takes an integer input from stdin.

    Takes an integer input from stdin.

    Attributes
    protected
  26. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  27. val log: Logger
  28. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  29. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  30. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  31. def semc(stm: AStmt, env: Env, store: Store): (Env, Store)

    Semantics for statements (including local variable declarations).

    Semantics for statements (including local variable declarations).

    stm

    the statement to execute

    env

    the initial environment

    store

    the initial store

    returns

    the resulting environment and store

    Attributes
    protected
  32. def semeref(exp: FieldAssignable, env: Env, store: Store): (ReferenceValue, String, Store)

    Semantics for field lvalue expressions.

    Semantics for field lvalue expressions.

    exp

    the lvalue expression to execute

    env

    the environment

    store

    the initial store

    returns

    the resulting location, field, and store

    Attributes
    protected
  33. def semeref(exp: ReferenceAssignable, env: Env, store: Store): (ReferenceValue, Store)

    Semantics for ordinary lvalue expressions.

    Semantics for ordinary lvalue expressions.

    exp

    the lvalue expression to execute

    env

    the environment

    store

    the initial store

    returns

    the resulting location and store

    Attributes
    protected
  34. def semeright(exp: AExpr, env: Env, store: Store): (EValue, Store)

    Semantics for right-hand-side expressions.

    Semantics for right-hand-side expressions.

    exp

    the expression to execute

    env

    the environment

    store

    the initial store

    returns

    the resulting value and store

    Attributes
    protected
  35. def semp(initEnv: Env, initStore: Store): (IntValue, Store)

    Semantics for programs.

    Semantics for programs.

    returns

    the resulting value

  36. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  37. def toString(): String
    Definition Classes
    AnyRef → Any
  38. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  40. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

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

Inherited from AnyRef

Inherited from Any

Ungrouped