In file code/C/eval_state.H:

class GEvalState : public GObject

The state of evaluation for a given program node

Inheritance:


public members:

GOperator *node_ptr
The pointer to the operator that this state applies to
GArray < GType > params
The return values of the evaluated children
int last
The last evaluated child

Inherited from GObject:

public members:

friend ostream& operator<<(ostream& s, GObject &)

Documentation

In order to evaluate the program the evaluator needs to know how many of the arguments to the operator have been evaluated, which operator this state applies to, and which child was evaluated last. The arguments (parameters) are necessary since the operators are postfix. The operator pointer is necessary so that the program knows what it is supposed to do, and which node in the network it should modify. And the last child evaluated is neccesary for the conditionals to decide which child to evaluate next.

The reason this information needs to be explicitly stored is so that the nodes can be evaluated in ``parallel'' by executing on instruction of each, saving the state of the evaluation and moving to the next node. Because of the need to change to a different node after each instruction the evaluation can not be done recursively.


this class has no child classes.

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling