Skip to content

Releases: PhilippeSigaud/Pegged

Bug fix release.

01 Sep 11:37
Compare
Choose a tag to compare

Fix #333 array bounds violation on error.

Remove deprecated dflag for LDC

31 Mar 14:37
Compare
Choose a tag to compare

DIP 1000 compatibility

28 Feb 17:53
d5d27f0
Compare
Choose a tag to compare

Improvements since v0.4.6:

  • Support -preview=dip1000 for compilers with front ends as new as 2.102.1.
  • Run CI tests using GitHub Actions.

Generate @safe parsers.

10 May 16:00
Compare
Choose a tag to compare

Improvements since v0.4.5:

  • Generate a proper error message when attempting to generate a parser at compile time from a grammar with a syntax error (#301).
  • Fix the C grammar example to accept identifiers that start with the name of a keyword (#307).
  • Add the Python grammar example (#309, #310, still experimental).
  • Generate fully annotated parsers with @safe, and pure, nothrow, and @nogc where possible (#311).

Improved error messages.

05 May 21:52
d5b5052
Compare
Choose a tag to compare

Improvements since v.0.4.4:

  • Silence an escaping reference deprecation.
  • Makefile support for LDC.
  • Customizable error messages.
  • Indexing and slicing operators for ParseTree forward to ParseTree.children.
  • Several examples are now complete runnable DUB sub packages and are being unit tested by the CI.
  • Fix C grammar for identifiers with keyword prefixes.
  • Avoid to shadow external scope name in the foreach loop.
  • Keep track of the longest failed match to improve error messages.
  • Fix recursive git clone on Windows.

Improved error messages.

14 Apr 22:42
146e9e0
Compare
Choose a tag to compare
Pre-release
  • Customizable error messages.
  • Indexing and slicing operators for ParseTree forward to ParseTree.children.
  • Fix issue #272 by reducing template bloat.
  • Several examples are now complete runnable DUB sub packages and are being unit tested by the CI.

Improved error messages.

26 Feb 11:23
b1c5adf
Compare
Choose a tag to compare
Pre-release
  • Fix C grammar for identifiers with keyword prefixes
  • Avoid to shadow external scope name in the foreach loop
  • Keep track of the longest failed match to improve error messages
  • Fix recursive git clone on Windows

Known issue: #272.

Dupping and comparing ParseTree

05 Sep 18:13
dc2a85b
Compare
Choose a tag to compare

This release add idup() for creating immutable copies, make dup() work on immutable parse trees and make softCompare() work on immutable parse trees.

Many thanks to Bastiaan for the code!

Better toHTML and wiki/documentation correction

03 Mar 07:37
01eb3d9
Compare
Choose a tag to compare

This patch offers a better toHTML function and some wiki/documentation correction.

Speed Improvements

17 Apr 16:45
Compare
Choose a tag to compare

This is a patch release that brings a drastic speed improvement: due to a mistake in the use of std.algorithm.mutation.remove, an array grew to a massive size and memoization was never reenabled.
With this patch, in some tests the parsing of a big Extended Pascal file went from 13 minutes down to 17 seconds!