EgrammlSourceMapping of grammar productions to camlp5 actions.
This is the part specific to vernac extensions. For the Rocq-level Notation and Tactic Notation, see Egramrocq.
type 's grammar_prod_item = | GramTerminal of string| GramNonTerminal : ('a Genarg.raw_abstract_argument_type
* ('s, _, 'a) Procq.Symbol.t)
Loc.located -> 's grammar_prod_itemval declare_vernac_command_grammar :
allow_override:bool ->
Vernacexpr.extend_name ->
Vernacexpr.vernac_expr Procq.Entry.t option ->
Vernacexpr.vernac_expr grammar_prod_item list ->
unitval grammar_extend :
?plugin_uid:(string * string) ->
'a Procq.Entry.t ->
'a Procq.extend_statement ->
unitval get_extend_vernac_rule :
Vernacexpr.extend_name ->
Vernacexpr.vernac_expr grammar_prod_item listUtility function reused in Egramrocq :
val make_rule :
(Loc.t -> Genarg.raw_generic_argument list -> 'a) ->
'a grammar_prod_item list ->
'a Procq.Production.t