2016-09-18 1 views
1

Wenn ich Lex-Tool lerne, fand ich es hilfreich, Quelldateien im Textformat zu analysieren, wie zum Beispiel eine neue Programmiersprache usw. Ich benutze es auch, um ein Werkzeug zu entwickeln, um einige binäre Eingabeströme wie Codec/Decoder zu analysieren .Könnte lex/flex verwendet werden, um Binärformat-Quelldateien zu analysieren?

Unterstützt lex/flex/yacc/bison solche Anforderungen, haben sie spezielle Befehlszeilenoptionen und Syntax, um dies zu ermöglichen?

Danke!

Antwort

1

Flex (und die anderen Lex-Implementierungen, die ich kenne) haben kein Problem mit nicht-ASCII-Zeichen, einschließlich der NUL-Zeichen. Möglicherweise müssen Sie die Option 8bit verwenden, obwohl dies die Standardeinstellung ist, es sei denn, Sie fordern Fast-State-Tabellen an.

Die meisten binären Formate verwenden Felder variabler Länge Länge Länge, die nicht in einem regulären Ausdruck ausgedrückt werden können. Darüber hinaus ist es üblich, dass Felder mit fester Länge kontextabhängig sind; Sie können eine Zustandsmaschine im Flex unter Verwendung von Startbedingungen bauen, aber das ist eine Menge Arbeit und ist wahrscheinlich eine Verschwendung von Zeit und Flex-Features.

+1

Welches Tool würden Sie für Binärdateien mit Feldern mit Längenvorwahl variabler Länge anstelle von lex empfehlen? – Janthelme

Verwandte Themen