class CSchemeSemantics[Abs, Addr, Time, TID] extends SchemeSemantics[Abs, Addr, Time]
- Alphabetic
- By Inheritance
- CSchemeSemantics
- SchemeSemantics
- BaseSchemeSemantics
- Semantics
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new CSchemeSemantics(primitives: Primitives[Addr, Abs])(implicit arg0: IsCSchemeLattice[Abs], arg1: Address[Addr], arg2: Timestamp[Time], arg3: ThreadIdentifier[TID])
Type Members
-
case class
FrameAnd(rest: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameBegin(rest: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameCase(clauses: List[(List[SchemeValue], List[SchemeExp])], default: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameCond(cons: List[SchemeExp], clauses: List[(SchemeExp, List[SchemeExp])], env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameDefine(variable: Identifier, env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameDoBody(toeval: List[SchemeExp], vars: List[(Identifier, V, Option[SchemeExp])], test: SchemeExp, finals: List[SchemeExp], commands: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameDoInit(vars: List[(Identifier, V, Option[SchemeExp])], variable: Identifier, step: Option[SchemeExp], toeval: List[(Identifier, SchemeExp, Option[SchemeExp])], test: SchemeExp, finals: List[SchemeExp], commands: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameDoStep(vars: List[(Identifier, V, Option[SchemeExp])], variable: Identifier, step: Option[SchemeExp], toeval: List[(Identifier, V, Option[SchemeExp])], test: SchemeExp, finals: List[SchemeExp], commands: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameDoTest(vars: List[(Identifier, V, Option[SchemeExp])], test: SchemeExp, finals: List[SchemeExp], commands: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameFuncallOperands(f: V, fexp: SchemeExp, cur: SchemeExp, args: List[(SchemeExp, V)], toeval: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameFuncallOperator(fexp: SchemeExp, args: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameIf(cons: SchemeExp, alt: SchemeExp, env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameLet(variable: Identifier, bindings: List[(Identifier, V)], toeval: List[(Identifier, SchemeExp)], body: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameLetStar(variable: Identifier, bindings: List[(Identifier, SchemeExp)], body: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameLetrec(addr: Addr, bindings: List[(Addr, SchemeExp)], body: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameOr(rest: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
case class
FrameSet(variable: Identifier, env: Env) extends SchemeFrame with Product with Serializable
- Definition Classes
- BaseSchemeSemantics
-
trait
SchemeFrame extends Frame
- Definition Classes
- BaseSchemeSemantics
-
type
Actions = Set[Action[SchemeExp, Abs, Addr]]
- Definition Classes
- BaseSchemeSemantics
-
type
Env = Environment[Addr]
- Definition Classes
- BaseSchemeSemantics
- case class FrameAcquire(env: CSchemeSemantics.Env) extends SchemeFrame with Product with Serializable
- case class FrameCasIndex(variable: Identifier, eold: SchemeExp, enew: SchemeExp, env: CSchemeSemantics.Env) extends SchemeFrame with Product with Serializable
- case class FrameCasNew(variable: Identifier, index: Option[Abs], enew: SchemeExp, old: Abs, env: CSchemeSemantics.Env) extends SchemeFrame with Product with Serializable
- case class FrameCasOld(variable: Identifier, index: Option[Abs], enew: SchemeExp, env: CSchemeSemantics.Env) extends SchemeFrame with Product with Serializable
- case class FrameJoin(env: CSchemeSemantics.Env) extends SchemeFrame with Product with Serializable
- case class FrameRelease(env: CSchemeSemantics.Env) extends SchemeFrame with Product with Serializable
-
type
Sto = Store[Addr, Abs]
- Definition Classes
- BaseSchemeSemantics
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from CSchemeSemantics[Abs, Addr, Time, TID] to any2stringadd[CSchemeSemantics[Abs, Addr, Time, TID]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (CSchemeSemantics[Abs, Addr, Time, TID], B)
- Implicit
- This member is added by an implicit conversion from CSchemeSemantics[Abs, Addr, Time, TID] to ArrowAssoc[CSchemeSemantics[Abs, Addr, Time, TID]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
implicit
def
actionToSet(action: Action[SchemeExp, Abs, Addr]): Set[Action[SchemeExp, Abs, Addr]]
- Definition Classes
- Semantics
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
atomicEval(e: SchemeExp, env: Env, store: Sto): Option[(Abs, Set[Effect[Addr]])]
Tries to perform atomic evaluation of an expression.
Tries to perform atomic evaluation of an expression. Returns the result of the evaluation if it succeeded, otherwise returns None
- Attributes
- protected
- Definition Classes
- SchemeSemantics
-
def
bindArgs(l: List[(Identifier, Abs)], env: Environment[Addr], store: Store[Addr, Abs], t: Time): (Environment[Addr], Store[Addr, Abs])
Binds arguments in the environment and store.
Binds arguments in the environment and store. Arguments are given as a list of triple, where each triple is made of:
- the name of the argument
- the position of the argument
- the value of the argument
- Attributes
- protected
- Definition Classes
- Semantics
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate() @throws( ... )
-
def
conditional(v: Abs, t: ⇒ Actions, f: ⇒ Actions): Actions
- Definition Classes
- BaseSchemeSemantics
-
def
ensuring(cond: (CSchemeSemantics[Abs, Addr, Time, TID]) ⇒ Boolean, msg: ⇒ Any): CSchemeSemantics[Abs, Addr, Time, TID]
- Implicit
- This member is added by an implicit conversion from CSchemeSemantics[Abs, Addr, Time, TID] to Ensuring[CSchemeSemantics[Abs, Addr, Time, TID]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (CSchemeSemantics[Abs, Addr, Time, TID]) ⇒ Boolean): CSchemeSemantics[Abs, Addr, Time, TID]
- Implicit
- This member is added by an implicit conversion from CSchemeSemantics[Abs, Addr, Time, TID] to Ensuring[CSchemeSemantics[Abs, Addr, Time, TID]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): CSchemeSemantics[Abs, Addr, Time, TID]
- Implicit
- This member is added by an implicit conversion from CSchemeSemantics[Abs, Addr, Time, TID] to Ensuring[CSchemeSemantics[Abs, Addr, Time, TID]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): CSchemeSemantics[Abs, Addr, Time, TID]
- Implicit
- This member is added by an implicit conversion from CSchemeSemantics[Abs, Addr, Time, TID] to Ensuring[CSchemeSemantics[Abs, Addr, Time, TID]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
evalBody(body: List[SchemeExp], env: Env, store: Sto): Actions
- Attributes
- protected
- Definition Classes
- BaseSchemeSemantics
-
def
evalCall(function: Abs, fexp: SchemeExp, argsv: List[(SchemeExp, Abs)], store: Sto, t: Time): Actions
- Definition Classes
- BaseSchemeSemantics
-
def
evalDoBody(toeval: List[SchemeExp], vars: List[(Identifier, Abs, Option[SchemeExp])], test: SchemeExp, finals: List[SchemeExp], commands: List[SchemeExp], t: Time, env: Env, store: Sto): Actions
- Definition Classes
- BaseSchemeSemantics
-
def
evalDoStep(vars: List[(Identifier, Abs, Option[SchemeExp])], toeval: List[(Identifier, Abs, Option[SchemeExp])], test: SchemeExp, finals: List[SchemeExp], commands: List[SchemeExp], t: Time, env: Env, store: Sto): Actions
- Definition Classes
- BaseSchemeSemantics
-
def
evalQuoted(exp: SExp, store: Sto, t: Time): (Abs, Sto)
- Attributes
- protected
- Definition Classes
- BaseSchemeSemantics
-
def
evalValue(v: Value): Option[Abs]
- Attributes
- protected
- Definition Classes
- BaseSchemeSemantics
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from CSchemeSemantics[Abs, Addr, Time, TID] to StringFormat[CSchemeSemantics[Abs, Addr, Time, TID]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
def
funcallArgs(f: Abs, fexp: SchemeExp, args: List[(SchemeExp, Abs)], toeval: List[SchemeExp], env: Env, store: Sto, t: Time): Actions
- Attributes
- protected
- Definition Classes
- SchemeSemantics → BaseSchemeSemantics
-
def
funcallArgs(f: Abs, fexp: SchemeExp, args: List[SchemeExp], env: Env, store: Sto, t: Time): Actions
- Attributes
- protected
- Definition Classes
- BaseSchemeSemantics
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
initialBindings: List[(String, Addr, Abs)]
Defines the elements in the initial environment/store
Defines the elements in the initial environment/store
- Definition Classes
- BaseSchemeSemantics → Semantics
-
def
initialEnv: Iterable[(String, Addr)]
- Definition Classes
- Semantics
-
def
initialStore: Iterable[(Addr, Abs)]
- Definition Classes
- Semantics
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
implicit
def
mfActionToActions(mf: MayFail[Action[SchemeExp, Abs, Addr]]): Set[Action[SchemeExp, Abs, Addr]]
- Definition Classes
- Semantics
-
implicit
def
mfToActions(mf: MayFail[Set[Action[SchemeExp, Abs, Addr]]]): Set[Action[SchemeExp, Abs, Addr]]
- Definition Classes
- Semantics
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
optimizeAtomic(actions: Actions, t: Time): Actions
Optimize the following pattern: when we see an ActionPush(frame, exp, env, store) where exp is an atomic expression, we can atomically evaluate exp to get v, and call stepKont(v, store, frame).
Optimize the following pattern: when we see an ActionPush(frame, exp, env, store) where exp is an atomic expression, we can atomically evaluate exp to get v, and call stepKont(v, store, frame).
- Attributes
- protected
- Definition Classes
- SchemeSemantics
-
def
parse(program: String): SchemeExp
Defines how to parse a program
Defines how to parse a program
- Definition Classes
- BaseSchemeSemantics → Semantics
-
def
stepEval(e: SchemeExp, env: Env, store: Sto, t: Time): Actions
Defines what actions should be taken when an expression e needs to be evaluated, in environment env with store store
Defines what actions should be taken when an expression e needs to be evaluated, in environment env with store store
- Definition Classes
- CSchemeSemantics → SchemeSemantics → BaseSchemeSemantics → Semantics
-
def
stepKont(v: Abs, frame: Frame, store: Sto, t: Time): Actions
Defines what actions should be taken when a value v has been reached, and the topmost frame is frame
Defines what actions should be taken when a value v has been reached, and the topmost frame is frame
- Definition Classes
- CSchemeSemantics → SchemeSemantics → BaseSchemeSemantics → Semantics
-
def
stepReceive(self: Any, mname: String, margsv: List[Abs], d: SchemeExp, env: Environment[Addr], store: Store[Addr, Abs], t: Time): Set[Action[SchemeExp, Abs, Addr]]
WIP
WIP
- Definition Classes
- Semantics
-
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
- @native() @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (CSchemeSemantics[Abs, Addr, Time, TID], B)
- Implicit
- This member is added by an implicit conversion from CSchemeSemantics[Abs, Addr, Time, TID] to ArrowAssoc[CSchemeSemantics[Abs, Addr, Time, TID]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
-
object
Action extends ActionHelpers[Exp, Abs, Addr]
- Definition Classes
- Semantics