Thirty crates, one runtime.
Chrysalis is built as small, independently-tested Rust crates — the runtime ported code links against, the transpiler that produces it, and the tooling that verifies it.
Transpiler
cobolcThe transpiler driver — a CLI that runs the full pipeline and emits Rust.
cobol_lexerCOBOL lexer: tokens with source spans, copybook expansion, COPY/REPLACE.
cobol_parserCOBOL parser: tokens into the abstract syntax tree.
cobol_semaSemantic analysis: name resolution, type checking, layout computation.
cobol_codegenRust code generation from the resolved AST.
Numeric & data
cobol_numericFixed-point decimal; zoned, packed (COMP-3), binary, float, COMP-6.
cobol_picturePICTURE clause parsing and the typed descriptor.
cobol_dataData-item hierarchy, memory layout, storage, redefines, OCCURS.
cobol_moveMOVE, MOVE CORRESPONDING, and reference modification.
cobol_stringSTRING, UNSTRING, and INSPECT.
cobol_tableTables, subscripts, indexing, and SEARCH.
cobol_encodingASCII/EBCDIC code pages and collating sequences.
Runtime & control
cobol_configChrysalis.toml and CHRYSALIS_* environment loading, defaults, validation.
cobol_runtimeProgram context, control flow, and special registers.
cobol_callInter-program CALL and the program registry.
cobol_intrinsicsThe COBOL intrinsic functions (MAX, SQRT, TRIM, …).
I/O & processing
cobol_fileFile organizations, FILE STATUS codes, VSAM emulation, catalog.
cobol_reportThe Report Writer runtime (control breaks, SUM, headings).
cobol_sortSORT / MERGE runtime.
cobol_screenTerminal I/O and the SCREEN SECTION.
cobol_jsonJSON GENERATE / JSON PARSE.
cobol_xmlXML GENERATE / XML PARSE.
IBM subsystems
cobol_cicsThe full CICS (EXEC CICS) runtime — transactions, BMS, security, journaling.
cobol_sqlEmbedded SQL / DB2 host variables, cursors, SQLCODE/SQLSTATE.
cobol_imsIMS / DL-I hierarchical database interface (AIB, function codes).
cobol_leLanguage Environment (CEE*) callable services.
cobol_mqIBM MQ message-queueing interface.
cobol_transactionUnit-of-work, syncpoint/rollback, and the recovery manager.
Tooling
cobol_benchBenchmarks for decimal arithmetic, editing, and the transpiler.
cobol_fuzzFuzz harness for the numeric and PICTURE parsers.
Want the runtime in your stack?
Every crate carries full rustdoc and a per-crate design note. Consumers can depend on them directly, or use Chrysalis end-to-end.
Talk to Se.Fier →