mattbierner edited this page Dec 9, 2014 · 29 revisions
Clone this wiki locally


parse - Core parsers and functionality.

  • Running - Running parsers and extracting results.
  • Basic Parsers - The four basic parsers from which all of Bennu's functionality is built.
  • Sequencing - Combinators to execute parsers sequentially.
  • Choice - Combinators for choosing between multiple potential parsers.
  • Enumeration - Combinators for building lists of results.
  • Tokens - Basic token parsing.
  • State Interaction - Querying and changing the parser or user state.
  • Memoization - Memoizing a parser.
  • Objects - Objects used in the API.
  • Parser Creation - Helpers for defining parsers.
  • Error Objects - Error objects returned when parsing fails.

lang - More complex combinators useful for parsing languages.

  • Iterative - Combinators that run a parser a set number of times.
  • Order - Combinators that run parses in order. Includes parsing things like lists.
  • Chain - Chain combinators.

text - Parsers for text data.

incremental - Running unmodified parsers incrementally.


  • Parser State - The default parser state object, its interface, and defining custom states.
  • User Data - Threading arbitrary data through a parser.
  • Position - Position objects and threading arbitrary, position aware user state though a parser.