![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Lazy Parser (lazy)Boost , Spirit 2.5.2 , Auxiliary Parsers
|
Имя |
---|
boost::spirit::lazy // alias:
boost::spirit::qi::lazy |
Notation
fp
Лживый аргумент, который оценивает<Parser
>.
Семантика выражения определяется только там, где она отличается от или не определена в<Parser
>.
выражение |
Семантика |
---|---|
fp | Создайте ленивого парсера изЛенивого Аргумента,< |
lazy(fp) | Создайте ленивого парсера изЛенивого Аргумента,< |
выражение |
атрибут |
---|---|
fp | Тип атрибута типа возврата< |
lazy(fp) | Тип атрибута типа возврата< |
Сложность парсера<lazy
>определяется сложностью парсера, возвращаемого из<fp
>.
![]() | Note |
---|---|
Тестовый ремень для примера (примеров) ниже представлен в разделеОсновные примеры. |
Некоторые используют декларации:
using boost::spirit::qi::lazy; using boost::spirit::ascii::string; using boost::phoenix::val;
Использование<lazy
>:
Здесь выражение phoenix::val создает функцию, которая возвращает свой аргумент при вызове. Ленивое выражение откладывает вызов этой функции в разрезе времени. В этом случае струнный парсер вызывается в действие. Все это происходит в разрезе времени.
test_parser("Hello", lazy(val(string("Hello"))));
Вышесказанное эквивалентно:
test_parser("Hello", val(string("Hello")));
Статья Lazy Parser (lazy) раздела Spirit 2.5.2 Auxiliary Parsers может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Auxiliary Parsers ::
реклама |