Skip to content

Releases: j-mie6/parsley

Parsley 3.3.3

31 Jan 16:09
75f07ca
Compare
Choose a tag to compare

What's Changed

  • Meaningful oneOf and noneOf error labels by @j-mie6 in #106

Full Changelog: v3.3.2...v3.3.3

Parsley 3.3.2

24 Jan 20:09
f631dad
Compare
Choose a tag to compare

What's Changed

  • Added lazy-right hand sides to <~ and ~> by @j-mie6 in #105, this fixes #104

Full Changelog: v3.3.1...v3.3.2

Parsley 3.3.1

21 Jan 15:52
Compare
Choose a tag to compare

Improved some of the documentation. Additionally, maintain more consistent internal state for the debugger, which will now accurately report positions after a string combinator failure.

Full Changelog: v3.3.0...v3.3.1

Parsley 3.3.0

07 Jan 12:24
2707b4c
Compare
Choose a tag to compare

It's now possible to use NumericRange[Char] with oneOf and noneOf, giving the pleasing oneOf('a' to 'z') syntax.

What's Changed

  • Added range-based char class operations oneOf and noneOf by @j-mie6 in #103

Full Changelog: v3.2.1...v3.3.0

Parsley 3.2.1

26 Nov 15:39
2686a55
Compare
Choose a tag to compare

Fixes a bug with multiple tabs in string literals and the positions expected from them. Removes some redundant code on recursive calls.

Parsley 3.2.0

05 Oct 17:02
c79418f
Compare
Choose a tag to compare

This release adds methods to the Reg class instead of using the functions defined in registers. This improves the type inference characteristics of the combinators.

Parsley 3.1.3

06 Jun 22:42
d7efae2
Compare
Choose a tag to compare

Fixed a bug with case-insensitive keywords, where if they are combined in an "or-chain" then they must have the leading character match case #95. Also slightly improved performance for keyword and operator combinators when the identifier and operator letters are not specified.

Parsley 3.1.2

24 May 08:51
cbe476a
Compare
Choose a tag to compare

Nothing much to see here, except dropped support for Scala 3.0.0 pre-releases, we now support Scala 3's official release!

Parsley 3.1.1

12 Apr 21:00
d08bf13
Compare
Choose a tag to compare

This release fixes a bug when amended errors are converted to hints. It also improves the semantics of .label and .explain to ensure that they are applied only when the error message has not observed the consumption of input, as opposed to whether or not input was actually consumed. This means that amend instead of attempt can control the behaviour of these combinators.

Also generalised the interface for ErrorBuilder, thereby introducing Revision2. The messages and extra lines of input are now provided as Seq instead of Set and List respectively. This is to allow an ordering for fancy error messages (explain hasn't changed).

Parsley 3.1.0

09 Apr 18:06
535e7f3
Compare
Choose a tag to compare

This release incorporates the changes in #92, #93, and #94. In summary, added the <+> combinator, and amend and entrench in parsley.errors.combinator. The calling mechanism for recursive parsers has been reworked and should be better for performance and memory consumption for larger parsers. The error builder now supports multiple lines of error input, with the default set at 1 line before and 1 after. This can be configured by extending the error builder class. This change has shifted the revision number of the builder to Revision1 and Revision0 retains the original behaviour of a single line.