Есть ли современная (например, CLR) замена bison / yacc?

Я только что переработал старую часть кода, подобного компилятору, написанного с использованием bison. Пока я делал это, мне было интересно, что такое современный эквивалент? Есть ли хорошая платформа для написания компиляторов .NET (или аналогичная), которая берет грамматику BNF и разделяет DLL, которая выполняет синтаксический анализ?


person Tom Grove    schedule 06.11.2008    source источник
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
comment
..который, кстати, поддерживает C # в качестве цели. - person utku_karatas; 06.11.2008

Ознакомьтесь с генератором парсера Gardens Point. Это реализация типа YACC / BISON для C #

GPPG

person JaredPar    schedule 06.11.2008

Я рекомендую Coco / R. Это очень похоже на JavaCC. Поддерживает C #, Java, C ++, F #, VB.Net, Oberon и другие языки.

person bruno conde    schedule 06.11.2008

Быстрый поиск в Google нашел Генератор парсера точек сада.

person Harper Shelby    schedule 06.11.2008