- Entwickelt, um strukturierte Binärformate mit einer deklarativen Chain-API zu definieren, und reduziert so die Komplexität beim manuellen Schreiben von Parsern erheblich
- Auf Basis der Parser-Definition wird Parsing-Code zur Laufzeit dynamisch erzeugt und kompiliert, wodurch eine Ausführungsleistung nahe an manuellen Implementierungen erreicht wird
- Unterstützt ein breites Spektrum an zentralen Typen für Binärprotokolle, darunter Ganzzahlen, Gleitkommazahlen, Bitfelder, Strings, Arrays,
choice und pointer (auch benutzerdefinierte Typen sind möglich)
- Endianness, Bitfeld-Definitionen und Arrays variabler Länge sowie andere häufige Muster beim Parsen von Netzwerk- und Dateiformaten lassen sich direkt ausdrücken
- Durch die Kombination von
choice und array lässt sich eine TLV-Struktur (Type-Length-Value) auf natürliche Weise modellieren
- Mit
pointer, seek, saveOffset usw. wird das Parsen von offsetbasierten Formaten wie ELF unterstützt
- Über benannte Parser (
namely) ist das Parsen rekursiver Baumstrukturen möglich
- Allerdings ist eine Abbruchbedingung nötig, um unendliche Rekursion zu vermeiden
- Unterstützt sowohl CommonJS als auch ESM und ist in Node.js für Buffer- / Uint8Array-basiertes Parsing optimiert
- Eine geeignete Bibliothek für Low-Level-Dateninterpretation wie die Analyse binärer Dateien, das Parsen von Netzwerkpaketen oder die Verarbeitung benutzerdefinierter Binärformate
Noch keine Kommentare.