Module Synterp
This module implements the syntactic interpretation phase of vernacular commands. The main entry point is synterp_control
, which transforms a vernacexpr into a vernac_control_entry
.
val module_locality : bool Attributes.attribute
val with_locality : atts:Attributes.vernac_flags -> (local:bool option -> 'a) -> 'a
val with_module_locality : atts:Attributes.vernac_flags -> (module_local:bool -> 'a) -> 'a
val with_generic_atts : check:bool -> Attributes.vernac_flags -> (atts:Attributes.vernac_flags -> 'a) -> 'a
type module_entry
= Modintern.module_struct_expr * Names.ModPath.t * Modintern.module_kind * Entries.inline
type control_entry
=
|
ControlTime of
{
synterp_duration : System.duration;
}
|
ControlInstructions of
{
synterp_instructions : System.instruction_count;
}
|
ControlRedirect of string
|
ControlTimeout of
{
remaining : float;
}
|
ControlFail of
{
st : Vernacstate.Synterp.t;
}
|
ControlSucceed of
{
st : Vernacstate.Synterp.t;
}
type synterp_entry
=
and vernac_entry
= synterp_entry Vernacexpr.vernac_expr_gen
and vernac_control_entry
= (control_entry, synterp_entry) Vernacexpr.vernac_control_gen_r CAst.t
vernac_control_entry
defines elaborated vernacular expressions, after the syntactic interpretation phase and before full interpretation
exception
UnmappedLibrary of Names.DirPath.t option * Libnames.qualid
exception
NotFoundLibrary of Names.DirPath.t option * Libnames.qualid
val synterp_require : Libnames.qualid option -> Vernacexpr.export_with_cats option -> (Libnames.qualid * Vernacexpr.import_filter_expr) list -> Library.library_t list * Names.DirPath.t list
synterp_require
performs the syntactic interpretation phase of `Require` commands
val synterp_control : Vernacexpr.vernac_control -> vernac_control_entry
synterp_control
is the main entry point of the syntactic interpretation phase
val get_default_proof_mode : unit -> Pvernac.proof_mode
Default proof mode set by `start_proof`