package pratter
An extended Pratt parser
Install
Dune Dependency
Authors
Maintainers
Sources
pratter-2.0.0.tar.gz
sha512=89fc9d0645e55dda7201a2cb47fe7bee774db92892c528efcbec179f270563088b1fab1d8d25ebca97b389947c2741f7a05127996cd1a4e3c7fe726be45ab835
doc/CHANGELOG.html
Changelog
This project adheres to Semantic Versioning. Lines marked with 🧨 describe breaking changes.
[Unreleased]
[2.0] -- 2022-06-15
Added
- Postfix operators
- Comparison against a YACC parser for a small arithmetic-like language of the form
t ::= t t | t + t | - t | t * t | t = t | t !
Changed
- 🧨
Una
constructor changed toPrefix
- 🧨
Bin
constructor changed toInfix
🧨 Errors are encoded with a polymorphic variant rather than exceptions. To port code, replace sections of the form
try let t = SupPrat.expression tbl s in e with | ... -> ...
with
match SupPrat.expression tbl s with | Ok t -> e | Error ... -> ...
[1.2.1] -- 2022-05-06
Added
- Property based testing with QCheck.
Changed
- Depends on
camlp-streams
(becauseStdlib.Stream
becomes deprecated in OCaml 4.14). - New continuous integration recipe.
[1.2] -- 2021-05-05
Added
- Walkthrough in README.md.
Fixed
- Parsing a binary operator without left context fails.
- Binding power can be negative.
[1.1] -- 2021-01-23
Added
- Non associative operators
- Error handling on partially applied operators (which raises a
Stream.Failure
)
Changed
- One function
get
for operators in API make_appl
does not use the table of operators
[1.0.1] -- 2021-01-16
Fixed
- Correct OCaml dependency
- Tests comply with OCaml 4.02
Added
- Gitlab continuous integration
[1.0] -- 2021-01-14
Changed
- API: parser uses a data structure passed as argument
- renamed CHANGELOG to CHANGELOG.md
[0.1.1] -- 2021-01-06
Added
- Initial version
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page