- Avoid the
future-coercion-class-field
warning. (Contributed by Pierre Roux.)
- Change certain proofs to avoid deprecation warnings with Coq 8.16. (Contributed by Pierre Rousselin.)
- Remove
Makefile.coq
and usecoq_makefile
instead. The.coq-native
directories, which were not installed in previous releases, should now be installed, socoq-menhirlib
should work with versions of Coq that have enablednative_compute
at configuration time.
- Change
Instance
toGlobal Instance
in the library and in the Coq files produced bymenhir --coq
so as to avoid warnings with Coq 8.14.
- The types returned by the parsing functions,
parse_result
andstep_result
have been extended to carry additional information returned during failure.Fail_pr
(resp.Fail_sr
) is now an abbreviation forFail_pr_full _ _
(resp.Fail_sr_full _ _
), andFail_pr_full
(resp.Fail_sr_full
) contains a payload of the parser's state and the most recent token when the failure occurred. This enables error reporting in the Coq parsers generated by Menhir. (Contributed by Brian Ward.)
-
Replace
Require Omega
withRequire ZArith
so as to guarantee compatibility with Coq 8.14. -
Change
Hint
toGlobal Hint
in several places, so as to avoid warnings with Coq 8.13.
- Import
ListNotations
wherever it is necessary so that we do not rely on it being exported byProgram
.
- Fix compatibility with Coq 8.10, and avoid some warnings.
- Fix compatibility with Coq 8.7 and Coq 8.9:
- In Coq 8.7, in the syntax
{ x : T & T' }
for thesigT
types, it was not possible to omit the typeT
. - An anomaly in Coq 8.7 has been worked around.
- In Coq 8.9, the numeral notation for positives moved from
Coq.Numbers.BinNums
toCoq.PArith.BinPos
.
- In Coq 8.7, in the syntax
-
The Coq development is now free of any axiom (it used to use axiom
K
), and the parsers can now be executed directly within Coq, without using extraction. -
The parser interpreter is now written using dependent types, so that no dynamic checks are needed anymore at parsing time. When running the extracted code, this should give a performance boost. Moreover, efficient extraction of
int31
is no longer needed. This required some refactoring of the type of parse trees. -
Instead of a dependent pair of a terminal and a semantic value, tokens are now a user-defined (inductive) type.
- Avoid an undocumented mode of use of the
fix
tactic, which would cause an incompatibility with Coq > 8.8.1. (Reported and corrected by Michael Soegtrop.)
- Initial release.