Ltac2_plugin.Tac2synmodule Tac2Scope : module type of Names.KerNamemodule ScopeTab : Nametab.NAMETAB with type elt = Tac2Scope.tCommon APIs on name tables.
val declare_scope : Names.Id.t -> unitval open_scope : Libobject.locality -> Libnames.qualid -> unitval close_scope : Libobject.locality -> Libnames.qualid -> unitval default_scope : unit -> Tac2Scope.tval current_scopes : unit -> Tac2Scope.t listmodule Tac2Custom : module type of Names.KerNamemodule CustomTab : Nametab.NAMETAB with type elt = Tac2Custom.tCommon APIs on name tables.
val find_custom_entry : Tac2Custom.t -> Tac2expr.raw_tacexpr Procq.Entry.tNB: Do not save the result of this function across summary resets, the Entry.t gets regenerated on (parsing) summary unfreeze.
module Syntax : sig ... endtype syntax_class_rule = | SyntaxRule : 'a Syntax.t * ('a -> Tac2expr.raw_tacexpr) -> syntax_class_rule |
val no_used_levels : used_levelsval union_used_levels : used_levels -> used_levels -> used_levelstype 'glb syntax_class_decl = {intern_synclass : Tac2expr.sexpr list -> used_levels * 'glb; |
interp_synclass : 'glb -> syntax_class_rule; |
}val register_syntax_class : Names.Id.t -> _ syntax_class_decl -> unitCreate a new syntax class with the provided name
val intern_syntax_class : Tac2expr.sexpr -> used_levels * syntax_classUse this to internalize the syntax class arguments for interpretation functions
val interp_syntax_class : syntax_class -> syntax_class_ruleUse this to interpret the syntax class arguments for interpretation functions
type notation_data = | UntypedNota of Tac2expr.raw_tacexpr | ||||
| TypedNota of {
} |
val interp_notation : ?loc:Loc.t -> Tac2Scope.t list -> Tac2expr.tacsyn -> notation_data * (Names.lname * Tac2expr.raw_tacexpr) listval ltac2_notation_cat : Libobject.categorytype notation_target = {target_entry : Libnames.qualid option; |
target_level : int option; |
target_scope : Libnames.qualid option; |
}val pr_register_notation : Tac2expr.sexpr list -> notation_target -> Tac2expr.raw_tacexpr -> Pp.tval register_notation : Attributes.vernac_flags -> Tac2expr.sexpr list -> notation_target -> 'body -> (Libnames.qualid option, 'body) notation_interpretationDoes not handle the deprecated abbreviation syntax
val intern_notation_interpretation : (Names.Id.Set.t -> 'raw -> 'glb) -> (Libnames.qualid option, 'raw) notation_interpretation -> (Tac2Scope.t, 'glb) notation_interpretationval register_notation_interpretation : (Tac2Scope.t, notation_data) notation_interpretation -> unitval register_custom_entry : Names.lident -> unitmodule Internal : sig ... end