Jsil_syntax.Spec
module SSubst = Gillian.Symbolic.Subst
module SVal = Gillian.Symbolic.Values
module Flag = Gillian.Gil_syntax.Flag
module Expr = Gillian.Gil_syntax.Expr
module SS = Gillian.Utils.Containers.SS
type st = {
pre : Asrt.t;
Precondition
*)posts : Asrt.t list;
Postcondition
*)flag : Flag.t;
Return flag (jsil_return_flag
)
to_verify : bool;
Should the spec be verified?
*)label : (string * SS.t) option;
}
Single JSIL specifications.
type t = {
name : string;
Procedure/spec name
*)params : string list;
Procedure/spec parameters
*)sspecs : st list;
List of single specifications
*)normalised : bool;
If the spec is already normalised
*)incomplete : bool;
If the spec is incomplete
*)to_verify : bool;
Should the spec be verified?
*)}
Full JSIL specifications.
Creates a JSIL specification given its components
val get_params : t -> string list
val pp_sspec : Stdlib.Format.formatter -> st -> unit
val pp : Stdlib.Format.formatter -> t -> unit