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