Вопросы по теме 'boost-spirit-lex'
Я не могу получить семантические действия в функциях лексера Boost Spirit для компиляции
Итак, я использую boost 1.47.0 и пытаюсь собрать лексер.
Моя цель — добавить к некоторым токенам моего лексера семантическое действие, содержащее spirit::lex::_pass = spirit::lex::pass_flags::pass_ignore . Однако мне не удалось скомпилировать...
653 просмотров
schedule
16.05.2023
Boost Spirit lex записывает значение токена обратно во входной поток
Мне интересно, есть ли в boost::spirit::lex способ записать значение токена обратно во входной поток (возможно, после редактирования) и снова выполнить повторное сканирование. То, что я в основном ищу, - это функциональность, подобная той, которую...
433 просмотров
schedule
16.01.2023
Spirit Lex: Какое определение токена сгенерировало этот токен?
Извините, если это вопрос новичка, но мне нужно знать, какое определение токена создало определенный токен. Когда я печатаю идентификатор токена, я просто получаю целое число. Мне нужно знать, какое регулярное выражение сгенерировало этот токен....
812 просмотров
schedule
23.06.2023
Проблемы с boost::spirit::lex и пробелами
Я пытаюсь научиться использовать boost::spirit. Для этого я хотел создать какой-нибудь простой лексер, объединить их, а затем начать парсить с помощью Spirit. Я попытался изменить пример, но он не работает должным образом (результат r неверен)....
1189 просмотров
schedule
15.08.2022
Проблемы с boost::spirit::lex - знаки пунктуации
Я хочу создать lex::token_def‹>, содержащий последовательности символов, такие как '[' или ']' или '&>'
Я попытался экранировать необходимые символы:
namespace lex = boost::spirit::lex;
enum LexerIDs { ID_IDENTIFIER, ID_WHITESPACE, ID_INTEGER,...
152 просмотров
schedule
27.06.2022
Почему это правило boost :: spirit :: qi не соответствует вводу?
Я попытался продолжить работу над своим предыдущим примером и расширить правила. Моя проблема в том, что правила, использующие ID_IDENTIFIER, не работают, хотя я знаю, что лексер работает (с использованием модульных тестов).
Вот пример:...
226 просмотров
schedule
26.03.2023
как избавиться от escape-символа в токене с spirit::lex?
Я хочу токенизировать собственное расширение синтаксиса SQL. Это включает в себя распознавание экранированной двойной кавычки внутри строки с двойными кавычками. Например. в MySQL эти две строковые лексемы эквивалентны: """" (вторая двойная...
666 просмотров
schedule
28.02.2023
Boost::Spirit::Lex; Как указать токен ||?
Итак, мой вопрос довольно прост, в моем классе лексера (расширяющем lex::lexer<T> ) у меня есть следующее;
this->self.add
...
("&&", AND_AND)
("||", OR_OR)
...
Внутри моего конструктора, который отлично...
68 просмотров
schedule
29.06.2023
лексер boost spirit в потоке недостаточно рано выполняет токенизацию (слишком много упреждающих действий?)
Я использую лексер boost::spirit::lex для токенизации входного потока, используя Spirit::istream_iterators, как описано в Использование Boost.Spirit.Lex и итераторов потока .
Моя проблема в том, что lex::tokenize, похоже, не выводит токен как...
178 просмотров
schedule
11.09.2022
Как использовать boost::spirit::qi с std::vector‹token_type› вместо std::string
В приложении я в основном хочу иметь фазу «предварительного синтаксического анализа», когда я настраиваю поток токенов до того, как анализатор Qi сможет его увидеть.
Одним из способов сделать это было бы иметь какой-то «адаптер лексера», который...
348 просмотров
schedule
18.06.2022
Не могу скомпилировать boost spirit example4.cpp
Я продолжаю изучать библиотеку Boost Spirit, и у меня возникла проблема с примером, который я не смог скомпилировать. Исходный код примера вы можете найти здесь: место источника . Также вы можете посмотреть этот код и скомпилировать результат на...
939 просмотров
schedule
09.06.2024