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

Nonterminals

Boost , Spirit 2.5.2 , Quick Reference

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

Подробнее см. здесь<Nonterminals>.

Notation

RT

Синтезированный атрибут. Тип возврата правила или грамматики.

Arg1, Arg2, ArgN

Наследственные атрибуты. Нуль или больше аргументов.

L1, L2, LN

Нулевые или более локальные переменные.

r, r2

Правила

g

Грамматика

p

Выражение генератора

my_grammar

Пользователь определил грамматику

Terminology

Signature

<RT(Arg1, Arg2, ...,ArgN)>. Подпись определяет синтезированные (возвратное значение) и наследственные (аргументы) атрибуты.

Locals

<locals<L1,L2,...,LN>>. локальных переменных.

Delimiter

Тип генератора разграничения

Template Arguments

Iterator

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

A1, A2, A3

Может быть 1) Подпись 2) Местные жители 3) Делимитер.

выражение

Описание

<rule<OutputIterator, A1, A2, A3> r(name);>

Декларация правил.<OutputIterator>Требуется.<A1,A2,A3>являются необязательными и могут быть указаны в любом порядке.<name>— необязательная строка, дающая правилу его название, полезная для отладки.

<rule<OutputIterator, A1, A2, A3> r(r2);>

Копировать конструкцию правила<r>из правила<r2>.

<r= r2;>

Назначить правило<r2><r>.<boost::shared_ptr>Семантика.

<r.alias()>

Возврат псевдонима<r>. Фамилия является генератором, который содержит ссылку на<r>. Справочная семантика.

<r.copy()>

Получить копию<r>

<r.name(name)>

Установите название правила

<r.name()>

Получить название правила

debug(r)

Правило отладки<r>

<r= g;>

Определение правил

<r%= g;>

Определение автоматического управления. Атрибут<g>должен быть совместим с синтезированным атрибутом<r>. Когда<g>успешно, его атрибут автоматически распространяется на<r>синтезированный атрибут.

<
template<typenameOutputIterator>
structmy_grammar:grammar<OutputIterator,A1,A2,A3>
{
   my_grammar():my_grammar::base_type(start,name)
   {
       // Rule definitions
       start=/* ... */;
   }
   rule<OutputIterator,A1,A2,A3>start;
   // more rule declarations...
};
>

Грамматическое определение.<name>— необязательная строка, дающая грамматике её название, полезная для отладки.

my_grammarg

Обоснование грамматики

<g.name(name)>

Установите имя грамматики

<g.name()>

Получить название грамматики


PrevUpHomeNext

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




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



:: Главная :: Quick Reference ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 19:04:45/0.0069048404693604/0