Bonjour,
Je recherche un Parser Générique.
J'ai besoin d'analyser une dizaine de type de fichiers différents.
Ce sont des fichiers de Control permettant le chargement d'objets divers dans des Progiciels. Ils font en général plusieurs dizaines de Mo.
Il me semble que dans CPAN j'avais vu quelque chose d'approchant, mais impossible de le retrouver.
Le style des fichiers est plutôt comme ceci :
Il n'y a pas d'ordre dans les paramètres, quelques fois la valeur n'est pas présente et peut être entre simple cote dans les parenthèse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 objniveau1 objtype(name) param2('valeur') param3 param4(valeur) param5 etc... objniveau2 objtype(name) param2 param8(valeur) param9('valeur') param3 param4 param7 objniveau1 etc...
Pour d'autre fichier la valeur suit le paramètre sans pour autant que cette valeur soit obligatoire (donc on se retrouve sur un mot clé).
Pas d'indentation, pas de balise de début et/ou de fin.
La définition d'un objet et de ses objets fils peut être sur plusieurs lignes.
J'ai essayé en traficotant des parser JSON ou YAML sans grande réussite
J'ai aussi développé un module qui me rend quelques services, mais il est trop compliqué, torturé, pas assez générique et me fait monter la tension quand je le modifie.
Par avance merci de votre aide.
DCA
Partager