Irony is a powerful compiler construction framework. Very handy, easy to use and fast. Grammars are written directly in C# and are quite compact and easily readable. Irony includes full-featured interpreter for most common imperative language constructs.
Sprache is a very small yet powerful parser combinator library for C#. It uses LINQ to express language grammars. Produces strong-typed functional-style parsers and encourages incremental test-driven development. A very good choice for constantly evolving DSLs.