abstract class Interpreter extends AnyRef
Interpreter for TIP programs.
- Alphabetic
- By Inheritance
- Interpreter
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new Interpreter(program: AProgram)(implicit declData: DeclarationData)
Type Members
- type Env = Map[ADeclaration, Location]
- class ExecutionError extends TipProgramException
- abstract type Extra
- case class Store(content: Map[ReferenceValue, Value], extra: Extra) extends Product with Serializable
Abstract Value Members
- abstract val spec: ValueSpecification
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
branchTaken(guard: AExpr, value: EValue, branch: Boolean, store: Store): Store
- Attributes
- protected
- val capturedOut: StringBuilder
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @IntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def errorAccessMissingField(loc: Loc, rec: RecordValue, field: String, store: Store): Nothing
- def errorAccessNonRecord(loc: Loc, x: EValue, store: Store): Nothing
- def errorArithmeticOnNonInt(loc: Loc, op: BinaryOperator, store: Store): Nothing
- def errorCallNotFunction(loc: Loc, funValue: EValue, store: Store): Nothing
- def errorConditionNotInt(loc: Loc, store: Store): Nothing
- def errorDerefNotPointer(loc: Loc, x: EValue, store: Store): Nothing
- def errorErrorNonInt(loc: Loc, v: EValue, store: Store): Nothing
- def errorInputNotInt(loc: Loc, store: Store): Nothing
- def errorNullDereference(loc: Loc, store: Store): Nothing
- def errorOutputNotInt(loc: Loc, store: Store): Nothing
- def errorReturnNotInt(loc: Loc, fun: AFunDeclaration, store: Store): Nothing
- def errorUninitializedLocation(loc: Loc, store: Store): Nothing
- def errorWriteFieldRecord(loc: Loc, x: EValue, store: Store): Nothing
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
def
input(exp: AExpr, env: Env, store: Store): (EValue, Store)
Takes an integer input from stdin.
Takes an integer input from stdin.
- Attributes
- protected
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val log: Logger
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
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
-
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
-
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
-
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
-
def
semp(initEnv: Env, initStore: Store): (IntValue, Store)
Semantics for programs.
Semantics for programs.
- returns
the resulting value
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated