Sprache is a small library for constructing parsers directly in C# code.
It isn’t an "industrial strength" framework – it fits somewhere in between regular expressions and a full-blown toolset like ANTLR.
Unlike most parser-building frameworks, you use Sprache directly from your program code, and don’t need to set up any build-time code generation tasks.
A simple parser might parse a sequence of characters:
Sprache provides a number of built-in functions that can make bigger parsers from smaller ones, often callable via Linq query comprehensions: