Я пишу парсер для довольно сложных конфигурационных файлов, которые используют отступы и т. Д. Я решил использовать Lex чтобы разбить ввод на токены, чтобы облегчить жизнь. Проблема в том, что я не могу ...
Привет всем, я новичок в повышении и повышении ::духа, поэтому прошу прощения за нубский вопрос. Когда я использую qi ::фразу _parsefunction, функция возвращает только логическую переменную, которая указывает, имеет ли синтаксический анализ...
Как в Boost::Spirit вызвать ожидание_failure из функции, связанной с Boost::Bind? Предыстория: я разбираю большой файл, содержащий сложные записи. Когда запись не соответствует ...
Как в Boost::Spirit анализировать записи, за которыми следует либо точка с запятой, либо новая строка с необязательной точкой с запятой? Пример ввода, где каждая запись представляет собой int и double: 12 1.4;
63 13,2
...
У меня есть простой синтаксический анализатор файла конфигурации, построенный из Spirit::lex и Spirit::qi. Когда лексер достигает шаблона, включает «путь», я хочу, чтобы текст файла был включен. ::...
Как мне сопоставить символы Юникода utf8 с помощью boost::spirit? Например, я хочу распознать все символы в этой строке: $ echo "На берегу пустынных волн" | ./a.out
Н а б е р е гу п у с т ы н н ...
Мне нужно использовать boost ::spirit для синтаксического анализа, и я хочу использовать фразу _функцию разбора :qi ::фразу _разбор (str.begin (), str.end (), грамматика, ascii ::пробел -qi ::eol ); Но четвертый термин (ascii ::пробел -qi ::...
Я хочу разобрать предложение, в котором некоторые строки могут быть не в кавычках, "в кавычках" или "в кавычках". Код ниже почти работает -, но не соответствует закрывающим кавычкам. Я предполагаю, что это из-за qq...
Я успешно использовал boost::spirit::qi для анализа потока, состоящего из встроенных-парсеров (,например. байт_, маленькое_слово и т. д.). Однако теперь мне нужно проанализировать данные, которые не попадают аккуратно в...
Часть простой скелетной утилиты, над которой я работаю. У меня есть грамматика для запуска замен в тексте. Я подумал, что это замечательный способ освоиться с Boost.Spirit, но ошибки шаблона - это ...
Общий случай: я не могу понять, почему мои действия грамматики / семантики Spirit не компилируются. Иногда компилятор будет жаловаться на несовместимость присваиваний или типов, и я понятия не имею, что ...
Tag myTag = (Tag) intent.getParcelableExtra (NfcAdapter.EXTRA_TAG);
Log.i ("идентификатор тега", myTag.getId (). ToString ()); Это дает мне идентификатор типа «[ B @ 40521c40 », но этот идентификатор изменяется при каждом чтении. Любая помощь будет ...
Я редко спрашиваю об ошибках компиляции, но следующая ошибка меня озадачила. Я успешно скомпилировал библиотеки boost для Android и пытаюсь использовать его библиотеку Spirit для создания парсера. Но когда ...
Стандартный ascii::space_type skipper, конечно, не пропускает мои комментарии. В документации упоминается, что можно сделать свой собственный анализатор пропусков, но нет примера того, как это сделать. Мне просто нужно ...
После того, как я прочитал учебники по boost::spirit, он мне очень понравился из-за синтаксиса комбинатора парсера. Создавать парсер так просто. К сожалению, учебники были не так точны в вопросе ...
Чтение и просмотр этой презентации:
http: // boost -spirit.com/home/2011/06/12/ast-construction-with-the-universal-tree/
Я обнаружил это утверждение - в основном нам предлагают не использовать ...
Я использую карму для создания представлений больших структур, но структуры копируются во время генерации. Я не думаю, что им нужно быть, поэтому было интересно, как этого избежать. Быстрый пример ...
Я пытаюсь реализовать лексер для небольшого языка программирования с Boost Spirit. Мне нужно получить значение токена, и я получаю исключение bad_get: terminate вызывается после создания экземпляра '...
Подходит ли это теоретически для задачи? Можно ли это сделать практически, и можно ли будет использовать получившийся в результате синтаксический анализатор с достаточной производительностью и выводом (скажем, LLVM IR или gimple GCC) для интеграции в ...
У меня возникла небольшая проблема при попытке скомпилировать код с использованием последней версии MinGW (GCC 4.5.2) под Windows Vista Home Premium 64-бит. Во время компиляции этого файла я получаю сообщение ...
При попытке разобрать текст в boost :: variant , значение варианта не меняется.
Сами по себе парсеры работают нормально, поэтому я предполагаю, что я делаю что-то не так с ...
Я пытаюсь разобрать строку JSON с помощью объекта JSON хранилища Boost Spirit в рекурсивные структуры данных: Value <== [null, bool, long, double, std :: string, Array, Object];
Array <== [Value, Value, ...
Я разбираю текстовый файл размером, возможно, несколько ГБ, состоящий из следующих строк: 11 0,1
14 0,78
532 -3.5 Обычно одно целое и одно число с плавающей запятой на строку. Целые числа должны быть упорядоченными и неотрицательными. ...
Мне было интересно, есть ли - это способ в Boost.Spirit.Qi динамически комбинировать произвольное количество правил во время выполнения. Внутренняя работа Boost.Spirit до сих пор остается для меня загадкой, но ...
У меня есть грамматика, которая до сих пор использовала стандартный boost :: spirit :: ascii :: space / boost :: spirit :: ascii :: space_type шкипер. У меня есть некоторые правила, которые используют шкипер, а некоторые нет, например
...