Название/ссылка | Популярность | Год выхода последней версии | Группа | Тип грамматики | Формат правил | Приоритеты и ассоциативность операций | Лексический анализ | Формат задания лексем | Подавтоматы/контекст в лексическом анализе | Создание и обработка AST/деревьев разбора | Поддерживаемые языки программирования | Пример |
BISON/YACC/ GPPG/fsyacc и др. | высокая | 2015 | генератор кода | LR(1)/GLR | вариант БНФ | есть | интеграция с FLEX/GPLEX/fslex | RE | есть | нет | C, C++, Java, C#, F# и др. | Пример |
ANTLR | высокая | 2017 | генератор кода | LL(*) | вариант РБНФ (с обозначениями из RE) | есть | встроенный | на базе правил грамматики | есть | встроенная, слушатель или посетитель | C#, Java, Python, JavaScript, C++ и др. | Пример |
COCO/R | умеренная | 2018 | генератор кода | LL(*) | вариант РБНФ (атрибуты и действия указываются в правилах, что затрудняет их чтение) | нет | встроенный | на базе правил грамматики и специальные описания для некоторых видов лексем | нет | нет | C#, C++, Java, F#, VB и др. |
JavaCC | высокая | 2017 | генератор кода | LL(k) | вариант РБНФ (указание типов и атрибутов в правилах затрудняет их чтение) | нет | встроенный | свой вариант RE | нет | встроенная, слушатель или посетитель | Java, C++, JavaScript |
Irony | низкая | 2017 | библиотека классов | LR(1) | БНФ (необходимо добавлять вспомогательные нетерминальные символы для формирования AST) | есть | только стандартные лексемы | нет | нет | встроенная | C# | Пример |
Boost::Spirit | умеренная | 2017 | библиотека классов | LL(*) | вариант РБНФ | нет | встроенный | на базе правил грамматики | нет | нет | C++ | |
parglare | низкая | 2017 | генератор времени исполнения | LR(1)/GLR | вариант РБНФ (с обозначениями из RE) | есть | встроенный | RE | нет | только дерево разбора | Python | |