pub struct Program {Show 23 fields
pub id: String,
pub options: Vec<String>,
pub initial: bool,
pub recursive: bool,
pub common: bool,
pub working_storage: Vec<DataEntry>,
pub local_storage: Vec<DataEntry>,
pub linkage: Vec<DataEntry>,
pub using: Vec<Param>,
pub returning: Option<String>,
pub paragraphs: Vec<Paragraph>,
pub files: Vec<FileDecl>,
pub sources: Vec<String>,
pub exec_declarations: Vec<ExecBlock>,
pub report_writer: ReportWriter,
pub declaratives: Declaratives,
pub oo: Option<Box<Oo>>,
pub environment: Environment,
pub nested: Vec<String>,
pub containers: Vec<Container>,
pub messages: Vec<Error>,
pub function: Option<Function>,
pub prototypes: Vec<Prototype>,
}Fields§
§id: String§options: Vec<String>Options from CBL and PROCESS cards, in the order written.
initial: boolPROGRAM-ID … IS INITIAL, or once compiled the INITIAL option: WORKING-STORAGE starts afresh on every CALL.
recursive: bool§common: boolPROGRAM-ID … IS COMMON, for a program another contains.
working_storage: Vec<DataEntry>§local_storage: Vec<DataEntry>LOCAL-STORAGE: fresh for every activation of the program.
linkage: Vec<DataEntry>§using: Vec<Param>PROCEDURE DIVISION USING: the LINKAGE items the caller’s arguments address.
returning: Option<String>§paragraphs: Vec<Paragraph>§files: Vec<FileDecl>Files declared by SELECT and described by FD, with their record descriptions.
sources: Vec<String>The program’s source file, then each COPY member, as positions index them.
exec_declarations: Vec<ExecBlock>EXEC blocks in the DATA DIVISION: SQL declarations, cursors and DECLARE SECTION markers.
report_writer: ReportWriterThe REPORT SECTION, and the DECLARATIVES that serve it.
declaratives: DeclarativesThe DECLARATIVES’ USE AFTER EXCEPTION/ERROR and USE FOR DEBUGGING procedures.
oo: Option<Box<Oo>>The REPOSITORY’s classes, and for a class definition or a method what it is.
environment: Environment§nested: Vec<String>The PROGRAM-IDs of the programs it directly contains.
containers: Vec<Container>The programs that contain it, innermost first, with the names each declares GLOBAL.
messages: Vec<Error>The messages reading its source gave that did not stop the parse, in the order found.
function: Option<Function>FUNCTION-ID in place of PROGRAM-ID: a user-defined function, or a prototype of one.
prototypes: Vec<Prototype>The user-defined functions it may invoke: those defined or prototyped before it in its source, and a function itself.