Профиль: Аноним (вход | регистрация) неRU opennet.me  
OpenNET

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



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

"Первый выпуск scan, библиотеки разбора текста для C++ с построением конечного автомата при компиляции"  +/
Сообщение от opennews (ok), 23-Сен-26, 12:09 
Опубликован первый выпуск библиотеки scan...

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

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

Оглавление

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

1. Сообщение от piteri (ok), 23-Сен-26, 12:09   +/
А какая-то практическая польза от него есть?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4

2. Сообщение от Аноним (2), 23-Сен-26, 12:09   +1 +/
Очередной стандарт C++ принят. Настало время самого интересного - придумать зачем он на практике.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #8

3. Сообщение от Аноним (3), 23-Сен-26, 12:13   –1 +/
Подача материала, конечно, препаршивая, видимо, это показатель. А чего сравнения с flex нет?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #20, #21

4. Сообщение от Аноним (4), 23-Сен-26, 12:16   +2 +/
похоже на очередной аналог регулярных выражений.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #13

5. Сообщение от Аноним1234 (?), 23-Сен-26, 12:24   +/
>Код проекта написан на C++23 и распространяется под лицензией GPLv3.

Поясните, это значит что это нельзя использовать в коммерческих проектах?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #7, #14, #16

6. Сообщение от Аноним (6), 23-Сен-26, 12:31    Скрыто ботом-модератором+2 +/
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #19

7. Сообщение от Аноним (8), 23-Сен-26, 12:36    Скрыто ботом-модератором+1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

8. Сообщение от Аноним (8), 23-Сен-26, 12:39   +/
Уже принят стандарт C++26. Там это и не только можно с интроспекцией.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #22

9. Сообщение от Shantikov (?), 23-Сен-26, 12:47   +/
>Любого студента учат сначала, как минимум, описать суть проблемы, потом способы решения, затем свой способ решения и чем он лучше остальных. Тут сразу "на ешь решение"

Видимо это была их попытка написать текст статьи без ии

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

10. Сообщение от Аноним (10), 23-Сен-26, 12:57   +/
Угу. Как обычно, на тестах показывает "быстрее всех", но потом в процессе применения "неожиданно" выясняется, что из-за шаблонов экзешник растёт по экспоненте, а из-за большого объема кода и производительность начинает неожиданно лагать.

А ещё это будет безумно сложно отлаживать, если что-то пошло не так.

А, ну и ещё компилироваться это будет вечность.

В общем и целом, если вам нужен быстрый разбор текста - лучше и полезнее всего использовать классику, типа flex или его аналогов.

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

11. Сообщение от АнОним (?), 23-Сен-26, 12:59   +/
>>Шаблон записывается как аргумент шаблона

Дальше не читал

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

12. Сообщение от j4niwzis (ok), 23-Сен-26, 13:04   +/
Так сама детерминизация в DFA и TDFA экспоненциальная, а она в генераторах лексеров есть. Тут алгоритм, которым пользуются некоторые генераторы лексеров, а шаблонами кодген не генерирует сильно больше нужного. Проблема с ростом кода была, но была исправлена с переходом на модель с computed goto. Теперь оно нормально генерируется.

Компилируется и правда достаточно долго, этого не избежать с шаблонами и рабором через constexpr (JIT или хотя бы более быстрый constexpr то в компиляторы не завезли).

Подход с кодогенерацией я не уважаю, если можно сделать без нее. Тут вот можно.

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

13. Сообщение от j4niwzis (ok), 23-Сен-26, 13:06   +/
Почему аналог? Регулярные выражения и есть, просто с поддержкой типов C++. Но и это необязательно, можно использовать тот же интерфейс, что в том же ctre.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

14. Сообщение от j4niwzis (ok), 23-Сен-26, 13:08   +/
Вполне можно, нужно только условия лицензии соблюдать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

15. Сообщение от aname (ok), 23-Сен-26, 13:10   +/
Чтобы что?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17

16. Сообщение от Аноним (16), 23-Сен-26, 13:12   +/
Для коммерческих целей пиши сам с нуля, а GPL это чтоб исходниками делиться.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #18

17. Сообщение от j4niwzis (ok), 23-Сен-26, 13:14   +/
Чтобы регулярками быстро текст разбирать. И с C++ типами.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

18. Сообщение от j4niwzis (ok), 23-Сен-26, 13:15   +/
Коммерция вполне возможна и когда исходниками делятся. Закрыть код и распространять бинари только вот нельзя
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

19. Сообщение от Аноним (8), 23-Сен-26, 13:15   +/
Тут проще, не нравится - не ешь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

20. Сообщение от Аноним (20), 23-Сен-26, 13:16   +/
Могу сравнить за них:
При использовании flex нужно писать .l файл, вызывать сам flex из системы сборки, компилять и линковать.
Если брать scan, то достаточно подключить #include <s>(а потом подождать пока компилятор разберет эту шаблонную лапшу, и молиться что по пути не возникнет ошибка)</s>
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

21. Сообщение от j4niwzis (ok), 23-Сен-26, 13:17   +/
Так re2c обычно быстрее flex. Но сравнение всё равно можно было бы добавить
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

22. Сообщение от j4niwzis (ok), 23-Сен-26, 13:26    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8


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

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




XSQUARE
Inferno Solutions
Hosting by Hoster.ru
Хоcтинг:

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