<group>                 ::= <group head> <ending>

<group head>            ::= DO <while clause> ; 
                          | <group head> <statement>

<while clause>	        ::= WHILE <expression>

<ending>                ::= END
                          | END <identifier>
                          | <label definition> <ending> 
DO WHILE allows a group of statements to be executed zero or more times under control of a condition. Before each execution of the loop, the <expression> following the while is evaluated. If it has the conditional value true the statements in the <group head> are executed and control returns to the conditional test. If it has the value false control passed to the statement following end.


i = -5;
do while i<0;
  output = 'The value is ' || i;
  i = i+1;