package rocq-runtime
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=a45280ab4fbaac7540b136a6b073b4a6db15739ec1e149bded43fa6f4fc25f20
doc/rocq-runtime.vernac/Metasyntax/index.html
Module MetasyntaxSource
This data type packages all the necessary information to declare a notation interpretation, once the syntax is declared or recovered from a previous declaration.
val add_notation_syntax :
local:bool ->
infix:bool ->
UserWarn.t option ->
Vernacexpr.notation_declaration ->
notation_interpretation_declAdd syntax rules for a (constr) notation in the environment
val add_notation_interpretation :
local:bool ->
Environ.env ->
notation_interpretation_decl ->
unitDeclare the interpretation of a notation
Declaring scopes, delimiter keys and default scopes
val add_class_scope :
Vernacexpr.locality_flag ->
Notation_term.scope_name ->
Notation.add_scope_where option ->
Notation.scope_class list ->
unitScope opening
val open_close_scope :
Vernacexpr.locality_flag ->
to_open:bool ->
Notation_term.scope_name ->
unitAdd a notation interpretation associated to a "where" clause (already has pa/pp rules)
Interpret the modifiers of a where-notation
val set_notation_for_interpretation :
Environ.env ->
Constrintern.internalization_env ->
notation_interpretation_decl ->
unitSet the interpretation of the where-notation for interpreting a mutual block
Add only the parsing/printing rule of a notation
val add_reserved_notation :
local:bool ->
infix:bool ->
(Names.lstring * Vernacexpr.syntax_modifier CAst.t list) ->
unitAdd a syntactic definition (as in "Notation f := ...")
val add_abbreviation :
local:Libobject.locality ->
Globnames.extended_global_reference UserWarn.with_qf option ->
Environ.env ->
Names.Id.t ->
(Names.Id.t list * Constrexpr.constr_expr) ->
Vernacexpr.syntax_modifier CAst.t list ->
unitPrint the Camlp5 state of a grammar
val register_custom_grammar_for_print :
(Libnames.qualid -> Procq.Entry.any_t list option) ->
unitRegister a handler for Print Custom Grammar. The handler should return None for unknown entries and Some of the associated entries for known entries.
val declare_notation_toggle :
Vernacexpr.locality_flag ->
on:bool ->
all:bool ->
Notation.notation_query_pattern ->
unitDeclare given string as a custom grammar entry
Intern custom entry name using compat layer if needed.
val intern_notation_entry :
Libnames.qualid Constrexpr.notation_entry_gen ->
Constrexpr.notation_entryIntern notation entry name using compat layer for custom entries if needed.
val pr_level :
(Constrexpr.notation_entry_level * Constrexpr.entry_relative_level list) ->
Extend.constr_entry_key list ->
Pp.tPretty print level information of a notation and all of its arguments