The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск генератора лексических анализаторов re2c 4.0"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск генератора лексических анализаторов re2c 4.0"  +/
Сообщение от opennews (??), 21-Ноя-24, 04:24 
Опубликован релиз re2c 4.0 - генератора лексических анализаторов (он же компилятор регулярных выражений в код на целевом языке программирования). Re2c специализируется на генерации быстрых и легко встраиваемых лексеров и отличается от более известного аналога Flex гибким интерфейсом, генерацией оптимизированных нетабличных лексеров и поддержкой захватов (submatch extraction) на основе детерминированных конечных автоматов с тэгами (TDFA). re2c используется в проектах, где важна скорость работы лексера, например в Ninja и в PHP...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=62267

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Выпуск генератора лексических анализаторов re2c 4.0"  +/
Сообщение от Аноним (1), 21-Ноя-24, 04:24 
Чем он лучше Boost::Spirit?
Ответить | Правка | Наверх | Cообщить модератору

3. "Выпуск генератора лексических анализаторов re2c 4.0"  +1 +/
Сообщение от Аноним (3), 21-Ноя-24, 04:29 
Возможно, тем, что он не сдох как спирит в 2014?
Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск генератора лексических анализаторов re2c 4.0"  +/
Сообщение от Аноним (11), 21-Ноя-24, 10:07 
вопрос к сообщению про то что спирит сдox в 14 году, я его использовал активно в 18-19. вполне успешно и живой он был
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

13. "Выпуск генератора лексических анализаторов re2c 4.0"  +/
Сообщение от Аноним (11), 21-Ноя-24, 10:20 
посмотрел что там у спирита на сайте буста. действительно не развивается давно. последняя верся .78
Ответить | Правка | Наверх | Cообщить модератору

12. "Выпуск генератора лексических анализаторов re2c 4.0"  +/
Сообщение от skvadrik (ok), 21-Ноя-24, 10:18 
А Boost::Spirit во время компиляции строит и оптимизирует конечный автомат?
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

14. "Выпуск генератора лексических анализаторов re2c 4.0"  +/
Сообщение от Аноним (11), 21-Ноя-24, 10:24 
наврятли он что-то оптимизирует. это все шаблонной магией делается. Вся формальная спецификация задается как шаблонный код, те код парсера получается через инстанцирование шаблонного кода в момент компиляции
Ответить | Правка | Наверх | Cообщить модератору

17. "Выпуск генератора лексических анализаторов re2c 4.0"  +/
Сообщение от skvadrik (ok), 21-Ноя-24, 11:28 
У re2c ещё есть то преимущество по сравнению с другими компиляторами регулярных выражений, что он использует конечные автоматы с тэгами (https://en.wikipedia.org/wiki/Tagged_Deterministic_Finite_Au...), что позволяет ему делать не просто распознавание, но и захват (submatch extraction). Обычно или компилируется (и тогда нет захвата), или а рантайме матчится (и тогда захват есть, но не так быстро).
Ответить | Правка | Наверх | Cообщить модератору

2. "Выпуск генератора лексических анализаторов re2c 4.0"  +1 +/
Сообщение от Аноним (3), 21-Ноя-24, 04:27 
Сложные (по неоднозначностям) языки типа C++ - на нём можно написать?
Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск генератора лексических анализаторов re2c 4.0"  +/
Сообщение от Аноним (5), 21-Ноя-24, 08:43 
>уже поддерживаемым (C/C++, Go, Rust)
Ответить | Правка | Наверх | Cообщить модератору

6. "Выпуск генератора лексических анализаторов re2c 4.0"  +1 +/
Сообщение от Аноним (6), 21-Ноя-24, 09:04 
🤦‍

Поддерживается генерация кода на этих языках, а не их разбор.

Ответить | Правка | Наверх | Cообщить модератору

9. "Выпуск генератора лексических анализаторов re2c 4.0"  +/
Сообщение от skvadrik (ok), 21-Ноя-24, 10:01 
Лексический анализатор конечно можно, но судя по вопросу о неоднозначностях речь о синтаксическом разборе -- тогда нет конечно, re2c для регулярных грамматик.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

16. "Выпуск генератора лексических анализаторов re2c 4.0"  +1 +/
Сообщение от ijuij (?), 21-Ноя-24, 11:17 
Сохранил в закладки. Будет любопытно заюзать инструменты для (code sanitizers, fuzzing, static program analysis) и поискать уязвимости и баги. 😈🐛

Ответить | Правка | Наверх | Cообщить модератору

18. "Выпуск генератора лексических анализаторов re2c 4.0"  +/
Сообщение от Аноним (18), 21-Ноя-24, 11:48 
А ассемблер поддерживается?
Ответить | Правка | Наверх | Cообщить модератору

19. "Выпуск генератора лексических анализаторов re2c 4.0"  +/
Сообщение от skvadrik (ok), 21-Ноя-24, 12:03 
Нет, и пока в планах этого нет. Для компилируемых языков обычно оптимизирующий компилятор решают эту задачу, и лезть туда надо только если заведомо есть что ускорить (т.е. по какой-то причине компилятор не умеет генерить эффективный код именно для такого типа исходников, и нельзя его пофиксить). В re2c можно проводить более высокоуровневые оптимизации (например, читать и матчить по нескольку байт за раз -- но даже тут много проблем с выравниванием и т.д.).

А какой ассемблер вас интересует? Для каких задач/сред это может пригодиться, где С тулчейн не подойдёт?

Ответить | Правка | Наверх | Cообщить модератору

20. "Выпуск генератора лексических анализаторов re2c 4.0"  +/
Сообщение от Аноним (20), 21-Ноя-24, 12:08 
Осталось понять, зачем для окамла или хаскеля брать этот инструмент, а не их родные.
Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск генератора лексических анализаторов re2c 4.0"  +/
Сообщение от skvadrik (ok), 21-Ноя-24, 12:25 
Для окамла пользователи попросили: https://github.com/skvadrik/re2c/issues/449, для хаскеля он может оказаться быстрее чем alex (это ещё надо потестировать), но вообще было полезно добавить поддержку просто чтобы убедиться в том, что синтаксические файлы достаточно гибкие для чистого функционального ЯП.
Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск генератора лексических анализаторов re2c 4.0"  +/
Сообщение от Аноним (6), 21-Ноя-24, 13:55 
Уля, спасибо что не бросаете. Отдельная благодарность за Zig и за внешнюю конфигурацию синтаксиса в целом. Традиционно, привет Серёже. =)

p.s. В Gentoo пока всё ещё 3.1.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру