Какие методы синтаксического анализа реализованы в структуре Kaitai? Это осуществляет возврат? - PullRequest
0 голосов
/ 07 марта 2019

Мне приходится иметь дело с буфером байтов. Этот буфер может иметь несколько грамматик (A, B, C, ... и т. Д.).

Например: AxxxxBxxxxACxxx

где x - грязные байты, и я хотел бы их пропустить. (Они не соответствуют ни одной грамматике)

Я хочу знать, возможно ли использовать kaitai-struct для разбора этих грамматик, пропуская грязные байты.

1 Ответ

1 голос
/ 12 марта 2019

Нет, это невозможно, и, как правило, это не является целью Kaitai Struct.

Общая идея двоичного разбора, как правило, сильно отличается от классической теории синтаксического анализа, поскольку двоичные форматы предназначены для машиночитаемого и, таким образом, обычно не являются неоднозначными. Двоичные синтаксические анализаторы, как правило, очень просты и не используют «состояние», «возвратный путь», «рекурсивный спуск», грамматики в качестве представления внутреннего конечного автомата и т. Д.

...