Cir_typesmodule NEL = Cobol_common.Basics.NELRepresentations are parametric in the type 'f of field values, as well as the type 'r of record memory.
General-purpose reference to a data field; comes with a source location.
and 'f field = | Constant_field of 'f immutable_field| Field_in_memory of {field : 'f resolved_field;field_info : 'f field_definition_info;}A field for which we can compute the location in the record.
*)Manipulated COBOL fields may either be constant or lie in memory.
and 'f field_definition_info = {field_definition : Cobol_data.Types.field_definition
Cobol_common.Srcloc.TYPES.with_loc;field_initial_value : 'f immutable_field option;}A field in memory is addressable and may have an initial value. It always comes from a definition in a COBOL source.
Resolved fields may either be fixed, or require access to already known indexing data.
and 'f resolved_table_cell = {cell_first_field : 'f resolved_field;cell_index_field : 'f field_reference;cell_index_max : int;cell_stride : int;}Handle for record memory: associates a memory with its definition.
val pp_field_reference :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'f field_reference ->
Ppx_deriving_runtime.unitval show_field_reference :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
'f field_reference ->
Ppx_deriving_runtime.stringval pp_field :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'f field ->
Ppx_deriving_runtime.unitval show_field :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
'f field ->
Ppx_deriving_runtime.stringval pp_immutable_field :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'f immutable_field ->
Ppx_deriving_runtime.unitval show_immutable_field :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
'f immutable_field ->
Ppx_deriving_runtime.stringval pp_field_definition_info :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'f field_definition_info ->
Ppx_deriving_runtime.unitval show_field_definition_info :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
'f field_definition_info ->
Ppx_deriving_runtime.stringval pp_resolved_field :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'f resolved_field ->
Ppx_deriving_runtime.unitval show_resolved_field :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
'f resolved_field ->
Ppx_deriving_runtime.stringval pp_resolved_table_cell :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'f resolved_table_cell ->
Ppx_deriving_runtime.unitval show_resolved_table_cell :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
'f resolved_table_cell ->
Ppx_deriving_runtime.stringval pp_record_handle :
'r. (Ppx_deriving_runtime.Format.formatter ->
'r ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'r record_handle ->
Ppx_deriving_runtime.unitval show_record_handle :
'r. (Ppx_deriving_runtime.Format.formatter ->
'r ->
Ppx_deriving_runtime.unit) ->
'r record_handle ->
Ppx_deriving_runtime.stringIn addition to the type variables above, the type of modules is parametric in the type 'm of module memory.
module FIELDS_MAP = Cobol_unit.Resolver_maptype 'f fields_map = 'f field_access FIELDS_MAP.tNamed fields are always associated with fields that lie in memory (immutable fields typically come from literals in source programs).
A field that is at a fixed location in a record.
and 'f access_range = | Fixed_range of {}| Depending_range of {min : int;max : int;odo_field : 'f fixed_mutable_field;}val show_fields_map :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
'f fields_map ->
Ppx_deriving_runtime.stringval pp_field_access :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'f field_access ->
Ppx_deriving_runtime.unitval show_field_access :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
'f field_access ->
Ppx_deriving_runtime.stringval pp_fixed_mutable_field :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'f fixed_mutable_field ->
Ppx_deriving_runtime.unitval show_fixed_mutable_field :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
'f fixed_mutable_field ->
Ppx_deriving_runtime.stringval pp_access_range :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'f access_range ->
Ppx_deriving_runtime.unitval show_access_range :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
'f access_range ->
Ppx_deriving_runtime.stringtype 'f data_reference = {data_field : 'f field;data_ref_loc : Cobol_common.Srcloc.TYPES.srcloc;data_refmod : 'f refmod option;}General-purpose reference to data, based on a given field, with optional reference modification.
val pp_data_reference :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'f data_reference ->
Ppx_deriving_runtime.unitval show_data_reference :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
'f data_reference ->
Ppx_deriving_runtime.stringval pp_refmod :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'f refmod ->
Ppx_deriving_runtime.unitval show_refmod :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
'f refmod ->
Ppx_deriving_runtime.stringtype 'f condition = bool * 'f field_reference * 'f field_referenceval pp_condition :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'f condition ->
Ppx_deriving_runtime.unitval show_condition :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
'f condition ->
Ppx_deriving_runtime.stringval pp_fields_map :
(Ppx_deriving_runtime.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) ->
'a field_access FIELDS_MAP.resolver_map Pretty.printertype ('f, 'r) data = {map : 'f fields_map;working_storage : ('f, 'r) memory_storage;local_storage : ('f, 'r) memory_storage;}Structure that gathers elements from the DATA DIVISION of a module.
and ('f, 'r) memory_storage = {storage_records : 'r record_handle list;storage_fields : 'f field_access list;}val pp_data :
'f 'r. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
(Ppx_deriving_runtime.Format.formatter -> 'r -> Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
('f, 'r) data ->
Ppx_deriving_runtime.unitval show_data :
'f 'r. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
(Ppx_deriving_runtime.Format.formatter -> 'r -> Ppx_deriving_runtime.unit) ->
('f, 'r) data ->
Ppx_deriving_runtime.stringval pp_memory_storage :
'f 'r. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
(Ppx_deriving_runtime.Format.formatter -> 'r -> Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
('f, 'r) memory_storage ->
Ppx_deriving_runtime.unitval show_memory_storage :
'f 'r. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
(Ppx_deriving_runtime.Format.formatter -> 'r -> Ppx_deriving_runtime.unit) ->
('f, 'r) memory_storage ->
Ppx_deriving_runtime.stringtype 'f statement = | IR_display of {data_refs : 'f data_reference array;advancing : bool;}| IR_stop of {optional_status : 'f data_reference option;}| IR_conditional of {condition : 'f condition;then_branch : 'f code_block;else_branch : 'f code_block;}High-level statements for the PROCEDURE DIVISION.
and 'f code_block = 'f statement Cobol_common.Srcloc.TYPES.with_loc listA block of code that is amenable to interpretation; for now, only a list of statements.
val pp_statement :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'f statement ->
Ppx_deriving_runtime.unitval show_statement :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
'f statement ->
Ppx_deriving_runtime.stringval pp_code_block :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
'f code_block ->
Ppx_deriving_runtime.unitval show_code_block :
'f. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
'f code_block ->
Ppx_deriving_runtime.stringtype ('f, 'r, 'm) module_handle = {module_memory : 'm;module_unit : Cobol_unit.Types.t;module_data : ('f, 'r) data;module_proc : 'f code_block;}val pp_module_handle :
'f 'r 'm. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
(Ppx_deriving_runtime.Format.formatter -> 'r -> Ppx_deriving_runtime.unit) ->
(Ppx_deriving_runtime.Format.formatter -> 'm -> Ppx_deriving_runtime.unit) ->
Ppx_deriving_runtime.Format.formatter ->
('f, 'r, 'm) module_handle ->
Ppx_deriving_runtime.unitval show_module_handle :
'f 'r 'm. (Ppx_deriving_runtime.Format.formatter ->
'f ->
Ppx_deriving_runtime.unit) ->
(Ppx_deriving_runtime.Format.formatter -> 'r -> Ppx_deriving_runtime.unit) ->
(Ppx_deriving_runtime.Format.formatter -> 'm -> Ppx_deriving_runtime.unit) ->
('f, 'r, 'm) module_handle ->
Ppx_deriving_runtime.string