Packages

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

    Implementation of a concrete CESK machine.

    Implementation of a concrete CESK machine. It should be faster than other implementations in this framework because it doesn't store the set of visited states.

    Definition Classes
    root
c

ConcreteMachine

class ConcreteMachine[Exp, Abs, Addr, Time] extends EvalKontMachine[Exp, Abs, Addr, Time]

Implementation of a concrete CESK machine. It should be faster than other implementations in this framework because it doesn't store the set of visited states.

Linear Supertypes
EvalKontMachine[Exp, Abs, Addr, Time], AbstractMachine[Exp, Abs, Addr, Time], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ConcreteMachine
  2. EvalKontMachine
  3. AbstractMachine
  4. AnyRef
  5. 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 ConcreteMachine()(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 ConcreteMachineOutput extends Output
  3. case class ConcreteMachineOutputError(store: Store[Addr, Abs], time: Double, numberOfStates: Int, err: String) extends ConcreteMachineOutput with Product with Serializable
  4. case class ConcreteMachineOutputTimeout(store: Store[Addr, Abs], time: Double, numberOfStates: Int) extends ConcreteMachineOutput with Product with Serializable
  5. case class ConcreteMachineOutputValue(store: Store[Addr, Abs], time: Double, numberOfStates: Int, v: Abs) extends ConcreteMachineOutput with Product with Serializable
  6. trait Control extends AnyRef

    The control component of the machine

    The control component of the machine

    Definition Classes
    EvalKontMachine
  7. 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)

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

    Definition Classes
    EvalKontMachine
  8. 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

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

    Definition Classes
    EvalKontMachine
  9. 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

    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

    Definition Classes
    EvalKontMachine

Value Members

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

    Performs the evaluation of an expression, possibly writing the output graph in a file, and returns the set of final states reached

    Performs the evaluation of an expression, possibly writing the output graph in a file, and returns the set of final states reached

    Definition Classes
    ConcreteMachineAbstractMachine
  2. def name: String

    The name of the abstract machine

    The name of the abstract machine

    Definition Classes
    ConcreteMachineAbstractMachine
  3. object Control
    Definition Classes
    EvalKontMachine