Packages

  • package root
    Definition Classes
    root
  • abstract class Semantics[Exp, Abs, Addr, Time] extends AnyRef

    This is where the interface of a language's semantics is defined.

    This is where the interface of a language's semantics is defined. By defining the semantics of a language, you get an abstract abstract machine for free (but you might need to adapt existing lattices to support values from your language).

    Semantics should be defined as small-step operational semantics. To define a semantics, you have to implement the Semantics trait. You'll need to specialize it on the type of expression of your language (e.g., for ANF, ANFSemantics specializes on ANFExp). To do so, you need to define what actions should be taken when:

    1. Evaluating an expression e (stepEval) 2. Continuing evaluation when a value v has been reached (stepKont)

    To have a simple overview of how semantics should be defined, look at the ANFSemantics.scala, as it defines semantics of ANF Scheme, a very lightweight language. A more complex definition resides in SchemeSemantics.scala.

    Definition Classes
    root
  • Action
o

Semantics

Action

object Action extends ActionHelpers[Exp, Abs, Addr]

Linear Supertypes
ActionHelpers[Exp, Abs, Addr], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Action
  2. ActionHelpers
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Act = Action[Exp, Abs, Addr]
    Definition Classes
    ActionHelpers
  2. type Effs = Set[Effect[Addr]]
    Definition Classes
    ActionHelpers
  3. type Env = Environment[Addr]
    Definition Classes
    ActionHelpers
  4. type Sto = Store[Addr, Abs]
    Definition Classes
    ActionHelpers

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 clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate() @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def error(err: SemanticError): Act
    Definition Classes
    ActionHelpers
  9. def eval(e: Exp, env: Env, store: Sto, effects: Effs = Set.empty): Act
    Definition Classes
    ActionHelpers
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. def join[TID](t: TID, store: Sto, effects: Effs = Set.empty)(implicit arg0: ThreadIdentifier[TID]): Act
    Definition Classes
    ActionHelpers
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def none: Set[Act]
    Definition Classes
    ActionHelpers
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. def push(frame: Frame, e: Exp, env: Env, store: Sto, effects: Effs = Set.empty): Act
    Definition Classes
    ActionHelpers
  19. def spawn[TID](t: TID, e: Exp, env: Env, store: Sto, act: Act, effects: Effs = Set.empty)(implicit arg0: ThreadIdentifier[TID]): Act
    Definition Classes
    ActionHelpers
  20. def stepIn(fexp: Exp, clo: (Exp, Env), e: Exp, env: Env, store: Sto, argsv: List[(Exp, Abs)], effects: Effs = Set.empty): Act
    Definition Classes
    ActionHelpers
  21. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. def value(v: Abs, store: Sto, effects: Effs = Set.empty): Act
    Definition Classes
    ActionHelpers
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

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

    (Since version ) see corresponding Javadoc for more information.

Inherited from ActionHelpers[Exp, Abs, Addr]

Inherited from AnyRef

Inherited from Any

Ungrouped