![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
NonterminalBoost , Spirit 2.5.2 , Generator Concepts
|
![]() |
Note |
---|---|
Начиная сSpiritV2.5 (распределяется с Boost V1.47) заполнитель< |
_r1
...r10
<boost::spirit::_r1
>...<boost::spirit::r10
>заполнители могут быть использованы вФеникссемантические действия в любом месте в определении Nonterminal. Этизаполнители Фениксаотносятся к наследственным атрибутам Нетерминала.
Нетерминалы могут иметь локальные переменные, которые будут создаваться на стеке во время выполнения. Местный дескриптор, добавленный к Нетерминальной декларации, дает Нетерминальные локальные переменные:
template <typename T0, typename T1, typename T2, ..., typename TN> struct locals;
где<T0
>...<TN
>— типы локальных переменных, доступных в вашихсемантических действиях Фениксас использованием заполнителей:
boost::spirit::_a
>boost::spirit::_b
>boost::spirit::_c
>boost::spirit::_d
>boost::spirit::_e
>boost::spirit::_f
>boost::spirit::_g
>boost::spirit::_h
>boost::spirit::_i
>boost::spirit::_j
>которые соответствуют локальным переменным Нетерминала<T0
>...<T9
>.
Notation
x
Нетерминальный
X
Нетерминальный тип
arg1
, arg2
, ..., argN
Ленивые аргументы, которые оценивают каждый из наследственных атрибутов Нетерминала.
В дополнение к требованиям, определенным в<Generator
>, для любого Нетерминала необходимо выполнить следующее:
выражение |
Семантика |
Тип возврата |
---|---|---|
< |
В выражении генератора вызовите Nonterminal< |
< |
< |
В экспрессии генератора вызовите нетерминальный< |
< |
< |
Установите имя нетерминала |
< |
< |
Получить имя нетерминала |
< |
выражение |
Описание |
---|---|
< |
Подпись< |
< |
Местные переменные< |
Статья Nonterminal раздела Spirit 2.5.2 Generator Concepts может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Generator Concepts ::
реклама |