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<Expression>; failOnReturn: bool; replaceReturnWithContinue: bool; requireContinueCond: bool)

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.

Arguments
  • blk : smart_ptr< Expression >

  • failOnReturn : bool

  • replaceReturnWithContinue : bool

  • requireContinueCond : bool