LINUX.ORG.RU

Header-only


0

0

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

SRELL 4.069 — библиотека ECMAScript-совместимых регулярных выражений

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

10 сентября состоялся выпуск 4.069 C++ библиотеки SRELL (Std::RegEx-Like Library), реализующей ECMAScript-совместимые регулярные выражения.

Основные возможности библиотеки:

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

Прошлая новость на ЛОРе

>>> Подробности на akenotsuki.com

 , , , ,

dataman
()

Lug 0.5.0

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

19 марта состоялся выпуск C++ библиотеки Lug, реализующей встраиваемый предметно-ориентированный язык для выражения синтаксических анализаторов в виде расширенных грамматик синтаксических выражений, и распространяемой по лицензии MIT.

Возможности библиотеки:

  • Естественный синтаксис, напоминающий языки внешних генераторов парсеров, с поддержкой атрибутов и семантических действий.
  • Возможность работы с контекстно-зависимыми грамматиками с таблицами символов, условиями и синтаксическими предикатами.
  • Сгенерированные парсеры компилируются в байткод и выполняются в виртуальной машине синтаксического анализа.
  • Чёткое разделение синтаксических и лексических правил с возможностью настройки неявного пропуска пробельных символов.
  • Поддержка прямой и косвенной левой рекурсии, с уровнями старшинства для разграничения подвыражений со смешанными левой и правой рекурсиями.
  • Полная поддержка разбора текста в формате UTF-8, включая уровень 1 и частичное соответствие уровню 2 технического стандарта UTS #18 Unicode Regular Expressions.
  • Обработка ошибок и восстановление с помощью помеченных сбоев, правил восстановления и обработчиков ошибок.
  • Автоматическое отслеживание номеров строк и колонок, настраиваемая ширина и выравнивание табуляции.
  • Header-only-библиотека, использующая только стандартную библиотеку и возможности стандарта C++17. Перспективно совместима со стандартами C++20 и C++23.
  • Относительно небольшой размер библиотеки, с целью содержания общего количества строк во всех заголовочных файлах на уровне менее 6000 строк лаконичного кода.

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

>>> Подробности на github.com

 , , , ,

dataman
()

pugixml 1.15

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

10 января, после более года разработки, состоялся выпуск 1.15 библиотеки парсинга XML pugixml, написанной на языке C++ и распространяемой по лицензии MIT.

Библиотека предоставляет богатый DOM-подобный интерфейс с широкими возможностями обхода и изменения узлов документа. Также поддерживается XPath 1.0 и полная поддержка Юникода, с автоматическим преобразованием кодировок.

pugixml может быть сконфигурирована для использования без std и исключений C++ и поддерживает header-only вариант.

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

>>> Список изменений версии 1.15 на сайте библиотеки

 , , , ,

dataman
()

STC 5.0

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

После почти двух лет разработки состоялся выпуск 5.0 библиотеки STC (header-only), написанной на языке C (стандарт C11) и распространяемой по лицензии MIT.
Библиотека предоставляет большой набор структур данных и алгоритмов, основанных на макросах C и свою реализацию регулярных выражений и форматированного вывода.

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

>>> Список изменений версии 5.0 на GitHub

 , , , ,

dataman
()

SRELL 4.056 — библиотека ECMAScript-совместимых регулярных выражений

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

11 сентября состоялся выпуск 4.056 C++ библиотеки SRELL (Std::RegEx-Like Library), реализующей ECMAScript-совместимые регулярные выражения.

Список изменений:

  • поддержка Unicode 16.0.0;
  • другие небольшие изменения.

Особенности библиотеки:

  • header-only;
  • ECMAScript-совместимые регулярные выражения;
  • дизайн а-ля std::regex;
  • поддержка типов char8_t, char16_t и char32_t для C++11 и более поздних версий стандарта.

Более подробное описание доступно на сайте автора.

