Skip to content
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 :)
Clone this wiki locally