Module Cobol_data.Memory

type elementary_size =
  1. | Size_of_C_double
  2. | Size_of_C_float
  3. | Size_of_C_long
  4. | Size_of_C_long_double
  5. | Size_of_dynamic_table
  6. | Size_of_index
  7. | Size_of_pointer
val pp_elementary_size : Ppx_deriving_runtime.Format.formatter -> elementary_size -> Ppx_deriving_runtime.unit
val show_elementary_size : elementary_size -> Ppx_deriving_runtime.string
val compare_elementary_size : elementary_size -> elementary_size -> Ppx_deriving_runtime.int
type symbolic_var = private
  1. | Valof of Cobol_ptree.qualname
val pp_symbolic_var : Ppx_deriving_runtime.Format.formatter -> symbolic_var -> Ppx_deriving_runtime.unit
val show_symbolic_var : symbolic_var -> Ppx_deriving_runtime.string
val compare_symbolic_var : symbolic_var -> symbolic_var -> Ppx_deriving_runtime.int
type factor
val pp_factor : Ppx_deriving_runtime.Format.formatter -> factor -> Ppx_deriving_runtime.unit
val show_factor : factor -> Ppx_deriving_runtime.string
type size
val pp_size : Ppx_deriving_runtime.Format.formatter -> size -> Ppx_deriving_runtime.unit
val show_size : size -> Ppx_deriving_runtime.string
type offset = size
val pp_offset : Ppx_deriving_runtime.Format.formatter -> offset -> Ppx_deriving_runtime.unit
val show_offset : offset -> Ppx_deriving_runtime.string
exception NON_LINEAR of symbolic_var Cobol_common.Basics.NEL.t
exception NOT_SCALAR of [ `Vars of symbolic_var Cobol_common.Basics.NEL.t | `Consts of elementary_size Cobol_common.Basics.NEL.t ]
val int : int -> factor
val point_size : size
val const_size : int -> size
val valof_size : Cobol_ptree.qualname -> size
val elementary_size : elementary_size -> size
val bit_size : size
val byte_size : size
val size_of_C_double : size
val size_of_C_float : size
val size_of_C_long : size
val size_of_C_long_double : size
val size_of_dynamic_table : size
val size_of_index : size
val size_of_pointer : size
val as_bits : size -> int

Raises NOT_SCALAR in case of failure.

val add : size -> size -> size
val diff : size -> size -> size
val increase : size -> by:size -> size
val repeat : size -> by:factor -> size

May raise NON_CONST.

val mult_int : size -> int -> size
val no_offset : offset
val shift : offset -> by:size -> offset
val size : from:offset -> to_:offset -> size