VernacextendSourceVernacular Extension data
type vernac_classification = | VtStartProof of vernac_start| VtSideff of vernac_sideff_type| VtQed of vernac_qed_type| VtProofStep of {proof_block_detection : proof_block_name option;}| VtQuery| VtProofMode of Pvernac.proof_mode| VtMetaa terminator
abstracting anonymously its result
open type of delimiters
Interpretation of extended vernac phrases.
type ('inprog, 'outprog, 'inproof, 'outproof) vernac_type = {inprog : 'inprog InProg.t;outprog : 'outprog InProg.t;inproof : 'inproof InProof.t;outproof : 'outproof OutProof.t;}type typed_vernac = | TypedVernac : {inprog : 'inprog InProg.t;outprog : 'outprog OutProg.t;inproof : 'inproof InProof.t;outproof : 'outproof OutProof.t;run : pm:'inprog -> proof:'inproof -> 'outprog * 'outproof;} -> typed_vernacSome convenient typed_vernac constructors
val vtcloseproof :
(lemma:Declare.Proof.t -> pm:Declare.OblState.t -> Declare.OblState.t) ->
typed_vernacval vtopenproofprogram :
(pm:Declare.OblState.t -> Declare.OblState.t * Declare.Proof.t) ->
typed_vernactype (_, _) ty_sig = | TyNil : (vernac_command, vernac_classification) ty_sig| TyTerminal : string * ('r, 's) ty_sig -> ('r, 's) ty_sig| TyNonTerminal : ('a, 'b, 'c) Extend.ty_user_symbol
* ('r, 's) ty_sig -> ('a -> 'r, 'a -> 's) ty_sigval vernac_extend :
?plugin:string ->
command:string ->
?classifier:(string -> vernac_classification) ->
?entry:Vernacexpr.vernac_expr Pcoq.Entry.t ->
ty_ml list ->
unitWrapper to dynamically extend vernacular commands.
type 'a argument_rule = | Arg_alias of 'a Pcoq.Entry.tThis is used because CAMLP5 parser can be dumb about rule factorization, which sometimes requires two entries to be the same.
*)| Arg_rules of 'a Pcoq.Production.t listThere is a discrepancy here as we use directly extension rules and thus entries instead of ty_user_symbol and thus arguments as roots.
*)type 'a vernac_argument = {arg_printer : Environ.env -> Evd.evar_map -> 'a -> Pp.t;arg_parsing : 'a argument_rule;}val vernac_argument_extend :
plugin:string ->
name:string ->
'a vernac_argument ->
('a, unit, unit) Genarg.genarg_type * 'a Pcoq.Entry.tSTM classifiers
Standard constant classifiers