LINUX.ORG.RU

Parser


7

7

Всего сообщений: 9

re2c 4.0

Группа Разработка

Во вторник, 19 ноября, представлен релиз re2c – генератора лексических анализаторов (он же компилятор регулярных выражений в код на целевом языке программирования). re2c специализируется на генерации быстрых и легко встраиваемых лексеров. Он отличается от более известного аналога flex гибким интерфейсом, генерацией оптимизированных нетабличных лексеров и поддержкой захватов (submatch extraction) на основе детерминированных конечных автоматов с тэгами (TDFA). re2c используется в проектах, где важна скорость работы лексера, например в Ninja и в PHP.

( читать дальше... )

>>> Подробности

 , , , ,

skvadrik
()

yyjson 0.10.0

yyjson 0.10.0
Группа Разработка

Состоялся выпуск 0.10.0 высокопроизводительной библиотеки yyjson, написанной на языке C (стандарт C89), распространяемой по лицензии MIT и предназначенной для чтения и модификации данных в формате JSON (RFC 8259).
Библиотека также поддерживает RFC JSON Pointer, JSON Patch и JSON Merge Patch.

( читать дальше... )

>>> Подробности

 , , ,

dataman
()

argparse 3.0

argparse 3.0
Группа Разработка

Состоялся выпуск 3.0 C++ (стандарт C++17) header-only библиотеки парсинга аргументов командной строки argparse, распространяемой по лицензии MIT.

( читать дальше... )

>>> Подробности

 , , , ,

dataman
()

Состоялся релиз 0.0.2 библиотеки PGPC для разработки парсеров на Python

Группа Open Source

PGPC представляет собой библиотеку парсер комбинаторов для Python, вдохновленную Parsec.

( читать дальше... )

>>> Подробности

 , ,

anonymous
()

re2c 2.0

Группа Разработка

В понедельник 20 июля вышел релиз re2c – генератора быстрых лексических анализаторов. Основные изменения:

  • Добавлена поддержка языка Go (включается или опцией --lang go для re2c, или в виде отдельной программы re2go). Документация для C и Go генерируется из одного и того же текста, но с разными примерами кода. Полностью переработана подсистема кодогенерации в re2c, что должно облегчить поддержку новых языков в будущем.

  • Добавлена альтернативная система сборки на CMake (спасибо ligfx!). Попытки перевести re2c на CMake предпринимались уже давно, но до ligfx никто не предложил полноценное решение. Старая система сборки на Autotools продолжает поддерживаться и использоваться, и в обозримом будущем нет планов от неё отказаться (отчасти чтобы не создавать проблем разработчикам дистрибутивов, отчасти потому что старая система сборки стабильнее и лаконичнее новой). Обе системы наравне непрерывно тестируются при помощи Travis CI.

  • Добавлена возможность задания интерфейсного кода в конфигурациях при использовании обобщённго АПИ (generic 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.

Спасибо всем, кто участвовал в подготовке этого релиза!

>>> Подробности

 , ,

skvadrik
()

re2c 1.2

Группа Разработка

В пятницу 2-го августа вышел релиз re2c — свободного генератора лексических анализаторов для языков C и C++. Напомним, что re2c был написан в 1993 году Питером Бамбулисом как экспериментальный генератор очень быстрых лексических анализаторов, отличающийся от других генераторов скоростью сгенерированного кода и необычно гибким пользовательским интерфейсом, который позволяет легко и эффективно встривать анализаторы в существующую кодовую базу. С тех пор проект развивается сообществом и продолжает оставаться площадкой для экспериментов и исследований в области формальных грамматик и конечных автоматов.

( читать дальше... )

>>> Подробности

 , , ,

skvadrik
()

Релиз парсера PHP, написанного на Go

Группа Open Source

php-parser — библиотека для синтаксического разбора исходников PHP в абстрактное синтаксическое дерево. Может использоваться для создания статических анализаторов, утилит рефакторинга и сбора метрик.

Список изменений можно посмотреть по ссылке.

>>> Подробности

 , , ,

z7zmey
()

Парсим Google на Perl (или Google Hack HowTo)

Группа Документация

В статье вы найдете описание метода, позволяющего эффективно посылать запросы серверам Google и обрабатывать ответы. Прилагаются скрипты на Perl в количестве 3 штук, а также список из 106 рабочих анонимайзеров. Ключевые моменты:

  • Как обойти капчу и ограничение на частоту запросов
  • Как собрать прокси и проверить их валидность
  • Как распараллелить посылку запросов
  • Как реализовать возможность приостанавливать скрипт
  • Пишем универсальный парсер

Приведенные скрипты могут быть использованы в аналитических исследованиях, а также автоматизации сбора различного рода информации при помощи поисковой системы Google.

>>> Подробности

 , , , , ,

afiskon
()

Parabix: SIMD инструкции при разборе XML

Группа Open Source

Профессор Роб Камерон отдал миру плод своих трудов, а именно открыл исходные коды Парабикса, парсера XML, использующего SIMD инструкции современных процессоров для ускорения процесса разбора XML. Тесты показывают увеличение скорости разбора в несколько раз.

>>> Подробности

 parabix, , ,

anonymous
()