Лимон (генератор парсеров) - Википедия - Lemon (parser generator)
Эта статья нужны дополнительные цитаты для проверка.Декабрь 2011 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Разработчики) | Д. Ричард Хипп |
---|---|
Написано в | C |
Операционная система | Кроссплатформенность |
Тип | Генератор парсеров |
Лицензия | Всеобщее достояние |
Интернет сайт | www |
Лимон это генератор парсеров, поддерживается как часть SQLite проект, который создает упреждающий парсер LR (Парсер LALR ) на языке программирования C с входа контекстно-свободная грамматика. Генератор довольно прост, он реализован в одном исходном файле C, а другой файл используется в качестве шаблона для вывода. Лексический анализ выполняется внешне.
Лимон похож на программы Бизон и Yacc, но несовместимо с обоими. Формат ввода грамматики отличается, чтобы помочь предотвратить распространенные ошибки кодирования. Другие отличительные особенности включают повторно въезжающий, потокобезопасный выход парсер, а концепция нетерминальные деструкторы которые пытаются упростить избежание утечки памяти.
SQLite использует Lemon с кодированным вручную токенизатором для анализа SQL струны.
Лимон вместе с re2c и оболочка re2c с именем Perplex, используются[1][2][3] в BRL-CAD как платформо-независимые и легко компилируемые альтернативы Flex и Bison. Эта комбинация также используется с STEPcode.[4]
Оценка выражения OpenFOAM[5] использует комбинацию рагель и версия лимона, которая была минимально изменена[6] для упрощения интеграции C ++, не влияя на интеграцию C.[7] Грамматика парсера дополнена м4 макросы.
Примечания
- ^ Brlcad; Карлмур; Starseeker (30.11.2017). «BRL-CAD: генератор синтаксического анализа лимона». SourceForge. Slashdot Media. Получено 2019-09-21.
- ^ Бумбулис, Питер (23.08.2011). "Прочти меня". SourceForge. Slashdot Media. Получено 2019-09-21.
- ^ Бургер, Маркус (24.06.2014). "Прочти меня". SourceForge. Slashdot Media. Получено 2019-09-21.
- ^ "Прочти меня". STEPcode. GitHub. 2015. Архивировано 10 апреля 2018 года.. Получено 2019-09-21.CS1 maint: неподходящий URL (связь)
- ^ «Новый синтаксис выражений». OpenFOAM. OpenCFD. 2019-12-23. Получено 2020-01-13.
- ^ "источники wmake". OpenFOAM. OpenCFD. 2019-09-27. Получено 2020-01-13.
- ^ "ПРОЧТИ МЕНЯ". OpenFOAM. OpenCFD. 2019-09-27. Получено 2020-01-13.
Рекомендации
- "Лимонный генератор парсеров". Получено 2020-05-21.
- «Архитектура SQLite». 2008-11-01. Получено 2020-05-21.