Результаты поиска по запросу "boost-spirit"

2 ответа

Как обобщить анализатор духа, чтобы получать списки в произвольном порядке?

У меня есть простой парсер, который может анализировать списки целых или строки в кавычках. Если я сделаюSIMPLE_CASEгде я принимаю входные данные: std::string input1 = "{ INT: 42, 24 STR: \"Smith\", \"John\" }";он правильно разбирается ...

1 ответ

Могут ли быть настроены правила повышения духа

В моей грамматике Boost Spirit я хотел бы иметь правило, которое делает это: rule <...> noCaseLit = no_case [lit ("KEYWORD")]; но для пользовательского ключевого слова, чтобы я мог сделать это: ... >> noCaseLit ("SomeSpecialKeyword") >> ... >> ...

1 ответ

Как использовать 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 ...

ТОП публикаций

2 ответа

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)) | ...

2 ответа

Отфильтруйте синтезированный атрибут через std :: map в семантическом действии буст-духа

У меня есть случай, когда я хотел бы отфильтровать значение, которое появляется как синтезированный атрибут внутри правила через std :: map. Карта предварительно сгенерирована и не будет изменяться во время анализа.Природа карты и реального ...

1 ответ

Boost Spirit Внедрение небольшого однострочного DSL в серверном приложении

Извиняюсь, если на этот вопрос уже был дан ответ. Я хочу вставить небольшой DSL в серверное приложение, над которым я работаю. Синтаксис очень прост, и даже на этом раннем этапе я в тупике. Я просто не могу понять, как построить синтаксис по ...

1 ответ

Повышение 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) { ...

1 ответ

Как проверить алгебраические утверждения, используя boost :: spirit?

Я пытаюсь продлитьпример калькулятора [http://www.boost.org/doc/libs/1_53_0/libs/spirit/example/qi/calc_utree.cpp]так что вместо анализа и вычисления алгебраического выражения парсер будет определять, является ли алгебраическое утверждение ...

1 ответ

Boost :: spirit :: qi, определяющий калькулятор для нулевых значений

Я пытаюсь написать синтаксический анализатор для математических выражений, где именованные переменные являются нулевыми вboost::spirit (версия 1_51_0), к которой я совершенно новичок. Я определяюtypedef boost::function<double()> Value и мои ...