<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Выпуск генератора лексических анализаторов re2c 4.0</title>
    <link>https://m.opennet.me/openforum/vsluhforumID3/135388.html</link>
    <description>Опубликован релиз re2c 4.0 - генератора лексических анализаторов (он же компилятор регулярных выражений в код на целевом языке программирования). Re2c специализируется на генерации быстрых и легко встраиваемых лексеров и отличается от более известного аналога Flex гибким интерфейсом, генерацией оптимизированных нетабличных лексеров и поддержкой захватов (submatch extraction) на основе детерминированных конечных автоматов с тэгами (TDFA). re2c используется в проектах, где важна скорость работы лексера, например в Ninja и в PHP...&lt;br&gt;&lt;br&gt;Подробнее: https://www.opennet.ru/opennews/art.shtml?num=62267&lt;br&gt;</description>

<item>
    <title>Выпуск генератора лексических анализаторов re2c 4.0 (parad)</title>
    <link>https://m.opennet.me/openforum/vsluhforumID3/135388.html#50</link>
    <pubDate>Mon, 25 Nov 2024 08:41:17 GMT</pubDate>
    <description>лет 10 назад был у нас коллега, который один модуль переписал на спирите (до этого весь парсинг осуществлялся руками написанными свичами). да, возможно он где-то напортачил (хотя сомневаюсь - толковый парень), но на выходе получили:&lt;br&gt;плюсы:&lt;br&gt;1. код стал красивым, компактным, легко читаемым.&lt;br&gt;минусы:&lt;br&gt;1. падение производительности модуля в х раз (точную цифру не помню, но она была огромной). к вопросу о производительности&lt;br&gt;2. абсолютная невозможность отладки - стектрейс глубиной примерно 10-20 занимал около 10 экранов. по прилёту коры человек предпочитал вдумчиво рассматривать свой код, нежеле разбираться с каскадом шаблонов в дампе.&lt;br&gt;3. пришлось апгрейдит железо, тк 4гб памяти на виртуалке стало недостаточно чтобы скомпилировать этот файл в последовательной компиляции, не говоря о том что до этого можно распараллеливать сборку.&lt;br&gt;по итогу даже фанаты буста на тот момент заключили что это не пригодное к использованию овно (понятно почему не развивается). и трудно найти что-то хуже. в качестве исследования мы пе</description>
</item>

<item>
    <title>Выпуск генератора лексических анализаторов re2c 4.0 (freehck)</title>
    <link>https://m.opennet.me/openforum/vsluhforumID3/135388.html#49</link>
    <pubDate>Sun, 24 Nov 2024 10:02:34 GMT</pubDate>
    <description>О, это очень показательно: Аноним считает, что изучать теоретическую базу программирования -- это в целом не нужно. И я очень поддерживаю позицию данного Анонима. Распространение подобных взглядов в индустрии косвенным образом влияет на деньги, которые люди готовы заплатить лично мне. Так что слушайте Анонима, Аноним херни не посоветует! =)&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск генератора лексических анализаторов re2c 4.0 (Аноним)</title>
    <link>https://m.opennet.me/openforum/vsluhforumID3/135388.html#48</link>
    <pubDate>Sun, 24 Nov 2024 09:56:11 GMT</pubDate>
    <description>А, потом пользователи твоего языка пусть трахомудохаются с багами трудно-определяемого характера... Зато ты с съэкономишь себе время(м.б., а м.б.и наоборот) и повысишь ЧСВ.&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск генератора лексических анализаторов re2c 4.0 (Аноним)</title>
    <link>https://m.opennet.me/openforum/vsluhforumID3/135388.html#47</link>
    <pubDate>Sat, 23 Nov 2024 18:28:57 GMT</pubDate>
    <description>Вы очень любезны, благодарю.&lt;br&gt;Сейчас мне это уже не актуально, сделал вручную сканирование с помощью trie, но если бы опять понадобилось, то, наверное, смотрел бы немного в другом направлении.&lt;br&gt;Насколько я понимаю, для высокопроизводительных лексеров (которые прожевывают гигабайты данных в секунду) на x64 и ARM платформах сейчас лучше писать вручную SIMD-лексеры, как это делает например Daniel Lemire.&lt;br&gt;Если бы кто-то сделал генератор SIMD-лексеров, и если бы эти лексеры работали со скоростью скажем до 20-30&#037; хуже чем написанные вручную, было бы очень интересно.&lt;br&gt;И у меня есть личный заскок - очень плохо понимаю и умею писать регулярки, особенно сложные. То есть в основном как-то получается написать, но постоянно ошибаюсь, приходится тестировать и все время возникает какая-то неуверенность. Если бы в генераторе лексера использовалось что-то похожее на (E)BNF, мне кажется некоторым пользователям с такими же проблемами (а вдруг нас много?) было бы немного проще.&lt;br&gt;Это не претензии к вам, у вас отличный инструмент</description>
