Frama-C API - ProofScript
class console : pool:Lang.F.pool -> title:string -> Wp__.Tactical.feedback
type jscript = alternative list
and alternative = private
| Prover of VCS.prover * VCS.result
| Tactic of int * jtactic * (string * jscript) list
(*With number of pending goals
*)| Error of string * Frama_c_kernel.Json.t
and jtactic = {
header : string;
tactic : string;
params : Frama_c_kernel.Json.t;
select : Frama_c_kernel.Json.t;
strategy : string option;
}
val is_prover : alternative -> bool
val is_tactic : alternative -> bool
val a_prover : VCS.prover -> VCS.result -> alternative
val a_tactic : jtactic -> (string * jscript) list -> alternative
val pending : alternative -> int
pending goals
val pending_any : jscript -> int
minimum of pending goals
val has_proof : jscript -> bool
Has a tactical alternative
val decode : Frama_c_kernel.Json.t -> jscript
val encode : jscript -> Frama_c_kernel.Json.t
val jtactic : ?strategy:string -> Tactical.tactical -> Tactical.selection -> jtactic
val configure : jtactic -> Conditions.sequent -> (Tactical.tactical * Tactical.selection) option
Json Codecs
val json_of_selection : Tactical.selection -> Frama_c_kernel.Json.t
val selection_of_json : Conditions.sequent -> Frama_c_kernel.Json.t -> Tactical.selection
val selection_target : Frama_c_kernel.Json.t -> string
val json_of_param : Tactical.tactical -> Tactical.parameter -> string * Frama_c_kernel.Json.t
val param_of_json : Tactical.tactical -> Conditions.sequent -> Frama_c_kernel.Json.t -> Tactical.parameter -> unit
val json_of_parameters : Tactical.tactical -> Frama_c_kernel.Json.t
val parameters_of_json : Tactical.tactical -> Conditions.sequent -> Frama_c_kernel.Json.t -> unit
val json_of_tactic : jtactic -> (string * Frama_c_kernel.Json.t) list -> Frama_c_kernel.Json.t
val json_of_result : VCS.prover -> VCS.result -> Frama_c_kernel.Json.t
val prover_of_json : Frama_c_kernel.Json.t -> VCS.prover option
val result_of_json : Frama_c_kernel.Json.t -> VCS.result