Автоматический генератор парсеров. Позволяет задать собственную грамматику и сгенерировать по ней лексер, разбивающий входные данные на токены и парсер, генерирующий по потоку токенов синтаксическое дерево.
Поддерживает LL-1 разбор, наследуемые и синтезируемые атрибуты, а также встроенные действия на C#.
В репозитории содержатся 2 примера использования:
- Калькулятор.
Поддерживает стандартные арифметические операции. Также содержит оператор choose, вычисляющий количество сочетаний. - Парсер логических выражений на python. Стандартные логические выражения в стиле python. В качестве результата генерирует код для GraphViz с деревом разбора.