Существует ли современная (например, CLR) замена для bison/yacc?

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

5 ответов

Я использую Gardens Point GPPG и GPLEX в своем собственном динамическом языковом интерпретаторе. GPPG и GPLEX были приняты Microsoft как MPPG и MPLEX в Visual Studio 200x SDK. Это означает, что очень просто создать расширение языка Visual Studio для раскраски синтаксиса вашего языка.


Там также ANTLR, очень широко используемый генератор синтаксического анализатора, реализованный на Java.


Проверьте генератор парсеров Гарденс. Это реализация YACC/BISON как реализация для С#

GPPG


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


Быстрый поисковый поиск Google нашел Gars Point Parser Generator.

licensed under cc by-sa 3.0 with attribution.