Module type Gil_lifter.Make
Parameters
moduleSMemory : Engine.SMemory.SmodulePC : Command_line.ParserAndCompiler.SmoduleVerifier : Engine.Verifier.S with type annot = PC.Annot.tSignature
type memory_error = SMemory.err_ttype tl_ast = PC.tl_asttype init_data = PC.init_datatype pc_err = PC.errtype memory = SMemory.ttype cmd_report = Verifier.SAInterpreter.Logging.ConfigReport.ttype annot = PC.Annot.ttype Stdlib.Effect.t += | 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 * Utils.stop_reason)) optionGiven 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 * Utils.stop_reason)Exception-raising version of init.
val dump : t -> Yojson.Safe.tGives a JSON representation of the lifter's state.
Used for debugging problems with the lifter.
val step_over :
t ->
Logging.Report_id.t ->
Logging.Report_id.t * Utils.stop_reasonval step_in :
t ->
Logging.Report_id.t ->
Logging.Report_id.t * Utils.stop_reasonval step_out :
t ->
Logging.Report_id.t ->
Logging.Report_id.t * Utils.stop_reasonval step_back :
t ->
Logging.Report_id.t ->
Logging.Report_id.t * Utils.stop_reasonval step_branch :
t ->
Logging.Report_id.t ->
Debugger_utils.Exec_map.Packaged.branch_case option ->
Logging.Report_id.t * Utils.stop_reasonval continue :
t ->
Logging.Report_id.t ->
Logging.Report_id.t * Utils.stop_reasonval continue_back :
t ->
Logging.Report_id.t ->
Logging.Report_id.t * Utils.stop_reasonval get_matches_at_id :
Logging.Report_id.t ->
t ->
Utils.Match_map.matching listGives 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 ->
Utils.exception_infoval pp_expr : t -> Gil_syntax.Expr.t Fmt.tval pp_asrt : t -> Gil_syntax.Asrt.atom Fmt.tval get_variables :
t ->
memory Utils.astate ->
Logging.Report_id.t ->
Utils.Variable.scope list * Utils.Variable.tsval parse_and_compile_files :
entrypoint:string ->
string list ->
((annot, tl_ast, init_data) Command_line.ParserAndCompiler.compiled_progs
* string)
Utils.Gillian_result.tval init_manual :
string ->
string list ->
t
* (cmd_report Debugger_lifter__.Lifter_intf.Types.executed_cmd_data option ->
unit ->
Logging.Report_id.t * Utils.stop_reason)A version of init that allows manually supplying exec_data instead of triggering the Step effect - this is used when Gil is not the primary lifter.
val handle_cmd :
Logging.Report_id.t ->
Gil_syntax.Branch_case.t option ->
cmd_report Debugger_lifter__.Lifter_intf.Types.executed_cmd_data ->
t ->
unitval path_of_id : Logging.Report_id.t -> t -> Gil_syntax.Branch_case.pathval should_skip_cmd :
cmd_report Debugger_lifter__.Lifter_intf.Types.executed_cmd_data ->
t ->
boolval cases_at_id : Logging.Report_id.t -> t -> Gil_syntax.Branch_case.t listval get_type_env_vars : Symbolic.Type_env.t -> Utils.Variable.t listval get_pred_vars : Engine.Preds.t -> Utils.Variable.t listval get_pure_formulae_vars : Symbolic.Pure_context.t -> Utils.Variable.t list