Module Cir_logic.Types

type runtime_operation = ..
type runtime_error = ..
type runtime_error +=
  1. | Unsupported_runtime_operation of runtime_operation
type localized_runtime_errors = localized_runtime_error NEL.t
and localized_runtime_error = {
  1. loc : Cobol_common.Srcloc.TYPES.srcloc option;
  2. error : runtime_error;
}
type ('s, 'code_target) branch =
  1. | Continue of 's
  2. | Stop of 's * int
  3. | Perform of 's * 'code_target

Type of concrete branches.

type cobol_exception = |

COBOL exceptions... not represented for now. May need to be part of Cir_type if this kind of data needs to be manipulated explicitly by COBOL operations...

type ('f, 'bool, 'r, 'm, 's, 'branch) manager = {
  1. enter_module : 'm -> params:'f array -> unit;
  2. leave_module : 'm -> unit;
  3. module_ws_needs_initialization : 'm -> bool;
  4. module_ws_initialization_done : 'm -> 's -> 's evaluation_result;
  5. init_field : vm:'vm -> 'f Cir_types.field_access -> 's -> 's evaluation_result;
  6. field_value : vm:'vm -> 'f Cir_types.field_reference -> 's -> ('s * 'f) evaluation_result;
  7. data_value : vm:'vm -> 'f Cir_types.data_reference -> 's -> ('s * 'f) evaluation_result;
  8. eval_condition : vm:'vm -> 'f Cir_types.condition -> 's -> ('s * 'bool) evaluation_result;
  9. display_fields : vm:'vm -> advancing:bool -> 'f array -> 's -> 'branch evaluation_result;
  10. stop : vm:'vm -> ?status:'f -> 's -> 'branch evaluation_result;
  11. conditional : vm:'vm -> 'bool -> 'f Cir_types.code_block -> 'f Cir_types.code_block -> 's -> 'branch evaluation_result;
  12. proceed : 'branch -> ('s, 'f Cir_types.code_block) branch evaluation_result;
} constraint 'vm = ('f, 'bool, 'r, 'm, 's, 'branch) manager
and 's evaluation_result = ('s, localized_runtime_errors) Stdlib.result