42. DECS, AST block to loop

The ast_block_to_loop module implements block to loop conversion as part of the DECS infrastructure.

All functions and symbols are in “ast_block_to_loop” module, use require to get access to it.

require daslib/ast_block_to_loop

42.1. Block to loop conversion

convert_block_to_loop(blk: smart_ptr<ast::Expression>; failOnReturn: bool const; replaceReturnWithContinue: bool const; requireContinueCond: bool const)


argument type


smart_ptr< ast::Expression >


bool const


bool const


bool const

Converts closure block to loop. If failOnReturn is true, then returns are not allowed inside the block. If replaceReturnWithContinue is true, then return cond; are replaced with if cond; continue;. If requireContinueCond is false, then return; is replaced with continue;, otherwise it is an error.