namespace GL {
namespace SL {
+/** Evaluates an expression. Only expressions consisting entirely of compile-
+time constants can be evaluated. */
class ExpressionEvaluator: public NodeVisitor
{
public:
private:
const ValueMap *variable_values;
- float result;
- bool result_valid;
+ float r_result;
+ bool r_result_valid;
public:
ExpressionEvaluator();
ExpressionEvaluator(const ValueMap &);
- float get_result() const { return result; }
- bool is_result_valid() const { return result_valid; }
+ float get_result() const { return r_result; }
+ bool is_result_valid() const { return r_result_valid; }
using NodeVisitor::visit;
virtual void visit(Literal &);
- virtual void visit(ParenthesizedExpression &);
virtual void visit(VariableReference &);
virtual void visit(UnaryExpression &);
virtual void visit(BinaryExpression &);