treecc — Free Compiler Construction Tool for C#
"The approach that we take with
treecc is similar to that used by yacc. A simple rule-based language is devised that is used to describe the intended behaviour declaratively. Embedded code is used to provide the specific implementation details. A translator then converts the input into source code that can be compiled in the usual fashion."