-
Notifications
You must be signed in to change notification settings - Fork 215
v2.0 Goals
Jordan Terrell edited this page Sep 15, 2013
·
6 revisions
- Clean up the Standard Parser Operators (more discoverable)
- Consider making error reporting better out of the box, i.e. by defaulting to non-backtracking operators, so long as issues can be easily explained to users
- Build in some modularity to reduce clutter while adding convenience, and to keep domain-specific parse helpers out of the base
Parse
class - e.g.-
Parse.Numerics.Integer
,Parse.Numerics.Decimal
and so-on -
MyGte.Backtracking().Or(MyGt)
to switch operator sets (an example where the non-exclusive 'or' operation is required)
-
- Add support for Partial Success / Error Recovery
- Add support for Parser Interlacing (e.g. interlacing whitespace / comments)
- Add support for Memoization
- Add support for Left Recursion (stretch goal)
- Add support for automatically setting position information without needing a reference to Sprache (e.g. no required implementation of IPositionAware)
- Update samples to make them more useful, e.g. the Linq expressions sample
- Consider shipping a full DSL a sample (e.g. generate C# code from text input with AST)
- Consider shipping more helpers, perhaps as an add-on NuGet package, e.g. JavaScript-style tokens, C#-style tokens, etc...
- Run Sprache under performance testing tool (e.g. dotTrace) to identify performance bottlenecks
- A nice icon for the package :)