- Conçu pour définir des formats binaires structurés avec une API chaînée déclarative, ce qui réduit fortement la complexité de l’écriture manuelle de parseurs
- À partir de la définition du parseur, génère et compile dynamiquement le code de parsing à l’exécution, offrant des performances proches d’une implémentation manuelle
- Prend largement en charge les types essentiels aux protocoles binaires : entiers, nombres à virgule flottante, champs de bits, chaînes, tableaux,
choice, pointer, etc. (avec possibilité de types personnalisés)
- Permet d’exprimer directement des motifs fréquents dans le parsing de formats réseau et de fichiers, comme l’endianness, les champs au niveau du bit ou les tableaux à longueur variable
- La combinaison de
choice et array permet de modéliser naturellement les structures TLV (Type-Length-Value)
- Grâce à
pointer, seek, saveOffset, etc., prend en charge le parsing de formats basés sur des offsets comme ELF
- Le named parser (
namely) permet le parsing de structures arborescentes récursives
- Une condition d’arrêt reste toutefois nécessaire pour éviter la récursion infinie
- Compatible à la fois avec CommonJS et ESM, et optimisé dans l’environnement Node.js pour le parsing basé sur Buffer / Uint8Array
- Une bibliothèque adaptée aux tâches d’interprétation de données bas niveau, comme l’analyse de fichiers binaires, le parsing de paquets réseau ou le traitement de formats binaires personnalisés
Aucun commentaire pour le moment.