/** $(B Overview) sdpc is a library that provides a set of very simple parser combinators, to aid the development of parsers (for compilers or not). In this library, a parser is a callable object (a function, a type with `opCall`, etc.), that takes a forward range, and returns a `ParseResult`. A combinator is a template that takes one or more parsers as its parameter and transform them into a new parser. For example, a combinator can take a parser and returns a new parser that applies the original parser twice. The idea is, you can build more complex parsers by composing a bunch of simpler parsers with combinators. And sdpc is a library that implements this concept. But since it's a simple library It doesn't have features you would expect from a fancier parser combinator library, like proper handling of left recursions, memoization, etc. But it should be enough for lots of simpler use cases. Copyright: 2017 Yuxuan Shui */ module sdpc; public import sdpc.combinators; public import sdpc.primitives; public import sdpc.parsers;