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

Цели и особенности:

  1. Полностью соответствует спецификации HTML5.
  2. Надежный и устойчивый к ошибкам ввода.
  3. Простой API, который можно легко перенести на другие языки.
  4. Поддержка исходных местоположений и указателей на исходный текст.
  5. Поддержка разбора фрагментов.
  6. Относительно легкий, без внешних зависимостей.
  7. Проходит все тесты html5lib, включая тег шаблона.
  8. Протестировано на более чем 2,5 миллиардах страниц из индекса Google.