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

Lazy Parser (lazy)

Boost , Spirit 2.5.2 , Auxiliary Parsers

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
Description

<lazy>парсер, как следует из его названия, вызывает ленивую функциюФеникс, которая возвращает парсер в разбор времени. Этот парсер будет использоваться, как только он будет создан, чтобы продолжить анализ.

Header
// forwards to <boost/spirit/home/qi/auxiliary/lazy.hpp>
#include <boost/spirit/include/qi_lazy.hpp>

См. такжеВключите структуру.

Namespace

Имя

boost::spirit::lazy // alias: boost::spirit::qi::lazy

Model of

Notation

fp

Лживый аргумент, который оценивает<Parser>.

Expression Semantics

Семантика выражения определяется только там, где она отличается от или не определена в<Parser>.

выражение

Семантика

fp

Создайте ленивого парсера изЛенивого Аргумента,<fp>.<fp>будет призываться в разрезе времени.<fp>ожидается возвращение<Parser>объекта. Затем этот парсер вызывается для того, чтобы разобрать вход.

lazy(fp)

Создайте ленивого парсера изЛенивого Аргумента,<fp>.<fp>будет призываться в разрезе времени.<fp>ожидается возвращение<Parser>объекта. Затем этот парсер вызывается для того, чтобы разобрать вход.

Attributes

выражение

атрибут

fp

Тип атрибута типа возврата<fp>

.
lazy(fp)

Тип атрибута типа возврата<fp>

.
Complexity

Сложность парсера<lazy>определяется сложностью парсера, возвращаемого из<fp>.

Example
[Note]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")));


PrevUpHomeNext

Статья Lazy Parser (lazy) раздела Spirit 2.5.2 Auxiliary Parsers может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Auxiliary Parsers ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-07-05 00:23:36/0.003695011138916/0