From fc235a1d2b7f10e6b5b1d7ed4328e2f9f7714171 Mon Sep 17 00:00:00 2001 From: Chimrod <> Date: Wed, 25 Oct 2023 22:23:06 +0200 Subject: Updated the documentation --- lib/syntax/check.mli | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) (limited to 'lib/syntax/check.mli') diff --git a/lib/syntax/check.mli b/lib/syntax/check.mli index 28ff49e..759a07a 100644 --- a/lib/syntax/check.mli +++ b/lib/syntax/check.mli @@ -1,3 +1,19 @@ +(** This module is a meta-checker. It will take many checkers and aggregate + their result together before providing an unified result. + + The modules required to be declared before being used, using the [build] + method, and provided as an array : + + {[ + let _, e1 = build (module …) + let _, e2 = build (module …) + + module Check = Make (struct + let t = [| e1; e2 |] + end) + ]} +*) + module Id : sig type 'a typeid (** The type created on-the-fly. *) @@ -19,20 +35,16 @@ val build : Return the result type which hold the final result value, and checker itself. *) -module type App = sig - val t : t array -end - type result val get : 'a Id.typeid -> result -> 'a option -(** Retrieve the information with the given type *) - -module Make (A : App) : sig - include - S.Analyzer - with type Location.t = result array - and type Instruction.t' = result array - and type Expression.t' = result array +(** The method [get] can be used to get the internal value for one of the + checker used. + *) + +module Make (A : sig + val t : t array +end) : sig + include S.Analyzer with type Location.t = result array end [@@warning "-67"] -- cgit v1.2.3