Packages

  • package root
    Definition Classes
    root
  • abstract class EvalKontMachine[Exp, Abs, Addr, Time] extends AbstractMachine[Exp, Abs, Addr, Time]

    Abstract machine with a control component that works in an eval-kont way: it can either be evaluating something, or have reached a value and will pop a continuation.

    Abstract machine with a control component that works in an eval-kont way: it can either be evaluating something, or have reached a value and will pop a continuation.

    Definition Classes
    root
c

EvalKontMachine

abstract class EvalKontMachine[Exp, Abs, Addr, Time] extends AbstractMachine[Exp, Abs, Addr, Time]

Abstract machine with a control component that works in an eval-kont way: it can either be evaluating something, or have reached a value and will pop a continuation.

Linear Supertypes
AbstractMachine[Exp, Abs, Addr, Time], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EvalKontMachine
  2. AbstractMachine
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new EvalKontMachine()(implicit arg0: Expression[Exp], arg1: JoinLattice[Abs], arg2: Address[Addr], arg3: Timestamp[Time])

Type Members

  1. trait Output extends AnyRef

    The output of the abstract machine

    The output of the abstract machine

    Definition Classes
    AbstractMachine
  2. trait Control extends AnyRef

    The control component of the machine

  3. case class ControlError(err: SemanticError) extends Control with Product with Serializable

    Or an error component, in case an error is reached (e.g., incorrect number of arguments in a function call)

  4. case class ControlEval(exp: Exp, env: Environment[Addr]) extends Control with Product with Serializable

    It can either be an eval component, where an expression needs to be evaluated in an environment

  5. case class ControlKont(v: Abs) extends Control with Product with Serializable

    Or it can be a continuation component, where a value has been reached and a continuation should be popped from the stack to continue the evaluation

Abstract Value Members

  1. abstract def eval(exp: Exp, sem: Semantics[Exp, Abs, Addr, Time], graph: Boolean = false, timeout: Timeout = Timeout.start(None)): Output

    Evaluates a program, given a semantics.

    Evaluates a program, given a semantics. If @param graph is true, the state graph will be computed and stored in the output. Returns an object implementing the Output trait, containing information about the evaluation. @param timeout is the timeout in ns, when reached, the evaluation stops and the currently computed results are returned.

    Definition Classes
    AbstractMachine
  2. abstract def name: String

    The name of the abstract machine

    The name of the abstract machine

    Definition Classes
    AbstractMachine

Concrete Value Members

  1. object Control