pub struct Program {Show 18 fields
pub id: String,
pub options: Vec<String>,
pub initial: bool,
pub recursive: 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>,
}Fields§
§id: String§options: Vec<String>Options from CBL and PROCESS cards, in the order written.
initial: boolPROGRAM-ID … IS INITIAL: WORKING-STORAGE starts afresh on every CALL.
recursive: bool§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.