@@ -23,50 +23,6 @@ open Exceptions
2323open Waterprove
2424
2525let waterproof_version : string = "3.1.1+dev"
26-
27- (* The code below is a hack to patch in (open_)lconstr into Ltac2 *)
28- (* It should be removed when merged to coq-master (open_)lconstr should be in release 9.1 *)
29- let add_scope s f =
30- Ltac2_plugin.Tac2entries.register_scope (Names.Id.of_string s) f
31-
32- let rec pr_scope =
33- let open Ltac2_plugin.Tac2expr in
34- let open CAst in function
35- | SexprStr {v=s; _} -> Pp.qstring s
36- | SexprInt {v=n; _} -> Pp.int n
37- | SexprRec (_, {v=na; _}, args) ->
38- let na = match na with
39- | None -> Pp.str "_"
40- | Some id -> Names.Id.print id
41- in
42- Pp.(na ++ str "(" ++ prlist_with_sep (fun () -> str ", ") pr_scope args ++ str ")")
43-
44- let scope_fail s args =
45- let open Pp in
46- let args = str "(" ++ prlist_with_sep (fun () -> str ", ") pr_scope args ++ str ")" in
47- CErrors.user_err (str "Invalid arguments " ++ args ++ str " in scope " ++ str s)
48-
49- let () = add_scope "lconstr" (fun arg ->
50- let delimiters = List.map (function
51- | Ltac2_plugin.Tac2expr.SexprRec (_, { v = Some s; _ }, []) -> s
52- | _ -> scope_fail "lconstr" arg)
53- arg
54- in
55- let act e = Ltac2_plugin.Tac2quote.of_constr ~delimiters e in
56- Ltac2_plugin.Tac2entries.ScopeRule (Procq.Symbol.nterm Procq.Constr.lconstr, act)
57- )
58-
59- let () = add_scope "open_lconstr" (fun arg ->
60- let delimiters = List.map (function
61- | Ltac2_plugin.Tac2expr.SexprRec (_, { v = Some s; _ }, []) -> s
62- | _ -> scope_fail "open_.constr" arg)
63- arg
64- in
65- let act e = Ltac2_plugin.Tac2quote.of_open_constr ~delimiters e in
66- Ltac2_plugin.Tac2entries.ScopeRule (Procq.Symbol.nterm Procq.Constr.lconstr, act)
67- )
68- (* End of hack *)
69- *)
7026}
7127
7228(* Add any words that occur right after mathematical expressions as keywords *)
0 commit comments