Module Ppextend
Pretty-print.
Printing rules for notations
type pattern_quote_style
=
|
QuotedPattern
|
NotQuotedPattern
type unparsing
=
|
UnpMetaVar of Constrexpr.entry_relative_level * Extend.side option
|
UnpBinderMetaVar of Constrexpr.entry_relative_level * pattern_quote_style
|
UnpListMetaVar of Constrexpr.entry_relative_level * unparsing list * Extend.side option
|
UnpBinderListMetaVar of bool * unparsing list
|
UnpTerminal of string
|
UnpBox of ppbox * unparsing Loc.located list
|
UnpCut of ppcut
Declare and look for the printing rule for symbolic notations
type unparsing_rule
= unparsing list
type extra_unparsing_rules
= (string * string) list
type notation_printing_rules
=
{
notation_printing_unparsing : unparsing_rule;
notation_printing_level : Constrexpr.entry_level;
notation_printing_extra : extra_unparsing_rules;
}
type generic_notation_printing_rules
=
{
notation_printing_reserved : bool;
notation_printing_rules : notation_printing_rules;
}
val declare_generic_notation_printing_rules : Constrexpr.notation -> generic_notation_printing_rules -> unit
val declare_specific_notation_printing_rules : Constrexpr.specific_notation -> notation_printing_rules -> unit
val has_generic_notation_printing_rule : Constrexpr.notation -> bool
val find_generic_notation_printing_rule : Constrexpr.notation -> generic_notation_printing_rules
val find_specific_notation_printing_rule : Constrexpr.specific_notation -> notation_printing_rules
val find_notation_printing_rule : Constrexpr.notation_with_optional_scope option -> Constrexpr.notation -> notation_printing_rules
val find_notation_extra_printing_rules : Constrexpr.notation_with_optional_scope option -> Constrexpr.notation -> extra_unparsing_rules
val add_notation_extra_printing_rule : Constrexpr.notation -> string -> string -> unit