Find parse problems

Proprietary

Report every source the parsers could not read, could not read as what it was taken for, or read with a member missing, and mark each where it prints. A file that did not parse is a FAILURE when the parser should have read it, and MISCLASSIFIED when it is not what its name says — a control card kept as .cbl, a member with no card beginning // — which the parser reports under an exception of its own. A program whose COPY found no member, and a job whose step, INCLUDE or input DD names a procedure or member that was not supplied, is UNRESOLVED: it parsed, and every analysis reads it as though the member were empty. A member no parser claimed is read as text, and is reported when it has no extension or looks like code. Every COPY also gets its CopybookSource row, and every failure a Findings row.

io.moderne.mainframe.ingestion.FindParseProblems
mod run . --recipe=io.moderne.mainframe.ingestion.FindParseProblems

Install it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.