X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fprogramcompiler.h;h=7200679e1813723aca6857a70889663b096955b1;hb=a29cc14162e911b36d18d1d1896216697c7dc0c1;hp=6bac5386828d928ba2d9379366d48b8efb9ae020;hpb=009918a51aa309eeceb6c02ecaebe45e8d357033;p=libs%2Fgl.git diff --git a/source/programcompiler.h b/source/programcompiler.h index 6bac5386..7200679e 100644 --- a/source/programcompiler.h +++ b/source/programcompiler.h @@ -61,7 +61,7 @@ private: struct InterfaceGenerator: ProgramSyntax::TraversingVisitor { - ProgramSyntax::Context *context; + ProgramSyntax::Stage *stage; std::string in_prefix; std::string out_prefix; unsigned scope_level; @@ -71,8 +71,8 @@ private: InterfaceGenerator(); - static std::string get_out_prefix(ProgramSyntax::ContextType); - void visit(ProgramSyntax::Context &); + static std::string get_out_prefix(ProgramSyntax::StageType); + void visit(ProgramSyntax::Stage &); virtual void visit(ProgramSyntax::Block &); std::string change_prefix(const std::string &, const std::string &) const; bool generate_interface(ProgramSyntax::VariableDeclaration &, const std::string &, const std::string &); @@ -90,7 +90,7 @@ private: struct UnusedVariableLocator: ProgramSyntax::TraversingVisitor { - ProgramSyntax::Context *context; + ProgramSyntax::Stage *stage; std::set unused_nodes; std::map assignments; bool assignment; @@ -98,7 +98,7 @@ private: UnusedVariableLocator(); - void visit(ProgramSyntax::Context &); + void visit(ProgramSyntax::Stage &); virtual void visit(ProgramSyntax::VariableReference &); virtual void visit(ProgramSyntax::MemberAccess &); virtual void visit(ProgramSyntax::BinaryExpression &); @@ -108,7 +108,7 @@ private: struct NodeRemover: ProgramSyntax::TraversingVisitor { - ProgramSyntax::Context *context; + ProgramSyntax::Stage *stage; std::set to_remove; unsigned n_removed; bool immutable_block; @@ -116,7 +116,7 @@ private: NodeRemover(); - void visit(ProgramSyntax::Context &); + void visit(ProgramSyntax::Stage &); virtual void visit(ProgramSyntax::Block &); virtual void visit(ProgramSyntax::StructDeclaration &); virtual void visit(ProgramSyntax::VariableDeclaration &); @@ -135,11 +135,11 @@ public: private: void process(); - void generate(ProgramSyntax::Context &); - void optimize(ProgramSyntax::Context &); + void generate(ProgramSyntax::Stage &); + void optimize(ProgramSyntax::Stage &); static void inject_block(ProgramSyntax::Block &, const ProgramSyntax::Block &); - static void resolve_variables(ProgramSyntax::Context &); - std::string format_context(ProgramSyntax::Context &); + static void resolve_variables(ProgramSyntax::Stage &); + std::string create_source(ProgramSyntax::Stage &); }; } // namespace GL