Обычно грамматики BNF слишком неоднозначны. ANTLR будет, вероятно, хорош для того, что Вы ищете.
Visual Studio SDK фактически поставляется с инструментами генерации лексеров и анализаторов. Они называются MPPG и MPLex и являются частью пакета Managed Babel . Хотя намерение связать их с SDK заключается в разработке языковых расширений для Visual Studio, они идеально подходят для создания обычных анализаторов AST-излучения.
MPLex и MPPG основаны на GPLEX и GPPG (проекты Квинслендского технологического университета) и используются аналогично Lex и Yacc. SDK также содержит действия MSBuild, позволяющие сделать генерацию синтаксического анализатора частью процесса обычной сборки.
Вот скриншот, демонстрирующий MPLex и MPPG в действии:
http://msdn.microsoft.com/en-us/vstudio / cc837016. aspx
Необходимо будет настроить BNF немного, но TinyPG является большим инструментом.