No, I haven’t reverted to my ancestors’ tongue.* Sprache is a small library for parsing text from C#.

// Parse a number of capital 'A's in a row, e.g. "AAAA"
var parseA = Parse.Char('A').AtLeastOnce();

If you’ve spent any time with Haskell, you’ll be familiar with Parsec, a beautiful framework for building parsers in a functional manner.

Sprache is based on the same design (yes, the ‘m’ word applies here) ported to C# with some help from a couple of excellent tutorials.

I built Sprache as a learning exercise, but posted it to Google Code because there seems to be no other implementation with controlled source, an issue tracker, and a well-defined license. It could use some input from someone who really knows their stuff, so hopefully the public site will help find that person.

Check out the Sprache homepage for some examples and links.

*‘Sprache C#’ as far as my limited German takes me, means ‘C# Language’.