X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fprogramparser.cpp;h=b607e1cfb8f063abfec2127b7c57247809677a81;hp=3b87ea7b58b1a2a16c1a09d3cd6432c53009d73f;hb=9339ae44a89f295523b6c25681d87642767864c4;hpb=20af6dd2f04caa224d8cae00befc97d010a1ed08 diff --git a/source/programparser.cpp b/source/programparser.cpp index 3b87ea7b..b607e1cf 100644 --- a/source/programparser.cpp +++ b/source/programparser.cpp @@ -853,14 +853,19 @@ RefPtr ProgramParser::parse_iteration() loop->init_statement = parse_statement(); else { - RefPtr expr = new ExpressionStatement; - expr->expression = parse_expression(); + if(token!=";") + { + RefPtr expr = new ExpressionStatement; + expr->expression = parse_expression(); + loop->init_statement = expr; + } expect(";"); - loop->init_statement = expr; } - loop->condition = parse_expression(); + if(peek_token()!=";") + loop->condition = parse_expression(); expect(";"); - loop->loop_expression = parse_expression(); + if(peek_token()!=")") + loop->loop_expression = parse_expression(); expect(")"); parse_block(loop->body, false);