Выпуск генератора лексических анализаторов re2c 2.0
Автор
Сообщение
news_bot ®
Стаж: 7 лет 2 месяца
Сообщений: 27286
Состоялся релиз re2c 2.0, свободного генератора лексических анализаторов для языков C и C++. Проект re2c изначально был создан в 1993 году Питером Бамбулисом как экспериментальный генератор очень быстрых лексических анализаторов, отличающийся от других генераторов скоростью сгенерированного кода и необычно гибким пользовательским интерфейсом, который позволяет легко и эффективно встраивать анализаторы в существующую кодовую базу. С тех пор проект развивается сообществом и продолжает оставаться площадкой для экспериментов и исследований в области формальных грамматик и конечных автоматов.
Основные изменения:
- Добавлена поддержка языка Go (включается или опцией "--lang go" для re2c, или в виде отдельной программы re2go). Документация для C и Go генерируется из одного и того же текста, но с разными примерами кода. Полностью переработана подсистема кодогенерации в re2c, что должно облегчить поддержку новых языков в будущем.
- Добавлена альтернативная система сборки на CMake (спасибо ligfx!). Попытки перевести re2c на CMake предпринимались уже давно, но до ligfx никто не предложил полноценное решение. Старая система сборки на Autotools продолжает поддерживаться и использоваться, и в обозримом будущем нет планов от неё отказаться (отчасти чтобы не создавать проблем разработчикам дистрибутивов, отчасти потому что старая система сборки стабильнее и лаконичнее новой). Обе системы наравне непрерывно тестируются при помощи Travis CI.
- Добавлена возможность задания интерфейсного кода в конфигурациях при использовании обобщённого API (generic API). Раньше большинство API приходилось задавать в форме функций или функциональных макросов. Теперь их можно задавать в форме произвольных строк с именованными шаблонными параметрами вида "@@{name}" или просто "@@" (если параметр один и не возникает неоднозначности). Стиль АПИ задаётся конфигурацией re2c:api:style (значение functions задаёт функциональный стиль, а free-form – произвольный).
- Улучшена работа опции "-c", "--start-conditions", позволяющей совмещать несколько взаимосвязанных лексеров в одном re2c-блоке. Теперь можно использовать обычные блоки наравне с условными и задавать несколько не связанных условных блоков в одном файле. Улучшена работа опции "-r", "--reuse" (повторное использование кода из одного блока в других блоках) в сочетании с опциями "-c", "--start-conditions" и "-f", "--storable-state" (лексер с сохраняемым состоянием, который можно прервать в произвольном месте и продолжить выполнение позже).
- Исправлена ошибка в недавно добавленном алгоритме обработки конца входных данных (EOF rule), приводившая в редких случаях к неправильной обработке перекрывающихся правил.
- Упрощён процесс бутстрапа. Раньше система сборки пыталась динамически найти уже собранный re2c, который можно было бы использовать для пересборки самого себя. Это приводило к неправильным зависимостям (поскольку граф зависимостей получался динамическим, чего большинство систем сборки не любит). Теперь чтобы пересобрать лексеры, требуется в явном виде сконфигурировать систему сборки и задать переменную RE2C_FOR_BUILD.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://re2c.org/releases/rele...)
- OpenNews: Выпуск генератора лексических анализаторов re2c 1.2
- OpenNews: Создание лексического анализатора на Perl
- OpenNews: Google открыл код SyntaxNet, системы восприятия естественного языка
- OpenNews: Новая версия Bison 3.2, системы для написания синтаксических анализаторов
Похожие новости:
- [IT-компании, Голосовые интерфейсы, Законодательство в IT, Интернет вещей] Голосовые помощники Apple, Google и Amazon оказались в центре антимонопольного расследования ЕС
- [CSS, HTML, Разработка веб-сайтов] Еще раз о визуализации input типа checkbox и radio. Для тех, кто забыл как
- [CAD/CAM, Промышленное программирование] Поверхностное моделирование при работе над САПР T-FLEX CAD 17
- [Голосовые интерфейсы, Информационная безопасность, Исследования и прогнозы в IT] Исследователи обнаружили 1000 фраз, которые приводят к запуску Alexa, Siri, Assistant и Cortana
- [Java, Oracle, Processing] FlexCube — внедрение революционной бэк-офисной платформы в Росбанке
- [DevOps, GitHub] Линтер на все случаи жизни — GitHub Super Linter
- [GitHub, Дизайн] beta-тестирование нового дизайна GitHub
- [GitHub, Open source] Мир Open Source: преимущества и недостатки
- [Биотехнологии, Здоровье гика] Как получить 100% зрения и даже больше
- [Информационная безопасность, Системное администрирование, IT-инфраструктура, Microsoft Azure] Бесплатные триальные лицензии Quest Software на срок до 12 месяцев
Теги для поиска: #_re2c, #_lex
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 28-Апр 05:31
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 7 лет 2 месяца |
|
Состоялся релиз re2c 2.0, свободного генератора лексических анализаторов для языков C и C++. Проект re2c изначально был создан в 1993 году Питером Бамбулисом как экспериментальный генератор очень быстрых лексических анализаторов, отличающийся от других генераторов скоростью сгенерированного кода и необычно гибким пользовательским интерфейсом, который позволяет легко и эффективно встраивать анализаторы в существующую кодовую базу. С тех пор проект развивается сообществом и продолжает оставаться площадкой для экспериментов и исследований в области формальных грамматик и конечных автоматов. Основные изменения:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 28-Апр 05:31
Часовой пояс: UTC + 5