Das Visual Studio SDK wird bereits mit Tools für die Generierung von Lexer und Parser ausgeliefert. Diese heißen MPPG und MPLex und sind Teil des Managed Babel Pakets. Während die Absicht, sie mit dem SDK zu bündeln, darin besteht, Spracherweiterungen für Visual Studio zu entwickeln, sind sie perfekt zum Erzeugen allgemeiner AST-emittierender Parser geeignet.
MPLex und MPPG basieren auf GPLEX und GPPG (Projekte der Queensland University of Technology) und werden in ähnlicher Weise wie Lex und Yacc verwendet. Das SDK enthält auch MSBuild-Aktionen, um die Parser-Generierung zu einem Teil des regulären Build-Prozesses zu machen.
Hier ist ein Screencast, der MPLex und MPPG in Aktion zeigt:
Ссылка
Sie müssen das BNF ein wenig optimieren, aber TinyPG ist ein tolles Werkzeug.