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

API for Automatic Parser Creation

Boost , Spirit 2.5.2 , Parser API

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

Библиотека реализует специальный API, возвращающий экземпляр парсера для поставляемого типа атрибутов. Эта функция находит наилучший тип парсера для атрибута, основанный на наборе простых правил соответствия (как описано в таблице ниже), применяемых рекурсивно к типу атрибута. Возвращенный парсер можно использовать для сопоставления ввода для предоставленного атрибута.

Header
// forwards to <boost/spirit/home/qi/auto.hpp>
#include <boost/spirit/include/qi_auto.hpp>

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

Namespace

Имя

<boost::spirit::qi::create_parser>

<boost::spirit::traits::create_parser_exists>

Synopsis
namespace boost { namespace spirit { namespace qi
{
    template <typename Attr>
    inline <unspecified>
    create_parser();
}}}

Возвращенный экземпляр может быть непосредственно передан в качестве парсера (или пропускного парсера) любому из.Функции API Spirit.Qi. Кроме того, он может быть отнесен к правилу как правило выражения правой стороны. Эта функция возвращает действительный парсерный тип только в том случае, если метафункция<traits::create_parser_exists>возвращается<mpl::true_>. В противном случае он не будет компилироваться.

namespace boost { namespace spirit { namespace traits
{
    template <typename Attr>
    struct create_parser_exists;
}}}

Метафункция оценивает до<mpl::true_>, если<create_parser>вернул бы действительный парсер для данного типа<Attr>.

В следующей таблице излагаются правила отображения от типа атрибута к типу парсера. Эти правила применяются рекурсивно для создания типа парсера, который может быть использован для соответствия ввода для данного типа атрибута.

Тип атрибута

Тип генератора

<char>,<wchar_t>

<standard::char_>,<standard_wide::char_>

<short>,<int>,<long>

<short_>,<int_>,<long_>

<unsignedshort>,<unsignedint>,<unsignedlong>

<ushort_>,<uint_>,<ulong_>

<float>,<double>,<long double>

<float_>,<double_>,<long_double>

<short>,<int>,<long>

<short_>,<int_>,<long_>

<longlong><unsignedlong long>

<long_long>,<ulong_long>

<bool>

<bool_>

Любой (STL) контейнер

Клин Стар (унар.<'*'>)

Любая последовательность слияний

Оператор последовательностей<'<<'>

<boost::optional<>>

Факультативный оператор<'-'>

<boost::variant<>>

Альтернативный оператор<'|'>

[Important] Important

Картографирование для парсеров<long_long>и<ulong_long>доступно только на платформах, где определена константа препроцессора<BOOST_HAS_LONG_LONG>(т.е. на платформах, имеющих встроенную поддержку<long long>и<unsigned longlong>(64 бит) подписанных и неподписанных целых типов).

Template parameters

Параметр

Описание

<Attr>

Тип атрибута, используемый для создания соответствующего типа парсера.


PrevUpHomeNext

Статья API for Automatic Parser Creation раздела Spirit 2.5.2 Parser API может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Parser API ::


реклама


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

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