Результаты поиска по запросу "boost-spirit"
Как обобщить анализатор духа, чтобы получать списки в произвольном порядке?
У меня есть простой парсер, который может анализировать списки целых или строки в кавычках. Если я сделаюSIMPLE_CASEгде я принимаю входные данные: std::string input1 = "{ INT: 42, 24 STR: \"Smith\", \"John\" }";он правильно разбирается ...
Могут ли быть настроены правила повышения духа
В моей грамматике Boost Spirit я хотел бы иметь правило, которое делает это: rule <...> noCaseLit = no_case [lit ("KEYWORD")]; но для пользовательского ключевого слова, чтобы я мог сделать это: ... >> noCaseLit ("SomeSpecialKeyword") >> ... >> ...
Как использовать boost :: spirit для разбора UTF-8?
#include <algorithm> #include <iostream> #include <string> #include <vector> #define BOOST_SPIRIT_UNICODE // We'll use unicode (UTF8) all throughout #include <boost/spirit/include/qi.hpp> #include <boost/spirit/include/qi_parse.hpp> #include ...
boost :: spirit :: qi парсинг дубликатов на выходе
У меня есть этот очень простой парсер с использованием Boost :: Spirit: rule<std::string::iterator, std::string()> zeroTo255 = (string("25") >> char_('0', '5')) | (char_('2') >> char_('0', '4') >> digit) | (char_('1') >> repeat[2](digit)) | ...
Отфильтруйте синтезированный атрибут через std :: map в семантическом действии буст-духа
У меня есть случай, когда я хотел бы отфильтровать значение, которое появляется как синтезированный атрибут внутри правила через std :: map. Карта предварительно сгенерирована и не будет изменяться во время анализа.Природа карты и реального ...
Boost Spirit Внедрение небольшого однострочного DSL в серверном приложении
Извиняюсь, если на этот вопрос уже был дан ответ. Я хочу вставить небольшой DSL в серверное приложение, над которым я работаю. Синтаксис очень прост, и даже на этом раннем этапе я в тупике. Я просто не могу понять, как построить синтаксис по ...
Повышение C ++ - Поиск символов таблицы духа
В Boost Spirit, если у меня есть таблица символов struct Foo : boost::spirit::qi::symbols<char, MyEnums::FruitType> { Foo(const std::string& name = std::string("FooTable") : boost::spirit::qi::symbols<char, MyEnums::FruitType>(name) { ...
Как проверить алгебраические утверждения, используя boost :: spirit?
Я пытаюсь продлитьпример калькулятора [http://www.boost.org/doc/libs/1_53_0/libs/spirit/example/qi/calc_utree.cpp]так что вместо анализа и вычисления алгебраического выражения парсер будет определять, является ли алгебраическое утверждение ...
Boost :: spirit :: qi, определяющий калькулятор для нулевых значений
Я пытаюсь написать синтаксический анализатор для математических выражений, где именованные переменные являются нулевыми вboost::spirit (версия 1_51_0), к которой я совершенно новичок. Я определяюtypedef boost::function<double()> Value и мои ...