How mikefultondev/jclparser works
jcl2jcl is a command-line JCL parser and normalizer. The principal workflow accepts input and output options, scans JCL into an in-memory statement structure, then regenerates JCL; the README also identifies walking the parse tree for analysis as the broader parser use case. Scanner excerpts show statement dispatch and handling of parameters and inline data, while the message module supplies diagnostics. The scanner-to-generator data handoff is implied by their shared program state, but is not directly shown in the excerpts, so that edge is marked unverified.
Main entry points: jcl2jcl.c CLI workflow · scanjcl.c JCL scanner · genjcl.c JCL generator · jclargs.c Option parsing
Components 9
Command line
- CLI workflow
src/jcl2jcl.c - Option parsing
src/jclargs.c
JCL parsing
- JCL scanner
src/scanjcl.c - Statement tree
src/scanjcl.c
Generation and diagnostics
- JCL generator
src/genjcl.c - Messages and help
src/jclmsgs.c
Other components
- Developer
- JCL input
- Generated JCL
Connections 10
- Developer → CLI workflow: runs command
README.md - CLI workflow → Option parsing: processes options
src/jcl2jcl.c - Option parsing → Messages and help: reports errors
src/jclargs.c - CLI workflow → JCL scanner: scans input
src/jcl2jcl.c - JCL input → JCL scanner: supplies JCL
- JCL scanner → Statement tree: builds statements
src/scanjcl.c - JCL scanner → JCL generator: passes parse tree
- CLI workflow → JCL generator: generates JCL
src/jcl2jcl.c - JCL generator → Generated JCL: writes JCL
src/genjcl.c - CLI workflow → Messages and help: prints help
src/jcl2jcl.c