Google выпустила парсер HTML5 на чистом Си

от автора

Удачная возможность для веб-разработчиков выучить язык программирования Си — HTML5-парсер Gumbo, реализованный в виде небольшой библиотеки C99 без внешних зависимостей. Парсер создан как строительный блок для создания других инструментов и библиотек, таких как валидаторы, языки шаблонов, инструменты рефакторинга и анализа кода.

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

  • Полная совместимость со спецификациями HTML5.
  • Устойчивость к некачественным входным данным.
  • Простые API, которые могут быть легко обработаны программами на других ЯП.
  • Поддержка исходных позиций и указателей в оригинальном коде, при навигации по дереву зависимостей.
  • Проходит все тесты html5lib-0.95.
  • Проверен на более чем 2,5 млрд страниц в индексе Google.


Разработчики не ставят перед собой цели оптимизации парсера для производительности, его писали на Си не для того, чтобы повысить скорость исполнения кода в десятки раз.

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

Для использования синтаксического анализатора Gumbo, нужно включить файл gumbo.h, а затем вызвать gumbo_parse.

#include "gumbo.h"  int main(int argc, char** argv) {   GumboOutput* output = gumbo_parse(argv[1]);   // Do stuff with output->root   gumbo_destroy_output(&kGumboDefaultOptions, output); }

Программа опубликована под лицензией Apache 2.

ссылка на оригинал статьи http://habrahabr.ru/post/190044/


Комментарии

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

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