Releases: dlang-community/Pegged
Releases · dlang-community/Pegged
Bug fix release.
Remove deprecated dflag for LDC
Singular commit: 31e02e2
DIP 1000 compatibility
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.
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
, andpure
,nothrow
, and@nogc
where possible (#311).
Improved error messages.
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 toParseTree.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.
- Customizable error messages.
- Indexing and slicing operators for
ParseTree
forward toParseTree.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.
- 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
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
This patch offers a better toHTML
function and some wiki/documentation correction.
Speed Improvements
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!