code.space
Class Computation

java.lang.Object
  extended by code.space.Computation
All Implemented Interfaces:
Client

public class Computation
extends java.lang.Object
implements Client


Nested Class Summary
private  class Computation.HNFTask
           
private  class Computation.NFTask
           
private  class Computation.PATask
           
private static interface Computation.TaskIF
           
 
Field Summary
static int ABANDONED
           
static int ACTIVE
           
private  Computation[] child
           
 Client client
           
static int FAILED
           
static int FLOUNDER
           
static int HEADNORMAL
           
static java.text.DecimalFormat i3
           
 int id
           
protected static int idCounter
           
static int NORMAL
           
static int PARALLEL
           
static int PAUSED
           
static int RESIDUATING
           
private  Term result
           
private  java.util.Stack<Term> stack
           
private  int state
          This better be private so state changes go thru a method.
static java.lang.String[] stateName
           
private  Subst subst
           
static int SUCCESS
           
private  Computation.TaskIF task
           
 Computation.TaskIF[] taskCase
           
static int WAITING
           
 
Constructor Summary
Computation(int taskIndex, Term term, Subst subst, Client client)
           
 
Method Summary
 java.lang.String debug()
           
 void doneChild(Computation child)
           
 void execute(Instruction[] instruction)
           
 void forcedSetState(int state)
           
 Term getBinding(Variable variable)
           
 java.lang.String getIdString()
           
 Term getResult()
           
 int getState()
           
 Subst getSubst()
           
 Term getTerm()
           
 Computation getTop()
           
 void pop()
           
 void push(Term term)
           
 void selfSetState(int state)
           
 void setBinding(Variable variable, Term binding)
           
 void setChildren(Computation[] child)
           
 void stackDebug()
           
 void step()
           
private  void update(Term reduct)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

child

private Computation[] child

result

private Term result

stack

private java.util.Stack<Term> stack

ACTIVE

public static final int ACTIVE
See Also:
Constant Field Values

WAITING

public static final int WAITING
See Also:
Constant Field Values

ABANDONED

public static final int ABANDONED
See Also:
Constant Field Values

SUCCESS

public static final int SUCCESS
See Also:
Constant Field Values

FAILED

public static final int FAILED
See Also:
Constant Field Values

RESIDUATING

public static final int RESIDUATING
See Also:
Constant Field Values

FLOUNDER

public static final int FLOUNDER
See Also:
Constant Field Values

PAUSED

public static final int PAUSED
See Also:
Constant Field Values

stateName

public static final java.lang.String[] stateName

state

private int state
This better be private so state changes go thru a method. The method ensures that any appropriate action is taken.


idCounter

protected static int idCounter

id

public final int id

i3

public static final java.text.DecimalFormat i3

subst

private Subst subst

client

public final Client client

NORMAL

public static final int NORMAL
See Also:
Constant Field Values

HEADNORMAL

public static final int HEADNORMAL
See Also:
Constant Field Values

PARALLEL

public static final int PARALLEL
See Also:
Constant Field Values

taskCase

public final Computation.TaskIF[] taskCase

task

private Computation.TaskIF task
Constructor Detail

Computation

public Computation(int taskIndex,
                   Term term,
                   Subst subst,
                   Client client)
Method Detail

setChildren

public void setChildren(Computation[] child)

getResult

public Term getResult()

getTerm

public Term getTerm()

update

private void update(Term reduct)

push

public void push(Term term)

pop

public void pop()

stackDebug

public void stackDebug()

getState

public int getState()

selfSetState

public void selfSetState(int state)

forcedSetState

public void forcedSetState(int state)

getIdString

public java.lang.String getIdString()
Specified by:
getIdString in interface Client

debug

public java.lang.String debug()

getSubst

public Subst getSubst()

getBinding

public Term getBinding(Variable variable)

setBinding

public void setBinding(Variable variable,
                       Term binding)

getTop

public Computation getTop()

doneChild

public void doneChild(Computation child)
Specified by:
doneChild in interface Client

step

public void step()

execute

public void execute(Instruction[] instruction)