2 dépôts
Mappings of field sequences to binary formats to automate the reading and writing of complex data structures.
Distinct from Binary Data Formats: Focuses on the definition of the binary layout (schema) rather than the general binary format itself.
Explore 2 awesome GitHub repositories matching data & databases · Binary Schema Definitions. Refine with filters or upvote what's useful.
Racket est un langage de programmation généraliste multi-paradigme de la famille Lisp, conçu pour la création de langages. Il fonctionne comme un atelier de langage, fournissant une plateforme pour concevoir et implémenter des langages de programmation personnalisés via un système flexible de macros et de modules. Le système se distingue en offrant une suite complète pour l'ingénierie sémantique, permettant la construction de sous-ensembles de langages spécialisés et de couches éducatives. Il inclut des outils pour la conception de langages personnalisés, tels que la génération de lexer et de parser, ainsi que la capacité de définir des règles d'expansion de module et une sélection de langage dynamique au moment de la lecture. Le projet fournit un environnement de développement intégré avec un éditeur intégré, un débogueur visuel et un gestionnaire de paquets logiciels. Sa surface de capacités s'étend à une bibliothèque standard généraliste couvrant le rendu graphique 2D, le traitement de données binaires, l'intégration SQL et de bases de données déductives, et la construction d'interfaces utilisateur graphiques. L'environnement prend en charge la compilation du code source en fichiers exécutables autonomes pour la distribution.
Allows mapping field sequences to binary formats to automate the handling of complex data structures.
Kaitai Struct est un framework pour la spécification binaire déclarative qui fournit une génération automatisée d'analyseurs et de sérialiseurs sur plusieurs langages de programmation. Il utilise un langage portable spécifique au domaine pour décrire la mise en page des fichiers binaires et des paquets réseau, convertissant ces spécifications en code source pour la lecture et l'écriture de données binaires. Le système permet le traitement de données multi-langages en traduisant une définition structurelle unique en code source natif pour des langages incluant C++, C#, Go, Java, JavaScript, Python et Rust. Cette approche permet à la même spécification de données binaires d'être implémentée sur différentes plateformes sans réécrire manuellement la logique d'analyse. Le framework couvre la modélisation et le traitement des données binaires, y compris la capacité de gérer des pointeurs de lecture pour la navigation par offset et d'appliquer des transformations de données telles que la décompression et le déchiffrement. Il fournit également des outils pour le débogage de spécification de format afin de valider le mappage entre les mises en page de données binaires et leurs descriptions déclaratives.
Allows developers to create portable binary schema definitions for file and network packet formats.