Skip to main content

Crate ironwork_exec

Crate ironwork_exec 

Source
Expand description

ironwork for COBOL: WORKING-STORAGE laid out as IBM lays it out, and an interpreter that runs a program against it in EBCDIC with the numeric model of ironwork-numeric.

Re-exports§

pub use machine::Abend;
pub use machine::Ending;

Modules§

cics
The CICS region a harness run stands in for: one task, its files, its temporary-storage and transient-data queues, and the time services. The interpreter runs the commands; this holds what they act on.
edit
Editing: a numeric value laid into a numeric-edited PICTURE, alphanumeric data into an alphanumeric-edited one, and de-editing back to a number.
files
Files. ASSIGN names a DD, and only the operator maps a DD to a host file, as JCL does, so a program reaches no file it was not given. A binary DD holds z/OS records byte for byte: fixed-length records back to back, or variable-length records each behind a 4-byte RDW. A text DD holds UTF-8 lines, converted through the program’s code page. Sequential files stream; indexed and relative files are held in memory (see Keyed).
layout
WORKING-STORAGE as IBM lays it out: sizes by USAGE and PICTURE, REDEFINES sharing storage, OCCURS repeating it. See numeric::assumptions::WORKING_STORAGE_LAYOUT for where each 01 level starts.
machine
The interpreter: one activation of one program, over the run unit’s memory in EBCDIC. A reference can reach anywhere in that memory, as a program compiled without SSRANGE can on z/OS, but never outside it.
picture
strings
The byte-level work of STRING, UNSTRING and INSPECT, apart from storage and operands.
terminal
A 3270 display: its buffer of fields, the outbound data stream that writes it, the inbound Read Modified stream that reports what the operator changed, and a text rendering. The byte values are those of the 3270 Data Stream Programmer’s Reference (GA23-0059).
tn3270
A Terminal over a TCP connection speaking TN3270 (RFC 1576): telnet negotiation of the terminal type, EOR and BINARY, then 3270 data streams as records ended by IAC EOR.
unit
The run unit: every program a run calls, sharing one memory as they share an address space on z/OS. A called program keeps its WORKING-STORAGE and open files from one CALL to the next until it is cancelled. A reference or pointer can reach anywhere in this memory, but never outside it.

Structs§

Compiled

Functions§

compile
Checks and lays out a parsed program. flags are this compiler’s own, such as -silent.