Roadmap
v0.1 — Compiler credibility
Theme: deterministic compiler skeleton.
Deliverables:
- BankTS parser subset
- typed AST
- decimal type metadata
- minimal IR
- readable COBOL emitter
- source map
- golden tests
bankc checkbankc emit cobol- account-transfer pure-function demo
- audit report skeleton
v0.2 — Financial arithmetic
Theme: safe decimal and money behaviour.
Deliverables:
- decimal operations
- rounding policies
- overflow diagnostics
- currency types
- decimal property tests
- COBOL decimal mapping report
v0.3 — Copybook foundation
Theme: data-layout credibility.
Deliverables:
- BankTS record to copybook generation
- subset copybook parser
- layout inspector
- copybook diff
- fixture generator
- copybook roundtrip example
v0.4 — Banking diagnostics
Theme: domain safety.
Deliverables:
- diagnostic catalogue
- audit-event checker
- idempotency checker
- double-entry checker
- file-status checker
- source-map coverage checker
v0.5 — Batch and file programs
Theme: batch workload credibility.
Deliverables:
- batch job declaration
- sequential file IO
- generated file sections
- generated JCL example
- batch interest accrual example
v0.6 — Db2 profile
Theme: embedded SQL credibility.
Deliverables:
- SQL declarations
- host variable mapping
- SQLCA
- SQLCODE diagnostics
- CRUD lowering
- cursor support
v0.7 — CICS profile
Theme: online transaction credibility.
Deliverables:
- transaction declaration
- COMMAREA support
- CICS command generation
- response-code diagnostics
- syncpoint/rollback model
v0.8 — Migration analysis
Theme: legacy-estate relevance.
Deliverables:
- COBOL inventory tools — done,
bankc analyse - SQL extractor — done
- CICS extractor — done
- paragraph graph — done, as Mermaid
- copybook dependency graph — copybooks are named, not followed
- skeleton migration output — not started, and the least certain of the six: a skeleton that is wrong in a way a reader trusts is worse than none
v0.9 — The depth each subsystem is missing
Theme: the second program of each kind, rather than the first.
Db2, in the order a batch meets them:
— done,WITH HOLDcursorscursor ... hold, withBANK-SQL-008multi-row— done,FETCHcursor ... rowset nisolation level on a statement— never missing: the SQL is passed throughsavepoints— the same, withBANK-SQL-009keepingcommitout of raw SQL— the sameLOCK TABLE— never missing either: an ordinary statement in aGET DIAGNOSTICSsqldeclaration, with host variables resolved like any otherscrollable cursors— done 2026-08-07, and it was the one that needed syntax rather than pass-through.cursor ... scrollemitsINSENSITIVE SCROLL CURSOR, andfor each ... from n backwardwalks the result set from a chosen row withFETCH ABSOLUTE :position
zUnit test generation — done, test <name> for <entry transaction> and
bankc zunit. It was blocked on not having IBM's schema, and what unblocked it
was test cases IBM's own generator produced, published in public repositories:
every shape in the three artifacts is copied from one of those and cited in
zunit.md. Two
values are inferred rather than observed and say so, in D20 and D21. No
generated case has been run — that is what the z/OS kit is for.
v1.0
What has to be true before the interfaces stop moving:
- a stable CLI
- a documented language subset
- stable audit schemas
- a deterministic output guarantee
- a security policy
- an SBOM
- a signed release target
- demos that run something end to end
- a compatibility matrix
- a contributor process
Researched, not built
Four integrations were researched during planning and never started. They are here rather than as pages of their own, because a page describing something that does not exist reads as though it does. What is worth keeping is the reading.
IBM Dependency Based Build. DBB builds COBOL, PL/I and Assembler as part of
a DevOps pipeline, and a generated program has to reach a real z/OS build rather
than a script invented here. What BankLang would have to emit is the dependency
graph it already knows: source, copybooks, Db2 precompile and CICS translation
metadata, and the compiler options bankc already writes onto the CBL
statement.
Overview ·
With IDz
z/OS Connect. Contract-first OpenAPI 3.0 over CICS and IMS. The interesting
half for a compiler is copybook-to-OpenAPI and back, which is the same layout
problem bankc copybook import already solves in one direction.
Designer ·
Calling APIs
Galasa, for deep integration tests against real CICS and IMS, once anything runs on z/OS at all. COBOL Check was the other candidate and is marked Emeritus by the Open Mainframe Project, so it would need evaluating before anything depended on it. Galasa · COBOL Check
IBM Z Open Editor. The editor work that did happen — the LSP and the VS Code extension — went its own way. What is still unbuilt is the part that would make a generated program navigable from the editor a z/OS developer already uses: copybook preview, generated-COBOL preview, and source-to-COBOL navigation. Z Open Editor · LSP