]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/evaluate.h
Implement constant folding in the GLSL compiler
[libs/gl.git] / source / glsl / evaluate.h
diff --git a/source/glsl/evaluate.h b/source/glsl/evaluate.h
deleted file mode 100644 (file)
index 4ad2677..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef MSP_GL_SL_EVALUATE_H_
-#define MSP_GL_SL_EVALUATE_H_
-
-#include "visitor.h"
-
-namespace Msp {
-namespace GL {
-namespace SL {
-
-/** Evaluates an expression.  Only expressions consisting entirely of compile-
-time constants can be evaluated. */
-class ExpressionEvaluator: public NodeVisitor
-{
-public:
-       typedef std::map<VariableDeclaration *, Expression *> ValueMap;
-
-private:
-       const ValueMap *variable_values;
-       float r_result;
-       bool r_result_valid;
-
-public:
-       ExpressionEvaluator();
-       ExpressionEvaluator(const ValueMap &);
-
-       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(VariableReference &);
-       virtual void visit(UnaryExpression &);
-       virtual void visit(BinaryExpression &);
-};
-
-} // namespace SL
-} // namespace GL
-} // namespace Msp
-
-#endif