X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fprogramcompiler.h;h=398bb214d10568800d69e757dec8eadad82efda5;hb=57c1139e4fe21aeca7118b18eb3ba6fa43d7bf90;hp=8ae22901e89dcbfb19bf08fc2a25929aaddf9188;hpb=74bd3813b9744550c9ac5980588e561835b616d9;p=libs%2Fgl.git diff --git a/source/programcompiler.h b/source/programcompiler.h index 8ae22901..398bb214 100644 --- a/source/programcompiler.h +++ b/source/programcompiler.h @@ -52,6 +52,7 @@ private: virtual void visit(ProgramSyntax::ExpressionStatement &); virtual void visit(ProgramSyntax::Import &); virtual void visit(ProgramSyntax::Layout &); + virtual void visit(ProgramSyntax::InterfaceLayout &); virtual void visit(ProgramSyntax::StructDeclaration &); virtual void visit(ProgramSyntax::VariableDeclaration &); virtual void visit(ProgramSyntax::InterfaceBlock &); @@ -120,12 +121,12 @@ private: struct BlockModifier: Visitor { bool remove_node; - std::list insert_nodes; + std::list > insert_nodes; BlockModifier(); void flatten_block(ProgramSyntax::Block &); - void apply_and_increment(ProgramSyntax::Block &, std::list >::iterator &); + void apply_and_increment(ProgramSyntax::Block &, std::list >::iterator &); virtual void visit(ProgramSyntax::Block &); }; @@ -134,7 +135,7 @@ private: std::string in_prefix; std::string out_prefix; unsigned scope_level; - std::map iface_declarations; + std::map > iface_declarations; InterfaceGenerator(); @@ -167,6 +168,7 @@ private: ExpressionEvaluator(const ValueMap &); virtual void visit(ProgramSyntax::Literal &); + virtual void visit(ProgramSyntax::ParenthesizedExpression &); virtual void visit(ProgramSyntax::VariableReference &); virtual void visit(ProgramSyntax::UnaryExpression &); virtual void visit(ProgramSyntax::BinaryExpression &);