package rocq-runtime

  1. Overview
  2. Docs
The Rocq Prover -- Core Binaries and Tools

Install

dune-project
 Dependency

Authors

Maintainers

Sources

rocq-9.2.0.tar.gz
sha256=a45280ab4fbaac7540b136a6b073b4a6db15739ec1e149bded43fa6f4fc25f20

doc/rocq-runtime.vernac/Metasyntax/index.html

Module MetasyntaxSource

Sourcetype notation_main_data
Sourcetype syntax_rules
Sourcetype notation_interpretation_decl

This data type packages all the necessary information to declare a notation interpretation, once the syntax is declared or recovered from a previous declaration.

Sourceval add_notation_syntax : local:bool -> infix:bool -> UserWarn.t option -> Vernacexpr.notation_declaration -> notation_interpretation_decl

Add syntax rules for a (constr) notation in the environment

Sourceval add_notation_interpretation : local:bool -> Environ.env -> notation_interpretation_decl -> unit

Declare the interpretation of a notation

Declaring scopes, delimiter keys and default scopes

Sourceval add_delimiters : Vernacexpr.locality_flag -> Notation_term.scope_name -> string -> unit
Sourceval remove_delimiters : Vernacexpr.locality_flag -> Notation_term.scope_name -> unit

Scope opening

Sourceval open_close_scope : Vernacexpr.locality_flag -> to_open:bool -> Notation_term.scope_name -> unit

Add a notation interpretation associated to a "where" clause (already has pa/pp rules)

Interpret the modifiers of a where-notation

Sourceval set_notation_for_interpretation : Environ.env -> Constrintern.internalization_env -> notation_interpretation_decl -> unit

Set the interpretation of the where-notation for interpreting a mutual block

Add only the parsing/printing rule of a notation

Sourceval add_reserved_notation : local:bool -> infix:bool -> (Names.lstring * Vernacexpr.syntax_modifier CAst.t list) -> unit

Add a syntactic definition (as in "Notation f := ...")

Print the Camlp5 state of a grammar

Sourceval pr_grammar : string list -> Pp.t
Sourceval pr_custom_grammar : Libnames.qualid -> Pp.t
Sourceval pr_keywords : unit -> Pp.t
Sourceval register_custom_grammar_for_print : (Libnames.qualid -> Procq.Entry.any_t list option) -> unit

Register a handler for Print Custom Grammar. The handler should return None for unknown entries and Some of the associated entries for known entries.

Sourceval with_syntax_protection : ('a -> 'b) -> 'a -> 'b
Sourceval declare_notation_toggle : Vernacexpr.locality_flag -> on:bool -> all:bool -> Notation.notation_query_pattern -> unit
Sourceval declare_custom_entry : Vernacexpr.locality_flag -> Names.Id.t -> unit

Declare given string as a custom grammar entry

Sourceval intern_custom_name : Libnames.qualid -> Globnames.CustomName.t

Intern custom entry name using compat layer if needed.

Sourceval intern_notation_entry : Libnames.qualid Constrexpr.notation_entry_gen -> Constrexpr.notation_entry

Intern notation entry name using compat layer for custom entries if needed.

Pretty print level information of a notation and all of its arguments