Protected_Apply tranformation to
Joint point on which the pass will be applied
Results of applying this pass to the given joint point
Protected_Yields every innermost do-loop in the subtree rooted at $jp.
A loop is innermost when none of its descendants is a do-loop. Recursion does not descend into innermost loops.
Applies this pass starting at the given join point. If no join point is given, uses the root join point
Joint point on which the pass will be applied
Results of applying this pass to the given joint point
Pass that unrolls every innermost range do-loop in the subtree by a given factor (loop unrolling), applied recursively.
A loop is "innermost" when none of its descendants is also a do-loop. All eligible loops are collected before any transformation so that AST mutations do not interfere with the traversal.
Example