Skip to content
gillian » Gillian » Command_line » Make » Lifter

Parameter Make.Lifter

Parameters

moduleV : Engine.Verifier.S with type annot = PC.Annot.t

Signature

type t

The lifter's state

type memory_error = SMemory.err_t
type tl_ast = PC.tl_ast
type init_data = ID.t
type pc_err = PC.err
type memory = SMemory.t
type annot = PC.Annot.t
type Stdlib.Effect.t +=
  1. | Step : (Logging.Report_id.t option
            * Gil_syntax.Branch_case.t option
            * Gil_syntax.Branch_case.path)
    -> cmd_report
                                                Debugger_lifter__.Lifter_intf.Types.executed_cmd_data

                                                Stdlib.Effect.t
val init :
  proc_name:string ->
  all_procs:string list ->
  tl_ast option ->
  (annot, int) Gil_syntax.Prog.t ->
  (t * (unit -> Logging.Report_id.t * Debugger.Utils.stop_reason)) option

Given a proc name, a tl_ast, and the data from the first executed GIL command, initialise the lifter's state and handle the first command.

Returns None if lifting is unsupported (i.e. if tl_ast is None).

val init_exn :
  proc_name:string ->
  all_procs:string list ->
  tl_ast option ->
  (annot, int) Gil_syntax.Prog.t ->
  t * (unit -> Logging.Report_id.t * Debugger.Utils.stop_reason)

Exception-raising version of init.

val dump : t -> Yojson.Safe.t

Gives a JSON representation of the lifter's state.

Used for debugging problems with the lifter.

val get_matches_at_id :
  Logging.Report_id.t ->
  t ->
  Debugger.Utils.Match_map.matching list

Gives a list of matches that occurred at the specified command.

val memory_error_to_exception_info :
  (memory_error, annot, tl_ast)
    Debugger_lifter__.Lifter_intf.Types.memory_error_info
->

  Debugger.Utils.exception_info
val pp_expr : t -> Gil_syntax.Expr.t Fmt.t
val pp_asrt : t -> Gil_syntax.Asrt.atom Fmt.t
val parse_and_compile_files :
  entrypoint:string ->
  string list ->
  ((annot, tl_ast, init_data) ParserAndCompiler.compiled_progs * string)
    Utils.Gillian_result.t