X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fprogramcompiler.h;h=0bff354a50571128a0fa31bed3dbe8c935a0b1dc;hp=1959618f30509ec76882c4a427745df83dcc7e25;hb=HEAD;hpb=73ce62f3b9c2bbfc1e655a9df343389a733dc795 diff --git a/source/programcompiler.h b/source/programcompiler.h deleted file mode 100644 index 1959618f..00000000 --- a/source/programcompiler.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef MSP_GL_PROGRAMCOMPILER_H_ -#define MSP_GL_PROGRAMCOMPILER_H_ - -#include "programparser.h" -#include "programsyntax.h" - -namespace Msp { -namespace GL { - -class Program; - -class ProgramCompiler -{ -public: - struct Formatter: ProgramSyntax::NodeVisitor - { - std::string formatted; - unsigned indent; - bool parameter_list; - bool else_if; - - Formatter(); - - virtual void visit(ProgramSyntax::Block &); - virtual void visit(ProgramSyntax::Literal &); - virtual void visit(ProgramSyntax::ParenthesizedExpression &); - virtual void visit(ProgramSyntax::VariableReference &); - virtual void visit(ProgramSyntax::MemberAccess &); - virtual void visit(ProgramSyntax::UnaryExpression &); - virtual void visit(ProgramSyntax::BinaryExpression &); - virtual void visit(ProgramSyntax::FunctionCall &); - virtual void visit(ProgramSyntax::ExpressionStatement &); - virtual void visit(ProgramSyntax::Layout &); - virtual void visit(ProgramSyntax::StructDeclaration &); - virtual void visit(ProgramSyntax::VariableDeclaration &); - virtual void visit(ProgramSyntax::InterfaceBlock &); - virtual void visit(ProgramSyntax::FunctionDeclaration &); - virtual void visit(ProgramSyntax::Conditional &); - virtual void visit(ProgramSyntax::Iteration &); - virtual void visit(ProgramSyntax::Return &); - }; - -private: - ProgramParser parser; - ProgramSyntax::Module *module; - -public: - ProgramCompiler(); - - void compile(const std::string &); - void compile(IO::Base &); - void add_shaders(Program &); - -private: - std::string format_context(ProgramSyntax::Context &); -}; - -} // namespace GL -} // namespace Msp - -#endif