Как я могу передать параметр для анализатора в 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

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