Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Quick Start

Boost , Spirit 2.5.2 , Tutorials

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext
Spirit.Karma - what's that?

На протяжении всего описания Spirit.Karma мы постараемся полностью согласовать себя с документацией для Spirit.Qi. Причин много:

  • Spirit.Karma является аналогом Spirit.Qi. Некоторые люди говорят, что это Yin Spirit.Qi's Yang. Spirit.Karma генерирует байтовые последовательности из внутренних структур данных, поскольку Spirit.Qi анализирует байтовые последовательности в эти (очень те же) внутренние структуры данных.
  • Обе библиотеки имеют почти идентичную структуру, очень похожую семантику и построены с использованием одинаковых инструментов. Обе библиотеки реализуют язык, отбрасывающий специфику их домена (парсинг и генерирование) в простой интерфейс.

Зачем использовать библиотеку генераторов для такой простой вещи, как генерация выходных данных? Программисты довольно долгое время использовали форматирование printf, std::stream или boost::format. Ответ - да, для простых задач форматирования вывода эти знакомые инструменты могут быть быстрым решением. Но опыт показывает: как только требования к форматированию становятся все более сложными, выходная генерация становится все более сложной с точки зрения читаемости, ремонтопригодности и гибкости кода. И последнее, но не менее важное: оказывается, что код, использующий Spirit.Karma, работает намного быстрее, чем эквивалентный код, используя любой из упомянутых выше «прямых» методов (см. здесь для некоторых чисел: Производительность численных генераторов)

Вы можете утверждать, что более сложные задачи требуют более сложных инструментов. Но это оказывается не так! Вся библиотека Spirit разработана так, чтобы быть простой в использовании и масштабируемой от тривиальных до очень сложных приложений.

С точки зрения простоты и простоты разработки в развертывании, то же самое верно для Spirit.Karma, как было описано в другом месте в этой документации для Spirit.Qi: вся библиотека состоит только из файлов заголовка, без библиотек для связывания или построения. Просто поместите распределение духа в свой путь, компиляцию и запуск. Размер кода? Очень плотный, по существу сравнимый с рукописным кодом.

Учебники Spirit.Karma построены в стиле ходьбы, начиная с элементарных вещей, растущих шаг за шагом по сложности. И еще: имейте в виду, что генерация продукции является полной противоположностью разбора. Все, что вы уже узнали о разборе с использованием Spirit.Qi применимо для генерации отформатированного вывода с использованием Spirit.Karma. Все, что вам нужно сделать, это посмотреть на Spirit.Karma как зеркальное отражение Spirit.Qi.


PrevUpHomeNext

Статья Quick Start раздела Spirit 2.5.2 Tutorials может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Tutorials ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 20:40:28/0.0066089630126953/0