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

Spirit V2.4

Boost , Spirit 2.5.2 , What's New

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
What's changed in Spirit.Qi and Spirit.Karma from V2.3 (Boost V1.43.0) to V2.4 (Boost V1.44.0)
New Features
  • Точка настройки<traits::transform_attribute>теперь принимает дополнительный параметр шаблона<Domain>, позволяющий лучше специализировать точку настройки для<qi::domain>или<karma::domain>.
[Important] Important

Это изменение интерфейса, требующее изменения существующего кода. Если у вас есть специализация этой точки настройки в вашем коде, вам нужно добавить специализацию для нового параметра шаблона, то есть либо<qi::domain>, либо<karma::domain>.

  • Семантические действия вSpirit.Qiтеперь неявно вызывают функцию<pre>точки настройки<traits::transform_attribute>для преобразования поставляемого атрибута в выставленный тип атрибута по мере необходимости. Функции<post>и<fail>этого пункта настройки не вызываются этим компонентом (поскольку это не имело бы никакого смысла).
  • Семантические действия вДух. Карматеперь неявно вызывает функцию<pre>точки настройки<traits::transform_attribute>для преобразования поставляемого атрибута в потребляемый тип атрибута по мере необходимости.
  • ДобавитьДух. Карма<skip>директива, которая семантически эквивалентнаДух. Карма<omit>директива, за исключением того, что она не будет выполнять встроенный генератор.
  • Добавлена поддержка отладкиДух. Кармаправила.
  • При этомпричастие. Карма, оставляя текущее поведение (неизменным) как расслабленный режим.Причастие. Кармасоставляет временные директивы<strict[]>и<relaxed[]>, позволяющие переключаться между ними.
  • ДобавленоДух. Карма<duplicate>директива, дублирующая поставляемый атрибут всем элементам встроенной последовательности генератора.
Bug Fixes
  • Компоненты вДух.QiиДух. Карматеперь принимает одну последовательность элементов Fusion в качестве своих атрибутов, если элемент в последовательности Fusion совместим с типом атрибутов компонента.
  • Компоненты парсера и генератора диапазона символов теперь могут быть дополнительно записаны как<char_("a", "z")>вместо<char_('a','z')>, что делает его совместимым с синтаксисом компонента<char_('a')>(который также может быть записан как<char_("a")>). Обратите внимание, что смешанные формы синтаксиса, т.е.<char_('a', "z")>и<char_("a", 'z')>, не поддерживаются.
  • Устанавливаемые свойстваДух. Кармапоследовательности, когда все элементы этой последовательности потребляют либо один и тот же тип атрибута, либо контейнеры этого типа атрибута, и переданный в атрибуте также является контейнером этого типа атрибута. При этом использование повторяющегося контейнера поддерживалось только тогда, когда это был последний элемент последовательности. Теперь можно иметь генератор<repeat><(num)[a]>в любом положении (ну, на самом деле вы можете иметь любой повторяющийся контейнер в любом положении сейчас, но это не всегда имеет смысл, поскольку он обычно съедает все поставляемые значения атрибутов).
  • Фиксированный вывод отладки для вариантов, где вариантный элемент представляет собой последовательность STL.
  • Исправлена проблема в multi_pass, избегая потери символа в конце ввода при переключении итераторов.
What's changed in Spirit.Lex from V2.3 (Boost V1.43.0) to V2.4 (Boost V1.44.0)
New Lexer Features
  • Лексер теперь хорошо интегрирован с выводом отладки, генерируемым утилитой Qi simple_trace. Токены печатаются как: '<' сопоставленная последовательность '>'.
Lexer Bug Fixes
  • Исправлена проблема с использованием lex::_val в качестве значения r в семантических выражениях lexer.
  • Значения токенов теперь доступны для интроспекции (как итератор_range) внутри семантических выражений лексера.

PrevUpHomeNext

Статья Spirit V2.4 раздела Spirit 2.5.2 What's New может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: What's New ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 20:43:05/0.0090639591217041/1