aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Adding printers for ring and field commands.Gravatar Hugo Herbelin2016-04-27
|
* Fixing printing of Function.Gravatar Hugo Herbelin2016-04-27
|
* Isolating and exporting a function for printing body of a recursive definition.Gravatar Hugo Herbelin2016-04-27
|
* Simplification in ppvernac.ml.Gravatar Hugo Herbelin2016-04-27
|
* Removing unused generalization of pr_vernac over pr_constr and pr_lconstr.Gravatar Hugo Herbelin2016-04-27
| | | | No other changes (long only because of a change of indentation).
* Fixing extra space in printing bullets.Gravatar Hugo Herbelin2016-04-27
|
* Fixing space in printing <+ and <: + fixing missing Inline keyword.Gravatar Hugo Herbelin2016-04-27
| | | | Fixing : in Declare Module.
* Fixing printing of Instance.Gravatar Hugo Herbelin2016-04-27
|
* Fixing extra space in printing abbreviations (SyntaxDefinition).Gravatar Hugo Herbelin2016-04-27
|
* Fixing printing of Polymorphic/Monomorphic.Gravatar Hugo Herbelin2016-04-27
|
* Fixing printing of Arguments.Gravatar Hugo Herbelin2016-04-27
|
* Printing notations as parsed.Gravatar Hugo Herbelin2016-04-27
|
* Revert "Protect printing of intro-patterns from collision when "[|" orGravatar Hugo Herbelin2016-04-27
| | | | | | | | | | | | "|]"" because this commit triggers a Error: Files proofs/proofs.cma(Miscprint) and /usr/local/lib/ocaml/compiler-libs/ocamlcommon.cma(Lexer) make inconsistent assumptions over interface Lexer Adding two extra spaces systematically instead. This reverts commit 72be1f6beafafc3edd30df673fbb6c7e88f8fac7.
* Protect printing of ltac's "context [...]" from possible collisionGravatar Hugo Herbelin2016-04-27
| | | | with user-level notations by inserting spaces.
* Protect printing of intro-patterns from collision when "[|" or "|]"Gravatar Hugo Herbelin2016-04-27
| | | | exist as a keyword by inserting a space inbetween.
* Fixing parsing of constr argument of ltac functions at level 8 in theGravatar Hugo Herbelin2016-04-27
| | | | presence of entries starting with a non-terminal such as "b ^2".
* Fixing printing of keeping hyp on the fly.Gravatar Hugo Herbelin2016-04-27
|
* Fixing printing of inversion as.Gravatar Hugo Herbelin2016-04-27
|
* Fixing extra space in printing destruct/induction as.Gravatar Hugo Herbelin2016-04-27
|
* Fixing printing of induction/destruct as.Gravatar Hugo Herbelin2016-04-27
|
* Fixing printing of pat%constr.Gravatar Hugo Herbelin2016-04-27
|
* Fixing printers for pr_auto_using and pr_firstorder_using.Gravatar Hugo Herbelin2016-04-27
|
* In NMake_gen, giving to tactic do_size a grammar rule which respects the levels.Gravatar Hugo Herbelin2016-04-27
|
* Adding option "Set Reversible Pattern Implicit" to Specif.v so that anGravatar Hugo Herbelin2016-04-27
| | | | implicit is found whether one writes (sig P) or {x|P x}.
* Honor parsing and printing levels for tactic entry in TACTIC EXTEND andGravatar Hugo Herbelin2016-04-27
| | | | VERNAC EXTEND.
* Temporary deactivate re-interpretation of terms in beautify.Gravatar Hugo Herbelin2016-04-27
|
* Being defensive in printing implicit arguments also with manualGravatar Hugo Herbelin2016-04-27
| | | | implicit arguments when in beautification mode.
* In the short term, stronger invariant on the syntax of TacAssert, whatGravatar Hugo Herbelin2016-04-27
| | | | | | allows for a simpler re-printing of assert. Also fixing the precedence for printing "by" clause.
* Changing rule for "*" in Operator_Properties so that, iterated, itGravatar Hugo Herbelin2016-04-27
| | | | does not print to ** which is a keyword.
* Protect the beautifier from change in the lexer state (typically byGravatar Hugo Herbelin2016-04-27
| | | | | calling Pcoq.parse_string, what some plugins such as coretactics, are doing, thus breaking the beautification of "Declare ML Module").
* So as to beautify to work, do not use notations in Inductive typesGravatar Hugo Herbelin2016-04-27
| | | | | | | | with a clause where, nor Notation, nor Fixpoints. Should be certainly improved at least for Inductive types and Fixpoints, depending on whether there is a "where" clause for instance.
* Adding a target check-beautify for testing reparsability ofGravatar Hugo Herbelin2016-04-27
| | | | | | beautification of the standard library. Currently not intrusive but needs two extra phases of compilation.
* Adding a target for beautification.Gravatar Hugo Herbelin2016-04-27
|
* Not taking arguments given by name or position into account whenGravatar Hugo Herbelin2016-04-27
| | | | | computing the arguments which allows to decide which list of implicit arguments to consider when several such lists are available.
* A heuristic to add parentheses in the presence of rules such asGravatar Hugo Herbelin2016-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notation "## c" := (S c) (at level 0, c at level 100). which break the stratification of precedences. This works for the case of infix or suffix operators which occur in only one grammar rule, such as +, *, etc. This solves the "constr" part of #3709, even though this example is artificial. The fix is not complete. It puts extra parenthesese even when it is end of sentence, as in Notation "# c % d" := (c+d) (at level 3). Check fun x => # ## x % ## (x * 2). (* fun x : nat => # ## x % (## x * 2) *) The fix could be improved by not always using 100 for the printing level of "## c", but 100 only when not the end of the sentence. The fix does not solve the general problem with symbols occurring in more than one rule, as e.g. in: Notation "# c % d" := (c+d) (at level 1). Notation "## c" := (S c) (at level 0, c at level 5). Check fun x => # ## x % 0. (* Parentheses are necessary only if "0 % 0" is also parsable *) I don't see in this case what better approach to follow than restarting the parser to check reversibility of the printing.
* Fixing a "This clause is redundant" error when interpreting the "in"Gravatar Hugo Herbelin2016-04-27
| | | | clause of a "match" over an irrefutable pattern.
* Reformatting + removal of some useless data + some cut-eliminationGravatar Hugo Herbelin2016-04-27
| | | | | | in interning of patterns. No semantic changes (except the type of ids_of_cases_indtype).
* Attempt to slightly improve abusive "Collision between boundGravatar Hugo Herbelin2016-04-27
| | | | | | | | | | | | | | | | | | variables" when matching over "{v : _ | _ & _}" which hides twice the binding "fun v" since it is "sig2 (fun v => _) (fun v => _)". Computing the bound variables statically at internalisation time rather than every time at interpretation time. This cannot hurt even if I don't know how to deal with the "notation" problem of a single bound variable actually hiding two: at the current time, the notation is printed only if the two variables are identical (see #4592), so, with this semantics the warning should not be printed, but we lost the information that we are coming from a notation; if #4592 were addressed, then one of the binding should be alpha-renamed if they differ, so collision should be solved by choosing the variable name which is not renamed, but the matching algorithm should then be aware of what the notation printing algorithm is doing... maybe not the most critical thing at the current time.
* Removing dead code in Compat.Gravatar Pierre-Marie Pédrot2016-04-25
|
* Simplifying and uniformizing the implementation of tactic notations.Gravatar Pierre-Marie Pédrot2016-04-25
|\ | | | | | | | | | | | | | | | | | | | | | | | | This branch mainly provides two features: 1. The resolution of tactic notation scopes is not tied to a hardwired Pcoq registration anymore. We expose instead an API to interpret names as a given generic argument, effectively reversing the logical dependency between parsing entries and generic arguments. 2. ML tactics do not declare their own notation system anymore. They rely instead on plain tactic notations, except for a little hack due to the way we currently interpret toplevel values.
| * Removing dead code related to printing of ML tactics in Pptactic.Gravatar Pierre-Marie Pédrot2016-04-25
| |
| * Merging the ML tactic notation and plain Tactic Notation mechanisms.Gravatar Pierre-Marie Pédrot2016-04-25
| |
| * Factorizing code in tactic notations.Gravatar Pierre-Marie Pédrot2016-04-25
| |
| * Documenting API.Gravatar Pierre-Marie Pédrot2016-04-25
| |
| * Remove dead registering code in Pcoq.Gravatar Pierre-Marie Pédrot2016-04-24
| |
| * Disentangle tactic notation resolution from Pcoq.Gravatar Pierre-Marie Pédrot2016-04-24
| | | | | | | | | | | | Instead of relying on entry names as given by a hardwired registering scheme in Pcoq, we recover them first through a user-defined map, and fallback on generic argument names.
| * Higher-level API for tactic notations.Gravatar Pierre-Marie Pédrot2016-04-24
| |
| * Factorizing the declaration of ML notation printing in Tacentries.Gravatar Pierre-Marie Pédrot2016-04-24
|/
* Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-04-24
|\
| * Fixing output test Notations2.Gravatar Hugo Herbelin2016-04-22
| |