nl_tokens: Reads a do / while loop ebnf do :: = T_DO statement T_WHILE ( expr ) ;
pl_tokens: function ( ) { const result = this . node ( "do" ) ; this . expect ( this . tok . T_DO ) && this . next ( ) ; let test = null ; let body = null ; body = this . read_statement ( ) ; if ( this . expect ( this . tok . T_WHILE ) ) { if ( this . next ( ) . expect ( "(" ) ) this . next ( ) ; test = this . read_expr ( ) ; if ( this . expect ( ")" ) ) this . next ( ) ; if ( this . expect ( ";" ) ) this . next ( ) ; } return result ( test , <mask> ) ; }