X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fprogramcompiler.cpp;h=afb2a3c32ecac3465cfe8620e74f816beeb84473;hp=fd9c50dbbb5c2879e55fb528035f7527aef126ff;hb=48453f59ec93d9b8f70a17d3034e5ca3e4780ecd;hpb=944deb38084e5e5bc82182faab2db2be156b971c diff --git a/source/programcompiler.cpp b/source/programcompiler.cpp index fd9c50db..afb2a3c3 100644 --- a/source/programcompiler.cpp +++ b/source/programcompiler.cpp @@ -543,23 +543,32 @@ void ProgramCompiler::Formatter::visit(Conditional &cond) void ProgramCompiler::Formatter::visit(Iteration &iter) { - formatted += "for("; - if(iter.init_statement) - iter.init_statement->visit(*this); - else - formatted += ';'; - if(iter.condition) + if(!iter.init_statement && iter.condition && !iter.loop_expression) { - formatted += ' '; + formatted += "while("; iter.condition->visit(*this); + formatted += ')'; } - formatted += ';'; - if(iter.loop_expression) + else { - formatted += ' '; - iter.loop_expression->visit(*this); + formatted += "for("; + if(iter.init_statement) + iter.init_statement->visit(*this); + else + formatted += ';'; + if(iter.condition) + { + formatted += ' '; + iter.condition->visit(*this); + } + formatted += ';'; + if(iter.loop_expression) + { + formatted += ' '; + iter.loop_expression->visit(*this); + } + formatted += ')'; } - formatted += ')'; if(iter.body.body.empty()) formatted += " { }";