Я планирую написать компилятор С# 3.0 в С#. Где я могу получить грамматику для генерации парсера?
Предпочтительно тот, который работает с ANTLR v3 без изменений.
Ответ 1
Я столкнулся с ANTLR С# Grammar на CodePlex. Это относительно новый проект и использует ANTLR 3.2. В нем говорится, что он поддерживает С# 4.0 и лицензируется в рамках публичной лицензии Eclipse (EPL).
Я играл с ним немного. Он содержит кучу тестовых файлов, содержащих выражения. Он поддерживает lambdas, небезопасный контекст,... как вы, естественно, ожидаете. Он анализирует файл С# и передает вам абстрактное синтаксическое дерево. Вы можете делать все, что хотите.