@@ -630,6 +630,23 @@ let loc_merge l1 l2 =
630630 try Loc. merge l1 l2
631631 with Failure _ -> l1
632632
633+ [%% if coq = " 8.20" || coq = " 9.0" || coq = " 9.1" ]
634+ let classifier _loc0 _args _loc1 =
635+ Vernacextend. VtSideff ([] , VtNow )
636+ let execution p loc0 args loc1 ?loc ~atts () =
637+ let loc = Option. default (loc_merge loc0 loc1) loc in
638+ let syndata = Synterp. run_program ~loc p ~atts args in
639+ Vernactypes. vtdefault (fun () -> Interp. run_program ~loc p ~atts ~syndata args)
640+ [%% else ]
641+ let classifier _loc0 _args _loc1 ~atts =
642+ Vernacextend. VtSideff ([] , VtNow )
643+ let execution p loc0 args loc1 ?loc ~atts () =
644+ let loc = Option. default (loc_merge loc0 loc1) loc in
645+ let syndata = Synterp. run_program ~loc p ~atts args in
646+ Vernactypes. vtdefault (fun () -> Interp. run_program ~loc p ~atts ~syndata args)
647+ [%% endif]
648+
649+
633650let cache_program (nature ,p ,q ) =
634651 let p_str = String. concat " ." q in
635652 match nature with
@@ -645,7 +662,7 @@ let cache_program (nature,p,q) =
645662 ?entry:None
646663 ~depr: false
647664
648- (fun _loc0 _args _loc1 -> ( Vernacextend. VtSideff ( [] , VtNow )) )
665+ (classifier )
649666
650667 (Vernacextend. TyNonTerminal
651668 (Extend. TUentry
@@ -659,11 +676,7 @@ let cache_program (nature,p,q) =
659676 (Extend. TUentry (Genarg. get_arg_tag Rocq_elpi_arg_syntax. wit_elpi_loc),
660677 Vernacextend. TyNil )))))
661678
662- (fun loc0 args loc1 ?loc ~atts () ->
663- let loc = Option. default (loc_merge loc0 loc1) loc in
664- let syndata = Synterp. run_program ~loc p ~atts args in
665- Vernactypes. vtdefault (fun () ->
666- Interp. run_program ~loc p ~atts ~syndata args))
679+ (execution p)
667680 in
668681 Egramml. extend_vernac_command_grammar ~undoable: true ext
669682
0 commit comments