Lemon (генератор парсера)
Эта статья нуждается в дополнительных цитатах для проверки . ( декабрь 2011 г. ) |
Разработчик(и) | Д. Ричард Хипп |
---|---|
Написано в | С |
Операционная система | Кросс-платформенный |
Тип | Генератор парсера |
Лицензия | Общественное достояние |
Веб-сайт | www |
Lemon — генератор синтаксических анализаторов , поддерживаемый как часть проекта SQLite , который генерирует упреждающий анализатор LR ( парсер LALR ) на языке программирования C из входной контекстно-свободной грамматики . Генератор довольно прост, реализован в одном исходном файле C, а другой файл используется в качестве шаблона для вывода. Лексический анализ выполняется внешне.
Lemon похож на программы Bison и Yacc , но несовместим с обеими. Формат ввода грамматики отличается, чтобы предотвратить распространенные ошибки кодирования. Другие отличительные особенности включают в себя реентерабельный , поточно-ориентированный вывода синтаксический анализатор и концепцию нетерминальных деструкторов , которые пытаются упростить предотвращение утечек памяти .
SQLite использует Lemon с написанным вручную токенизатором для анализа строк SQL .
Lemon вместе с re2c и оберткой re2c под названием Perplex используются. [1] [2] [3] в BRL-CAD как платформонезависимая и легко компилируемая альтернатива Flex и Bison. Эта комбинация также используется со STEPcode. [4]
Оценка выражения OpenFOAM [5] использует комбинацию рагеля и минимально модифицированной версии лимона. [6] чтобы облегчить интеграцию C++, не затрагивая интеграцию C. [7] Грамматики парсера дополнены макросами m4 .
Примечания
[ редактировать ]- ^ Брлкад; Карлмур; Искатель звезд (30 ноября 2017 г.). «BRL-CAD: генератор синтаксического анализатора Lemon» . СоурсФордж . Слэшдот Медиа . Проверено 21 сентября 2019 г.
- ^ Бумбулис, Питер (23 августа 2011 г.). «Прочитай меня» . СоурсФордж . Слэшдот Медиа . Проверено 21 сентября 2019 г.
- ^ Бургер, Маркус (24 июня 2014 г.). «Прочитай меня» . СоурсФордж . Слэшдот Медиа . Проверено 21 сентября 2019 г.
- ^ «Прочитай меня» . STEPкод . Гитхаб. 2015. Архивировано из оригинала 10 апреля 2018 г. Проверено 21 сентября 2019 г.
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка ) - ^ «Новый синтаксис выражений» . ОпенФОАМ . OpenCFD. 2019-12-23 . Проверено 13 января 2020 г.
- ^ «исходники wmake» . ОпенФОАМ . OpenCFD. 27 сентября 2019 г. Проверено 13 января 2020 г.
- ^ «ЧИТАЙТЕ» . ОпенФОАМ . OpenCFD. 27 сентября 2019 г. Проверено 13 января 2020 г.
Ссылки
[ редактировать ]- «Генератор Lemon Parser» . Проверено 21 мая 2020 г.
- «Архитектура SQLite» . 01.11.2008 . Проверено 21 мая 2020 г.