class ConcreteInterpreter extends Interpreter
Interpreter that uses concrete values.
- Alphabetic
- By Inheritance
- ConcreteInterpreter
- Interpreter
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new ConcreteInterpreter(program: AProgram)(implicit declData: DeclarationData)
Type Members
-
type
Env = Map[ADeclaration, ConcreteValues.Location]
- Definition Classes
- Interpreter
-
type
Extra = Unit
- Definition Classes
- ConcreteInterpreter → Interpreter
-
class
ExecutionError extends TipProgramException
- Definition Classes
- Interpreter
-
case class
Store(content: Map[ReferenceValue, Value], extra: Extra) extends Product with Serializable
- Definition Classes
- Interpreter
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: ConcreteValues.EValue, branch: Boolean, store: Store): Store
- Attributes
- protected
- Definition Classes
- Interpreter
-
val
capturedOut: StringBuilder
- Definition Classes
- Interpreter
-
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: ConcreteValues.RecordValue, field: String, store: Store): Nothing
- Definition Classes
- Interpreter
-
def
errorAccessNonRecord(loc: Loc, x: ConcreteValues.EValue, store: Store): Nothing
- Definition Classes
- Interpreter
-
def
errorArithmeticOnNonInt(loc: Loc, op: BinaryOperator, store: Store): Nothing
- Definition Classes
- Interpreter
-
def
errorCallNotFunction(loc: Loc, funValue: ConcreteValues.EValue, store: Store): Nothing
- Definition Classes
- Interpreter
-
def
errorConditionNotInt(loc: Loc, store: Store): Nothing
- Definition Classes
- Interpreter
-
def
errorDerefNotPointer(loc: Loc, x: ConcreteValues.EValue, store: Store): Nothing
- Definition Classes
- Interpreter
-
def
errorErrorNonInt(loc: Loc, v: ConcreteValues.EValue, store: Store): Nothing
- Definition Classes
- Interpreter
-
def
errorInputNotInt(loc: Loc, store: Store): Nothing
- Definition Classes
- Interpreter
-
def
errorNullDereference(loc: Loc, store: Store): Nothing
- Definition Classes
- Interpreter
-
def
errorOutputNotInt(loc: Loc, store: Store): Nothing
- Definition Classes
- Interpreter
-
def
errorReturnNotInt(loc: Loc, fun: AFunDeclaration, store: Store): Nothing
- Definition Classes
- Interpreter
-
def
errorUninitializedLocation(loc: Loc, store: Store): Nothing
- Definition Classes
- Interpreter
-
def
errorWriteFieldRecord(loc: Loc, x: ConcreteValues.EValue, store: Store): Nothing
- Definition Classes
- Interpreter
-
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): (ConcreteValues.EValue, Store)
Takes an integer input from stdin.
Takes an integer input from stdin.
- Attributes
- protected
- Definition Classes
- Interpreter
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
val
log: Logger
- Definition Classes
- Interpreter
-
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()
- val program: AProgram
-
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
- Definition Classes
- Interpreter
-
def
semeref(exp: FieldAssignable, env: Env, store: Store): (ConcreteValues.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
- Definition Classes
- Interpreter
-
def
semeref(exp: ReferenceAssignable, env: Env, store: Store): (ConcreteValues.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
- Definition Classes
- Interpreter
-
def
semeright(exp: AExpr, env: Env, store: Store): (ConcreteValues.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
- Definition Classes
- Interpreter
- def semp(): ConcreteValues.IntValue
-
def
semp(initEnv: Env, initStore: Store): (ConcreteValues.IntValue, Store)
Semantics for programs.
-
val
spec: ConcreteValues.type
- Definition Classes
- ConcreteInterpreter → Interpreter
-
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