Module Cobol_common

module Basics : sig ... end
module Srcloc : sig ... end
module Copybook : sig ... end
module Exec_block : sig ... end
module Diagnostics : sig ... end
module Diagnostics_accumulator : sig ... end
module Visitor : sig ... end
module Behaviors : sig ... end

Type tags, useful to name and determine component behaviors

module Tokenizing : sig ... end
module Symbolic : sig ... end
exception FatalError of string
val fatal : ('a, Stdlib.Format.formatter, unit, _) Stdlib.format4 -> 'a
module Types : sig ... end
include module type of Types with type 'a with_diags = 'a Types.with_diags and type 'a with_loc = 'a Types.with_loc and type lexloc = Types.lexloc and type srcloc = Types.srcloc
include module type of Diagnostics.TYPES with type 'a with_diags = 'a Types.with_diags
type severity =
  1. | Hint
  2. | Note
  3. | Info
  4. | Warn
  5. | Error
type 'a in_result = ('a * diagnostic option, diagnostic option) Stdlib.result
type 'a with_diags = 'a Types.with_diags = {
  1. result : 'a;
  2. diags : diagnostics;
}
include module type of Srcloc.TYPES with type 'a with_loc = 'a Types.with_loc with type lexloc = Types.lexloc with type srcloc = Types.srcloc
type lexloc = Types.lexloc
type srcloc = Types.srcloc
type copylocs = Srcloc.TYPES.copylocs
type 'a with_loc = 'a Types.with_loc = {
  1. payload : 'a;
  2. loc : srcloc;
}
val compare_with_loc : ('a -> 'a -> Ppx_deriving_runtime.int) -> 'a with_loc -> 'a with_loc -> Ppx_deriving_runtime.int
val join_all : ('a, 'e) Stdlib.result list -> ('a list, 'e) Stdlib.result

join_all diags res_l takes every value of a list of ('a, 'e) result list and return a ('a, 'e) result. If all the elements in the parameter list are Ok _ then the result is Ok _ otherwise Error _

val init_default_exn_printers : unit -> unit
val exit : ?status:int -> unit -> _

Exit the program with a status that depends on diagnostics reported in Diagnostics.show_n_forget (or Diagnostics.sink_result).