[NAME] ALL.dao.control.for [TITLE] For Looping Control [DESCRIPTION] 0.1 Definition 1 CFor ::= 'for' '(' [ LocalVarDeclaration ] ';' [ Expression ] ';' [ ExpressionList ] ')' 2 ControlBlock 3 4 APFor ::= 'for' '(' [ 'var' ] Identifier '=' Expression ':' [ Expression ':' ] Expression ')' 5 ControlBlock 6 7 ForIn ::= 'for' '(' [ 'var' ] Identifier 'in' Expression {';' Identifier 'in' Expression} ')' 8 ControlBlock 9 10 ForStmt ::= APFor | CFor | ForIn C-style for loops: 1 for( i = 0; i < 10; ++i ) io.writeln( i ); 2 3 for( var i = 0; i < 10; ++i ) io.writeln( i ); 4 5 for( var i, j = 0; i < 10; ++i, j+=2 ) io.writeln( i, j ); 6 7 for( i, j = 0, k = 3; i < 10; ++i, j+=2 ) io.writeln( i, j, k ); Arithmetic progression for loops: 1 for( i = 1 : 10 ) io.writeln( i ) 2 3 for( var i = 1 : 10 ) io.writeln( i ) For-in loops: 1 m = { 'def' => 123, 'cdf' => 789, 'abc' => 345 } 2 3 for( kv in m ) io.writeln( kv ) 4 5 for( k in m.keys(); v in m.values() ) io.writeln( kv ) 6 7 for( var k in m.keys(); v in m.values() ) io.writeln( kv )