Я только что переработал старую часть кода, подобного компилятору, написанного с использованием bison. Пока я делал это, мне было интересно, что такое современный эквивалент? Есть ли хорошая платформа для написания компиляторов .NET (или аналогичная), которая берет грамматику BNF и разделяет DLL, которая выполняет синтаксический анализ?
Есть ли современная (например, CLR) замена bison / yacc?
comment
Вы можете использовать ANTLR, как указывали другие, но я не вижу проблемы с Bison. К тому же он все еще активно поддерживается.
- person Paulo Matos   schedule 30.03.2012
Ответы (5)
Я использую Gardens Point GPPG и GPLEX в моем собственном интерпретаторе динамического языка. GPPG и GPLEX были приняты Microsoft как MPPG и MPLEX в Visual Studio 200x SDK. Это означает, что очень легко создать расширение языка Visual Studio для раскраски синтаксиса вашего языка.
person
Community
schedule
06.11.2008
Также существует ANTLR, очень широко используемый генератор парсеров, реализованный на Java.
person
Dónal
schedule
06.11.2008
..который, кстати, поддерживает C # в качестве цели.
- person utku_karatas; 06.11.2008
Ознакомьтесь с генератором парсера Gardens Point. Это реализация типа YACC / BISON для C #
person
JaredPar
schedule
06.11.2008
Я рекомендую Coco / R. Это очень похоже на JavaCC. Поддерживает C #, Java, C ++, F #, VB.Net, Oberon и другие языки.
person
bruno conde
schedule
06.11.2008