Как я могу передать параметр для анализатора в Boost.parser?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как я могу передать параметр для анализатора в Boost.parser?

Сообщение Anonymous »

Обратите внимание, что я спрашиваю о Boost.parser, а не о более старом Boost.spirit. Я думаю, что я хочу использовать параметр для этого, но, по-видимому, пример параметров в учебном пособии слишком сложный для меня.#include

namespace bp = ::boost::parser;

bp::rule< struct toprule, double > toprule = "toprule";
auto const toprule_def = bp::double_ >> bp::_p;
BOOST_PARSER_DEFINE_RULES( toprule );

static void ParamTest( const bp::symbols& syms )
{
auto result = bp::parse( "10.3", toprule.with( syms ), bp::ws );
}
< /code>

По сравнению, если я хотел сделать что -то подобное по духу :: Qi, я мог бы создать грамматическую объект с помощью ссылки на таблицу символов в качестве переменной -члена, а затем использовать эту таблицу символов в правилах внутри грамматики. Принимая во внимание, что Boost.parser не имеет грамматики, и, насколько я могу судить, правила должны быть написаны в глобальном объеме.

Подробнее здесь: https://stackoverflow.com/questions/796 ... ost-parser
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»