Expand description
ironwork for COBOL: from fixed-format source text to a syntax tree. Nothing here knows about storage or execution.
Modules§
- ast
- bms
- BMS map source (the DFHMSD, DFHMDI and DFHMDF assembler macros) as a mapset model, and the COBOL symbolic map a program COPYs for it.
- copy
- COPY and COPY REPLACING, applied to the logical text before it is lexed. Matching is by
text-words, as the standard defines them, and replacement edits the text itself, so a
pseudo-text such as
==:TAG:==can replace part of a word like:TAG:-RECORD. - csd
- The CICS system definition as DFHCSDUP reads it: DEFINE commands naming resources, with KEYWORD(value) attributes running on to the next command.
- dli
- EXEC DLI commands as the IMS translator reads them (IMS Application Programming: EXEC DLI Commands for CICS and IMS, SC18-7811-04, chapters 4-6): each command, the longer spellings it has, and the options it takes.
- feedback
- CEEIGZCT, ironwork’s own declaration of Language Environment’s feedback codes for a COPY
CEEIGZCT that no library answers. The conditions and their tokens are
rt::feedback. - jni
- The JNI member: ironwork’s own declaration of the JNI function table (
rt::jni) in COBOL, for a COPY JNI no library answers. - lexer
- parser
- report
- The REPORT SECTION as written: report descriptions with their report groups, the INITIATE, GENERATE, TERMINATE and SUPPRESS statements, and USE BEFORE REPORTING procedures.
- source
- Fixed-format reference format: columns 1-6 sequence, 7 indicator, 8-72 program text, 73 on ignored. The result is one logical text with continuation lines joined, and the options of any CBL or PROCESS cards ahead of the program.
- sql
- EXEC SQL statements, typed: what each one sends, what it receives into, and the WHENEVER actions
in force where it stands in the listing. The text a backend runs is the statement with each
input host variable replaced by
?and any INTO list removed, in one canonical spelling. - system
- The copy members IBM’s translators and products supply, as ironwork’s own declarations of the
layouts and names IBM documents: Db2 13 for z/OS SQL Reference (“The included SQLCA”, “The
included SQLDA”), CICS TS Data Areas (“EIB - EXEC interface block”) and CICS TS Application
Programming Reference, “BMS-related constants” (DFHAID, DFHBMSCA); and CEEIGZCT, Language
Environment’s symbolic feedback codes (
crate::feedback). A library member of the same name is found first, as it would be ahead of the system library on z/OS.
Structs§
- Error
- A compiler message;
Error::atmakes a severe one. - Pos
- Where a diagnostic points: 1-based source line and column.
Enums§
- Severity
- The severity of a compiler message, IBM’s five levels in order (Programming Guide SC27-8714-03, Table 38, p. 282).
Functions§
- most_
severe - The message a refusal names: the first of the most severe.
- parse
- The first program in the source.
- parse_
all_ with - Every program in the source, in order, nested programs after the one that contains them.
- parse_
with - The first program in the source, with COPY members resolved from
libraries. - return_
code - The return code of a compilation that gave these messages: the highest of theirs, 0 for none.