Первый релиз многопоточного HTML-парсера MyHTML

После нескольких месяцев разработки увидел свет первый релиз быстрого HTML парсера MyHTML. Код написан на языке Си и распространяется под лицензией LGPL v2.1.

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

  • Высокая производительность;
  • Асинхронная обработка токенов и построение дерева
  • Полная поддержка спецификаций HTML 5, по состоянию на 19.06.2016;
  • Возможность манипулировать элементами и их атрибутами: добавлять, удалять, изменять
  • Поддерживает 39 кодировок на входе. На выходе только UTF-8, вся работа внутри только в UTF-8
  • Автоматическое определение кодировки текста. Сейчас доступны unicode: UTF-8, UTF-16LE, UTF-16BE (+ определение по BOM) и русские: windows-1251, koi8-r, iso-8859-5, x-mac-cyrillic, ibm866
  • Может работать в Single Mode — без тредов. Так же может быть собран без потоков.
  • Возможность парсить фрагменты HTML или парсить кусками (chunks);
  • Не имеет внешних зависимостей;
  • Поддерживает C99;
  • Не испытывает проблем если на вход подать бинарный файл или не валидный HTML;

Проект также предоставляет большую подборку примеров по использованию и описание API. На основе данного проекта будет разрабатывается рендер HTML на «голом» Си без зависимостей. Скоро будет завершён CSS-парсер MyCSS.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.