Вопросы по теме 'nom'

Совпадение с одним из нескольких байтов в nom
Я использую nom для анализа некоторых двоичных данных сборки 65c816. Часть моей структуры парсера разбивает коды операций на отдельные формы, а затем получает их параметры, если они есть. Пример парсера в настоящее время выглядит так:...
370 просмотров
schedule 02.10.2022

Как я могу комбинировать парсеры nom, чтобы получить более бит-ориентированный интерфейс для данных?
Я работаю над декодированием сообщений AIS в Rust, используя nom . Сообщения AIS состоят из битового вектора; различные поля в каждом сообщении имеют произвольное количество битов и не всегда выравниваются по границам байтов. Затем этот...
509 просмотров
schedule 24.05.2022

Как использовать nom take_ while и is_digit для ввода & str
Я пытаюсь изучить nom, но у меня проблема, когда take_while не принимает is_digit или любой другой is_xxxx . У меня есть строки, которые я хочу проанализировать, которые выглядят так #123 = ABCDEF (...); где я хочу получить часть...
701 просмотров
schedule 15.11.2023

Как анализировать слегка неоднозначные данные с помощью nom?
В RFC1738 BNF для domainlabel имеет следующий вид: domainlabel = alphadigit | alphadigit * [alphadigit | "-"] альфа-цифра То есть это либо альфа-цифра, либо строка, в которой первый / последний символы должны быть альфа-цифрой, а...
477 просмотров
schedule 15.04.2022

Остальные данные, возвращаемые nom :: bits :: bits, неверны
Я пытаюсь взять 7 бит из вектора & [u8], используя nom :: bits :: bits, но обнаружил, что остальные данные неверны, кажется, это должно быть целое кратное 4/8, но я не Конечно. какой-то код вроде этого (nom = 5.12): fn take_7_bits(i: &[u8])...
45 просмотров
schedule 31.07.2022

Как сопоставить регулярное выражение, но вернуть оставшуюся часть ввода в Rust Nom?
Я пытаюсь использовать Nom 6.1.2 для анализа относительно простого Lisp-подобного языка, где мне нужно захватывать идентификаторы формы [a-z][a-zA-Z0-9_\-\.] . Я попытался использовать re_match , но ожидается, что весь input будет соответствовать...
89 просмотров
schedule 23.02.2023