[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 )