//Generic infinite loop, while loops with static expression as their conditional with positive truthfullness get turned into this as well as empty for() calls public void ProcessStatementInfLoop(DMASTProcStatementInfLoop statementInfLoop) { _proc.StartScope(); { string loopLabel = _proc.NewLabelName(); _proc.LoopStart(loopLabel); { ProcessBlockInner(statementInfLoop.Body); _proc.LoopContinue(loopLabel); _proc.LoopJumpToStart(loopLabel); } _proc.LoopEnd(); } _proc.EndScope(); }
public void VisitProcStatementInfLoop(DMASTProcStatementInfLoop statementInfLoop) { statementInfLoop.Body?.Visit(this); }