_
~ DAMOLAB - XBNF Neurotranslator ~
"La trouille des réprimandes attire les réprimandes." - Matthieu Damerose
XBNF #TAGS _./._ damolab _./._

XBNF neurotranslator v1.07


| FR | par DAMO | | 02/01/2024 12h00 | (last update 24/08/2025 11h57) | Commentaires |
#XBNF #LINUX
Nouvelle mouture de XBNF Neurotranslator : le compilateur de compilateur ultime
|




1) XBNF Neurotranslator - Qu'est ce donc ?



Vous utilisez des expression régulières ? Des formats de données spécifiques ?
Vous avez besoin d'un format de données lisibles (fichier de configuration, base de données simple, ...) ?
Vous souhaitez faire intéragir des données entre plusieurs formats connus (JSON, YAML, HTML, ...) ?
Vous avez besoin d'un parseur pour générer du code à partir de données ?

XBNF Neurotranslator est un compilateur puissant et facile à mettre en oeuvre.
XBNF se base sur des grammaires BNF étendues munies de :
  • règles de traduction lisibles et compréhensibles
  • fonctions intégrées
  • plusieurs optimisations performantes
  • mécanismes de traduction paramétrables


Ce projet est accompagné :
  • d'exemples simples de grammaires de tests recouvrant toutes les fonctionalités
  • d'applications pratiques mettant en oeuvre des grammaires de traduction
  • d'un puissant debugger paramétrable


XBNF neurotranslator est la commande :
xbnf
xbnf --version


Une curiosité, la grammaire xbnf.xbnf est elle-même écrite en XBNF :
  xbnf -i xbnf.xbnf -o - xbnf.xbnf


Grâce aux functions SCOPE, _newDefinition, _newChannel, _newDirect, _newRule, _newElement, _newCall,
il est possible de génèrer en mémoire une grammaire ré-utilisable pour parser de nouveau une grammaire XBNF :
  xbnf.xbnf -0 -o - -is {grammaire}.xbnf -os - xbnf.xbnf


Cette fonctionnalité servira à créer des grammaires écritent dans un autre format que XBNF.

2) Ressources du projet








3) Mise en Jambe



En quoi consiste une grammaire XBNF :
/* exemple-factice.xbnf
   exemple factice de grammaire XBNF
*/

axiome : categorie1

categorie1 : "chaine de caractère" categorie2 | categorie2 | ()
categorie1 : categorie2 "autre chaine"

categorie2 : "suite 1" # "Chaine traduite"
categorie2 : {0 <répétition1> <répétition2> 3} # {0 "répétition" 3}
categorie2 : {* "." *} # {* " " *}


<répétition1>: ceci     => [0]

<répétition2>: (! cela) # [0]
<répétition2>: (NUMBER 10)

ceci: ...
cela: ...



N'hésitez pas à parcourir la librairie afin d'explorer les possibilités.

L'utilisation de la grammaire ci-dessous (ici exemple-factice.xbnf) prends en entrée un fichier de donnée (ici test.txt),
puis générère en sortie, ici la console standard le résultat de la traduction.

xbnf -v -i test.txt -o - exemple-factice.xbnf


Afin que XBNF Neurotranslator puisse évoluer, il lui faut des cas d'utilisation et applications pratiques,
les idées gratuites et libres seront toujours les bienvenus.

Pour poster vos erreurs ou questions sur la mise en oeuvre de cas pratiques :

SourceForge - support - XBNF - compilateur
SourceForge - support - XBNF - librairie


1) Ressources XBNF Neurotranslator



Documentation (FR)

1.1) XBNF Sources Sourceforge


Binaires et sources
Librarie XBNF

1.2) Images dockerHub


Executable et librairies
Sources et Toolchain C++ GNU (Linux 64 bits)

1.3) DamoLab


DamoLab@Sourceforge
DamoLab@DockerHub


Nom/surnom:
Message:


revenir sur l'article
#XBNF #LINUX

Aucun commentaire.

dans
une
galaxy
lointaine
Charte du site damolab.zapto.org est motorisé par

"La force est une sorte de fluide crée par tout être vivant, une énergie qui nous entoure et nous pénètre, et qui maintient la galaxie en un tout unique."
- Obi-Wan à Luke Yoda