aboutsummaryrefslogtreecommitdiff
path: root/lib/syntax/catalog.mli
diff options
context:
space:
mode:
authorChimrod <>2024-12-09 10:13:50 +0100
committerChimrod <>2024-12-09 10:13:50 +0100
commit65164f2ebe61a566d96119c2cde23eee6771007b (patch)
tree35ce714acce0da7bf172c8d7161b1be953af6f72 /lib/syntax/catalog.mli
parent53c02501935b3cb2db78e79deb4d38c997505a95 (diff)
Splitted the code and declare the test catalog in it’s own module
Diffstat (limited to 'lib/syntax/catalog.mli')
-rw-r--r--lib/syntax/catalog.mli30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/syntax/catalog.mli b/lib/syntax/catalog.mli
new file mode 100644
index 0000000..a256c17
--- /dev/null
+++ b/lib/syntax/catalog.mli
@@ -0,0 +1,30 @@
+type ex =
+ | E : {
+ module_ :
+ (module S.Analyzer
+ with type Expression.t = 'a
+ and type Expression.t' = 'b
+ and type Instruction.t = 'c
+ and type Instruction.t' = 'd
+ and type Location.t = 'e
+ and type context = 'f);
+ expr_witness : 'a Type.Id.t;
+ expr' : 'b Type.Id.t;
+ instr_witness : 'c Type.Id.t;
+ instr' : 'd Type.Id.t;
+ location_witness : 'e Type.Id.t;
+ context : 'f Type.Id.t;
+ }
+ -> ex (** Type of check to apply *)
+
+val build :
+ (module S.Analyzer
+ with type Expression.t = _
+ and type Expression.t' = _
+ and type Instruction.t = _
+ and type Instruction.t' = _
+ and type Location.t = 'a
+ and type context = _) ->
+ 'a Type.Id.t * ex
+(** Build a new check from a module following S.Analyzer signature. ypeid Return
+ the result type which hold the final result value, and checker itself. *)