Version: next

Development Status

Parsica is early stage, so expect things to break all the time.

This is a rough wishlist of features to do before 1.0:

Done

  • API Documentation
  • All essential parsers
  • Basic error messages
  • PHPUnit tooling
  • Recursive parsers
  • Versioned documentation
  • Essential combinators
  • JSON parser
  • Parser position in error messages
  • Expression parser helpers
  • Tutorial

TODO

  • Streaming input
  • Change the behaviour of or, add try and lookAhead
  • Better parser assertions
  • Better exceptions
  • Character categories
  • Comparison tests for canonical and performant implementations
  • Debug trees
  • Inliner
  • Lexer
  • Monoidal parser types
  • More monad combinators
  • Other popular test frameworks
  • Permutation phrases
  • Parser state
  • Profiling & performance
  • Publish documentation in e-reader and pdf formats