Crate parsell [] [src]

Parsell: an LL(1) streaming parser combinator library for Rust

The goal of this library is to provide parser combinators that:

  • are optimized for LL(1) grammars,
  • support streaming input,
  • do as little buffering or copying as possible, and
  • do as little dynamic method dispatch as possible.

It is based on:

Repo | Crate | CI

Modules

impls

Provide implementations of parser traits.

Enums

MaybeParseResult

The result of a parse.

ParseResult

The result of a parse.

Constants

CHARACTER

A committed parser that reads one character.

TOKEN

A committed parser that reads one token.

Traits

Boxable

A trait for boxable parsers.

Committed

A trait for committed parsers.

Consumer

A trait for consumers of data, typically buffers.

Factory

A trait for factories.

Function

A trait for one-argument functions.

Parser

A trait for stateless parsers.

Stateful

A trait for stateful parsers.

Uncommitted

A trait for uncommitted parsers.

Functions

character

An uncommitted parser that reads one character.

token

An uncommitted parser that reads one token.