Результаты поиска по запросу "boost-spirit"
повысить дух разбора с источником
Я хотел бы иметь возможность анализировать число, сохранять его исходный источник и отслеживать его положение в источнике, сохраняя его в самой структуре. Это то, что я до сих пор: #include <boost/config/warning_disable.hpp> ...
Анализатор Boost Spirit с унаследованными атрибутами - простой пример не скомпилируется
Я пытаюсь написать синтаксический анализатор для C-подобного языка с boost :: spirit, который использует унаследованные атрибуты для передачи информации о переменной области видимости. Например, «namespace a {var b}» будет передавать «a» в ...
повышение духа V2 ци ошибка, связанная с уровнем оптимизации
Я разрабатываю свой код в свободное время. Желательно в режиме отладки. Недавно, когда я пытался собрать релизную версию, я получил ошибку (время выполнения, вывод:1\n2\n тогда ж, болезнь). Я нашел фрагмент кода (ниже), который содержит ошибку, и ...
Я не могу получить строковое значение токена
Я пытаюсь реализовать Lexer для небольшого языка программирования с Boost Spirit. Я должен получить значение токена и получить исключение bad_get: прекращение вызывается после создания экземпляра 'boost :: bad_get' what (): boost :: bad_get: не ...
Boost Spirit Qi: опустить элемент в парсере Kleene Star
Я хочу разобрать специальные конструкции и выбросить остальные. Но я не хочу использовать шкипера. Я хочу получить вектор этих конструкций, поэтому я использую парсер Kleene Star в качестве основного правила. Но каждый раз, когда что-то ...
Boost Spirit: «Семантические действия - зло»?
Читать и смотреть эту презентацию: http://boost-spirit.com/home/2011/06/12/ast-construction-with-the-universal-tree/ [http://boost-spirit.com/home/2011/06/12/ast-construction-with-the-universal-tree/] Я обнаружил это утверждение - в основном нам ...
повышение :: дух :: ци
Рассмотрим следующий код: (Boost.Spirit 2.5.1) qi::parse(str.begin(), str.end(), (+qi::alpha)[[](const string& s){cout << s<< '\n';}] >> (*(qi::char_(',') | qi::char_('\''))) >> qi::uint_[[](int integer){cout << integer << '\n';}]);[[](int ...
Анализатор логических выражений (грамматика) в c ++
Я хочу разобрать логическое выражение (в C ++). Форма ввода: a and b xor (c and d or a and b);Я просто хочу разобрать это выражение в дереве, зная правило приоритета (не, и, или не, или). Поэтому приведенное выше выражение должно выглядеть ...
Как добавить символы qi :: в грамматику <Iterator, double ()>?
Я пытаюсь использовать библиотеку Boost.Spirit (V. 2.5) для создания мини-калькулятора. Функции, которые я хочу реализовать: - базовое исчисление (+, -, /, *), которое работает - некоторые функции (например, min, max), которые тоже работают - ...
Ошибка компиляции с boost :: spirit parser
У меня странная проблема с калькулятором, созданным с использованием boost :: spirit. Предполагается, что этот калькулятор принимает строку в качестве аргумента, представляющего серию арифметических выражений, разделенных запятыми, например «a + ...