Library
Module
Module type
Parameter
Class
Class type
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 formtry 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 APImake_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