Обратите внимание, что я спрашиваю о 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