-
Notifications
You must be signed in to change notification settings - Fork 38
Release Notes
John Gietzen edited this page Dec 3, 2016
·
4 revisions
- Significantly improved the memory usage and performance of grammars that use left-recursion.
- Re-implemented code expressions using the .NET Compiler Platform, allowing for unbalanced curly braces.
- Positive assertions (
&expr
) now return the parse result rather than an empty string. BREAKING - Added composite grammar support:
-
#parse{}
expressions -
-export
and-public
flags
-
- Added tracing support:
-
@trace
setting -
ITracer
interface -
NullTracer
andDiagnosticsTracer
implementations
-
- Implemented grammar-wide case-insensitivity:
-
@ignorecase
setting - Explicit case-sensitivity for strings and character classes (
"NASA"s
and[A-Z]s
)
-
- Simplified the syntax of
#state{}
expressions to simply#{}
. - Improved MSBuild integration:
- Regenerate parser classes when Pegasus is upgraded.
- Generate parser classes into the intermediate path (the
obj/
folder). BREAKING - Generate parser classes using the
.g.cs
file extension BREAKING - Resolved some incremental build issues and added clean support.
- Specify multiple files to the same
Pegasus.exe
process.
- Improved the Workbench:
- Fixed/improved error messages.
- Included the Workbench in NuGet package, under tools.
- Relaxed some errors to warnings when they won't crash the parser.
- Relaxed the restriction on
#error{}
expressions requiring them to appear at the end of a sequence. - Exposed the syntax highlighting classes used for the Workbench and the Visual Studio extension.