</item>

<item>
    <title>Выпуск генератора лексических анализаторов re2c 4.0 (freehck)</title>
    <link>https://m.opennet.me/openforum/vsluhforumID3/135388.html#46</link>
    <pubDate>Sat, 23 Nov 2024 16:25:18 GMT</pubDate>
    <description>&amp;gt; Спасибо за обратную связь. :) &lt;br&gt;&lt;br&gt;Я не юзал, но мельком глянул код, и нахожу его достойным и годным. Я такое редко говорю. Потому -- моё почтение.&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск генератора лексических анализаторов re2c 4.0 (freehck)</title>
    <link>https://m.opennet.me/openforum/vsluhforumID3/135388.html#45</link>
    <pubDate>Sat, 23 Nov 2024 16:23:28 GMT</pubDate>
    <description>&amp;gt; Для простых языков (DSL) мне оказалось тоже проще писать руками.&lt;br&gt;&lt;br&gt;Хех. При всём уважении: этот тезис СИЛЬНО зависит от того, на каком языке вы его (DSL) пишете. =)&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск генератора лексических анализаторов re2c 4.0 (freehck)</title>
    <link>https://m.opennet.me/openforum/vsluhforumID3/135388.html#44</link>
    <pubDate>Sat, 23 Nov 2024 16:14:10 GMT</pubDate>
    <description>&amp;gt; А ассемблер поддерживается?&lt;br&gt;&lt;br&gt;Дорогой, а на кой чёрт в 2024м году писать новый язык на ассемблере? )&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск генератора лексических анализаторов re2c 4.0 (freehck)</title>
    <link>https://m.opennet.me/openforum/vsluhforumID3/135388.html#43</link>
    <pubDate>Sat, 23 Nov 2024 16:04:49 GMT</pubDate>
    <description>&amp;gt; Ничего не понял. Что этот анализатор лексических генераторов делает?&lt;br&gt;&lt;br&gt;Да ничего сложного. Когда ты пишешь новый язык, тебе нужны две вещи: херовина, которая разберёт код нового языка на токены (её называют токенайзером, лексером, лексическим анализитором, lexer), а также херовина, которая токены преобразует в код (её называют парсером, или компилятором; а код, который его выплёвывает -- называется yacc-ом, от yet another compiler compiler).&lt;br&gt;&lt;br&gt;В общем, тебе нужен lex и yacc. Это база.&lt;br&gt;&lt;br&gt;Так вот re2c -- это lex.&lt;br&gt;</description>
</item>

<item>
    <title>Выпуск генератора лексических анализаторов re2c 4.0 (skvadrik)</title>
    <link>https://m.opennet.me/openforum/vsluhforumID3/135388.html#42</link>
    <pubDate>Sat, 23 Nov 2024 11:31:10 GMT</pubDate>
    <description>Спасибо! У re2c действительно не очень простой интерфейс. Если нужна помощь, можно завести баг на гитхабе (https://github.com/skvadrik/re2c/issues, вот ещё каналы связи: http://re2c.org/index.html#bugs-patches). Таких багов много, они обычно за полдня закрываются и проблему совместными усилиями решаем. Можно в личку на почту.&lt;br&gt;&lt;br&gt;Уточню, что оба режима, и читать кусками, и ожидать ввода откуда-то извне (когда лексер отдаёт управление, т.н. &quot;push-model&quot; лексер) поддерживаются. Чтение кусками требует буферизации (http://re2c.org/manual/manual_c.html#buffer-refilling). Ожидание ввода требует сохраняемого состояния (http://re2c.org/manual/manual_c.html#storable-state).&lt;br&gt;</description>
</item>

</channel>
</rss>
