Find the control flow between paragraphs and sections
ProprietaryReport every transfer of control between the procedures of a program as edges from MAINLINE, the statements before the first paragraph, down: PERFORM and each further procedure its THRU range runs through, GO TO including DEPENDING ON, the branch targets EXEC CICS HANDLE registers, and the fall-through from a paragraph that does not transfer away into the next. Each edge carries the line it is written at and whether it leads to a procedure that abends, with EXEC CICS ABEND or a call to CEE3ABD, so the error paths can be drawn apart from the rest. The graph is the one FindUnreachableProcedures walks, and programs containing ALTER are skipped for the same reason: ALTER retargets a GO TO at run time and leaves the program with no static control flow.
io. moderne. mainframe. analysis. controlflow. FindControlFlowEdgesmod run . --recipe= io. moderne. mainframe. analysis. controlflow. FindControlFlowEdgesInstall it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.