История изменений: англ./яп..
Постоянная ссылка на актуальную версию: https://www.akenotsuki.com/misc/srell/srell-latest.

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

 , , , ,

dataman
()

GLM 1.0.0 — математическая библиотека для C++

GLM 1.0.0 — математическая библиотека для C++
Группа Разработка

24 января, после почти четырёхлетней паузы, состоялся выпуск 1.0.0 header-only SIMD-оптимизированной библиотеки для C++ GLM (OpenGL Mathematics), основанной на спецификациях GLSL (pdf) (OpenGL Shading Language).

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

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

 , , , ,

dataman
()

SRELL 4.038 — библиотека ECMAScript-совместимых регулярных выражений

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

24 января состоялся выпуск 4.038 C++ библиотеки SRELL (Std::RegEx-Like Library), реализующей ECMAScript-совместимые регулярные выражения.
Список изменений:

  • исправлена ошибка, из-за которой по выражению /(?:ab)+|cd/ находилась строка «ababcd»;
  • небольшие улучшения.

Особенности библиотеки:

  • header-only;
  • ECMAScript-совместимые регулярные выражения;
  • дизайн а-ля std::regex;
  • поддержка типов char8_t, char16_t и char32_t для C++11 и более поздних версий стандарта.

Более подробное описание доступно на сайте автора.

История изменений: англ./яп..
Постоянная ссылка на актуальную версию: https://www.akenotsuki.com/misc/srell/srell-latest.

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

 , , , ,

dataman
()

STC 4.2 - библиотека алгоритмов и контейнеров для Си

Группа Open Source

10 апреля состоялся выпуск версии 4.2 библиотеки STC (Smart Template Containers), написанной на языке C (C99) и распространяемой по лицензии MIT.

Изменения:

  • изменён адрес проекта;
  • улучшена документация;
  • добавлены Coroutines и сопутствующая документация;
  • добавлен новый crand.h. Предыдущий crandom.h объявлен устаревшим;
  • добавлен макрос c_const_cast;
  • макросы RAII удалены из примеров использования;
  • макрос c_foreach_r переименован в c_foreach_rv;
  • макрос c_flt_count переименован в c_flt_counter;
  • макрос c_flt_last переименован в c_flt_getcount;
  • макрос c_ARRAYLEN переименован в c_arraylen;
  • удалён устаревший макрос c_ARGSV();
  • удалён макрос c_PAIR.

По утверждениям разработчиков, STC — это современная быстрая типо-безопасная небольшая библиотека контейнеров и алгоритмов для языка Си (стандарт C99). Библиотека создана под влиянием C++ STL, а также некоторых идей из Rust и Python.

Пример использования:

#define i_extern // include external cstr, utf8, cregex functions implementation.
#include <stc/cregex.h>

int main() {
    const char* input = "start date is 2023-03-01, end date 2025-12-31.";
    const char* pattern = "\\b(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)\\b";

    cregex re = cregex_from(pattern);

    // Lets find the first date in the string:
    csview match[4]; // full-match, year, month, date.
    if (cregex_find(&re, input, match) == CREG_OK)
        printf("Found date: %.*s\n", c_SV(match[0]));
    else
        printf("Could not find any date\n");

    // Lets change all dates into US date format MM/DD/YYYY:
    cstr us_input = cregex_replace(&re, input, "$2/$3/$1");
    printf("%s\n", cstr_str(&us_input));

    // Free allocated data
    cstr_drop(&us_input);
    cregex_drop(&re);
}

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

 , , , ,

dataman
()

SRELL 2.930 — библиотека для С++, реализующая работу ECMAScript-совместимых регулярных выражений

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

SRELL – это std::regex-like library.

Особенности:

  • header-only;
  • ECMAScript-совместимые регулярные выражения;
  • дизайн а-ля std::regex;
  • поддержка типов char8_t, char16_t и char32_t для C++11 и более поздних версий стандарта.

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

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

 , , , ,

dataman
()