Find PERFORM THRU range pathology
ProprietaryFind PERFORM ... THRU ranges that overlap without nesting, and jumps that leave a range before its exit paragraph. Both make a program resist restructuring: control can enter one range and leave through another's exit, so neither range can be reasoned about, extracted or converted on its own. These are the constructs that make a mechanical translation produce something nobody can maintain, and they are invisible when reading the source in order.
io. moderne. mainframe. analysis. controlflow. FindProcedureRangePathologymod run . --recipe= io. moderne. mainframe. analysis. controlflow. FindProcedureRangePathologyInstall it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.