You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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