aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Herbelin2020-09-18 19:32:56 +0200
committerHugo Herbelin2020-09-18 19:32:56 +0200
commit17aa50c3cdf3766cdba76ea9d82c9aaa506eaa34 (patch)
tree5430b25cb1517423d528171e144ae9ae515a58f1
parent3ff6af396ce73291a127707022aa2c96adc52b0b (diff)
Adding debugging printers for Intmap.
-rw-r--r--dev/include_printers2
-rw-r--r--dev/top_printers.dbg1
-rw-r--r--dev/top_printers.ml8
-rw-r--r--dev/top_printers.mli3
4 files changed, 11 insertions, 3 deletions
diff --git a/dev/include_printers b/dev/include_printers
index 30529b5fd6..7583762970 100644
--- a/dev/include_printers
+++ b/dev/include_printers
@@ -26,6 +26,8 @@
#install_printer (* judgement *) ppj;;
#install_printer (* id set *) ppidset;;
#install_printer (* int set *) ppintset;;
+#install_printer (* id set *) ppidmapgen;;
+#install_printer (* int set *) ppintmapgen;;
#install_printer (* Reductionops machine stack *) pp_stack_t;;
diff --git a/dev/top_printers.dbg b/dev/top_printers.dbg
index 60618f6491..21d6fbe9aa 100644
--- a/dev/top_printers.dbg
+++ b/dev/top_printers.dbg
@@ -28,6 +28,7 @@ install_printer Top_printers.ppnumtokunsignednat
install_printer Top_printers.ppintset
install_printer Top_printers.ppidset
install_printer Top_printers.ppidmapgen
+install_printer Top_printers.ppintmapgen
install_printer Top_printers.ppididmap
install_printer Top_printers.ppconstrunderbindersidmap
install_printer Top_printers.ppevarsubst
diff --git a/dev/top_printers.ml b/dev/top_printers.ml
index 773170207e..e4dd7ef52c 100644
--- a/dev/top_printers.ml
+++ b/dev/top_printers.ml
@@ -94,11 +94,13 @@ let pridmap pr l =
prset' pr (Id.Map.fold (fun a b l -> (a,b)::l) l [])
let ppidmap pr l = pp (pridmap pr l)
-let pridmapgen l =
- let dom = Id.Set.elements (Id.Map.domain l) in
+let prmapgen pr dom =
if dom = [] then str "[]" else
- str "[domain= " ++ hov 0 (prlist_with_sep spc Id.print dom) ++ str "]"
+ str "[domain= " ++ hov 0 (prlist_with_sep spc pr dom) ++ str "]"
+let pridmapgen l = prmapgen Id.print (Id.Set.elements (Id.Map.domain l))
let ppidmapgen l = pp (pridmapgen l)
+let printmapgen l = prmapgen int (Int.Set.elements (Int.Map.domain l))
+let ppintmapgen l = pp (printmapgen l)
let ppevarsubst = ppidmap (fun id0 -> prset (fun (c,copt,id) ->
hov 0
diff --git a/dev/top_printers.mli b/dev/top_printers.mli
index b1bb5e4702..712f66112c 100644
--- a/dev/top_printers.mli
+++ b/dev/top_printers.mli
@@ -65,6 +65,9 @@ val ppidmap : (Names.Id.Map.key -> 'a -> Pp.t) -> 'a Names.Id.Map.t -> unit
val pridmapgen : 'a Names.Id.Map.t -> Pp.t
val ppidmapgen : 'a Names.Id.Map.t -> unit
+val printmapgen : 'a Int.Map.t -> Pp.t
+val ppintmapgen : 'a Int.Map.t -> unit
+
val prididmap : Names.Id.t Names.Id.Map.t -> Pp.t
val ppididmap : Names.Id.t Names.Id.Map.t -> unit