15 #ifndef Om_Language_Evaluation_
17 #define Om_Language_Evaluation_ \
18 Om::Language::Evaluation
62 template <
typename TheOperand>
69 template <
typename TheOperation>
71 std::auto_ptr<TheOperation>
78 template <
typename TheOperator>
85 template <
typename TheProducer>
92 template <
typename TheProducer>
bool GiveTerm(Evaluator &)
void TakeOperand(TheOperand &)
Pushes the Operand onto the front of the Expression.
Translator const & GetTranslator() const
void TakeOperation(std::auto_ptr< TheOperation >)
Takes the Operation, and gives it to the Evaluator.
void TakeProducer(TheProducer &)
Pushes the produced Elements onto the front of the Expression, last first.
Evaluation(Evaluator &)
Constructs an Evaluation on the given Evaluator.
void TakeOperator(TheOperator &)
Pushes the Operator onto the front of the Expression.
Evaluation const & operator=(Evaluation const &)
Expression thisExpression
The Expression.
Evaluator & thisEvaluator
The Evaluator.
Evaluation(Evaluation const &)
void TakeQuotedProducer(TheProducer &)
Pushes the quoted Producer onto the front of the Expression.
A Consumer that evaluates Program instances.
The Expression Program implementation.
An Operator lookup for use by an Evaluator.