Mise à jour terminée. Pour connaître les apports de la version 13.8.4 par rapport à notre ancienne version vous pouvez lire les "Release Notes" suivantes :
https://about.gitlab.com/releases/2021/02/11/security-release-gitlab-13-8-4-released/
https://about.gitlab.com/releases/2021/02/05/gitlab-13-8-3-released/

Commit 0d0a403d authored by Francois Bobot's avatar Francois Bobot

Un peu de documentation

parent 50f410a8
...@@ -17,22 +17,39 @@ ...@@ -17,22 +17,39 @@
(* *) (* *)
(**************************************************************************) (**************************************************************************)
(** Call provers and parse there outputs *)
type prover_answer = type prover_answer =
| Valid | Valid
| Invalid (** The task is valid according to the prover *)
| Timeout | Invalid
| Unknown of string (** The task is invalid *)
| Timeout
(** the task timeout, ie it takes more time than specified*)
| Unknown of string
(** The prover can't determined the validity or not of the task *)
| Failure of string | Failure of string
| HighFailure (** The prover report a failure *)
| HighFailure
(** An error occured during the call to the prover or none of
the given regexp match the output of the prover *)
type prover_result = { type prover_result = {
pr_answer : prover_answer; pr_answer : prover_answer;
(* The answer of the prover on the given task*)
pr_output : string; pr_output : string;
(* The output of the prover currently stderr and stdout *)
pr_time : float; pr_time : float;
(* The time taken by the prover *)
} }
val print_prover_answer : Format.formatter -> prover_answer -> unit val print_prover_answer : Format.formatter -> prover_answer -> unit
(** Pretty-print a {! prover_answer} *)
val print_prover_result : Format.formatter -> prover_result -> unit val print_prover_result : Format.formatter -> prover_result -> unit
(** Pretty-print a prover_result. The answer and the time are output.
The output of the prover is printed if and only if the answer is an
[HighFailure] *)
val call_on_buffer : val call_on_buffer :
?debug : bool -> ?debug : bool ->
...@@ -44,4 +61,6 @@ val call_on_buffer : ...@@ -44,4 +61,6 @@ val call_on_buffer :
filename : string -> filename : string ->
Buffer.t -> Buffer.t ->
unit -> prover_result unit -> prover_result
(** Call a prover on the task printed in the {!type: Buffer.t} given.
@param debug : set the debug flag.
Print on stderr the commandline called and the output of the prover. *)
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
(* *) (* *)
(**************************************************************************) (**************************************************************************)
(** Drivers for calling external provers *) (** Manage Why drivers *)
open Format open Format
open Util open Util
......
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
(* *) (* *)
(**************************************************************************) (**************************************************************************)
(** Apply printers and registered transformations mentionned in drivers *)
val print_task : Driver.driver -> Format.formatter -> Task.task -> unit val print_task : Driver.driver -> Format.formatter -> Task.task -> unit
val prove_task : val prove_task :
......
...@@ -119,16 +119,17 @@ val catch_unsupportedtype : (Ty.ty -> 'a) -> (Ty.ty -> 'a) ...@@ -119,16 +119,17 @@ val catch_unsupportedtype : (Ty.ty -> 'a) -> (Ty.ty -> 'a)
(** [catch_unsupportedtype f] return a function which applied on [arg] : (** [catch_unsupportedtype f] return a function which applied on [arg] :
- return [f arg] if [f arg] doesn't raise the {! - return [f arg] if [f arg] doesn't raise the {!
Unsupported} exception. Unsupported} exception.
- raise [unsupportedType (arg,s)] if [f arg] raises [Unsupported s]*) - raise [Error (unsupportedType (arg,s))] if [f arg]
raises [Unsupported s]*)
val catch_unsupportedterm : (Term.term -> 'a) -> (Term.term -> 'a) val catch_unsupportedterm : (Term.term -> 'a) -> (Term.term -> 'a)
(** same as {! catch_unsupportedtype} but raise {! (** same as {! catch_unsupportedtype} but use [UnsupportedExpression]
UnsupportedExpression} instead of {! UnsupportedType}*) instead of [UnsupportedType]*)
val catch_unsupportedfmla : (Term.fmla -> 'a) -> (Term.fmla -> 'a) val catch_unsupportedfmla : (Term.fmla -> 'a) -> (Term.fmla -> 'a)
(** same as {! catch_unsupportedtype} but raise {! (** same as {! catch_unsupportedtype} but use [UnsupportedExpression]
UnsupportedExpression} instead of {! UnsupportedType}*) instead of [UnsupportedType]*)
val catch_unsupportedDeclaration : (Decl.decl -> 'a) -> (Decl.decl -> 'a) val catch_unsupportedDeclaration : (Decl.decl -> 'a) -> (Decl.decl -> 'a)
(** same as {! catch_unsupportedtype} but raise {! (** same as {! catch_unsupportedtype} but use
UnsupportedDeclaration} instead of {! UnsupportedType}*) [UnsupportedDeclaration] instead of [UnsupportedType] *)
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
(* *) (* *)
(**************************************************************************) (**************************************************************************)
(** Manage the config file of Why *)
open Util open Util
type config_prover = { type config_prover = {
......
...@@ -17,3 +17,7 @@ ...@@ -17,3 +17,7 @@
(* *) (* *)
(**************************************************************************) (**************************************************************************)
(** A transformation between polymorphic logic and multi-sorted logic*)
(** {{:http://www.lri.fr/~lescuyer/pdf/CADE-CL07.ps}
Handling Polymorphism in Automated Deduction}.
Jean-Francois Couchot et Stephane Lescuyer *)
(**************************************************************************)
(* *)
(* Copyright (C) 2010- *)
(* Francois Bobot *)
(* Jean-Christophe Filliatre *)
(* Johannes Kanig *)
(* Andrei Paskevich *)
(* *)
(* This software is free software; you can redistribute it and/or *)
(* modify it under the terms of the GNU Library General Public *)
(* License version 2.1, with the special exception on linking *)
(* described in file LICENSE. *)
(* *)
(* This software is distributed in the hope that it will be useful, *)
(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)
(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *)
(* *)
(**************************************************************************)
(** Move the conjunctions to top level and split the axiom or goal *)
val split_pos_goal : Task.task Register.tlist_reg
val split_pos_neg_goal : Task.task Register.tlist_reg
val split_pos_axiom : Task.task Register.tlist_reg
val split_pos_neg_axiom : Task.task Register.tlist_reg
val split_pos_all : Task.task Register.tlist_reg
val split_pos_neg_all : Task.task Register.tlist_reg
(** naming convention :
- pos : move the conjuctions in positive sub-formula to top level
- pos : move the conjuctions in negative sub-formula to top level
- goal : apply the transformation only to goal
- axiom : apply the transformation only to axioms
- all : apply the transformation to goal and axioms *)
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
(* *) (* *)
(**************************************************************************) (**************************************************************************)
(** Hash tables for hash consing *)
(*s Hash tables for hash consing. (*s Hash tables for hash consing.
Hash consed values are of the Hash consed values are of the
......
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
(* *) (* *)
(**************************************************************************) (**************************************************************************)
(** Hashtable with weak key used for memoization *)
module type S = sig module type S = sig
type key type key
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
(* *) (* *)
(**************************************************************************) (**************************************************************************)
(** Parse rc files *)
type rc_value = type rc_value =
| RCint of int | RCint of int
...@@ -44,8 +45,8 @@ val string : rc_value -> string ...@@ -44,8 +45,8 @@ val string : rc_value -> string
val from_file : string -> (string list * (string * rc_value) list) list val from_file : string -> (string list * (string * rc_value) list) list
(** returns the records of the file [f] (** returns the records of the file [f]
@raises Not_found is f does not exists @raise Not_found is f does not exists
@raises Failure "lexing" in case of incorrect syntax *) @raise Failure "lexing" in case of incorrect syntax *)
val get_home_dir : unit -> string val get_home_dir : unit -> string
(** returns the home dir of the user *) (** returns the home dir of the user *)
......
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
(* *) (* *)
(**************************************************************************) (**************************************************************************)
(** Useful functions *)
(* useful option combinators *) (* useful option combinators *)
val of_option : 'a option -> 'a val of_option : 'a option -> 'a
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment