J'ai cherché du côté de camlyacc, j'ai trouvé des trucs interessants, mais ça demande beaucoup de temps... de découverte..
J'ai ensuite trouvé perl:recDescent, j'ai même trouvé des grammaires c, mais aucune n'est exploitable. Une ne fonctionne pas, l'autre fonctionne pour des programmes très simples.
Je dois réaliser ce petit programme en urgence où j'ai une liste de chose à automatiser. J'en ai discuté avec le bénéficiaire (celui qui va faire la traduction) et il a juste besoin d'une liste de choses :
-transformation des majuscules en minuscules pr variables et fonctions.
-récritures des déclarations de variables (int i -> i : INTEGER)
- inversion des if et while do (if (condition) -> (condition).if ) et remplacement des parenthèse par des accolades pour les while_do
- remplacement du for en for "objet ( " for(v1=v2; v1 < limite;v1++)" en "v2.to limite do { v1 : INTEGER;" )
- etc...
Des petites choses
A l'avenir, je ferai un parser avec la méthode que tu préconnise. Mais il ya du boulot...
Et je ne sais pas si Gcc est à conseiller, je prefèrerai Cil qui est un logiciel écrit en caml, capable de comprendre le c gcc, de l'analyser, etc...
Si on veut faire un compilateur complet, produisant du lisaac compilable, il faudra faire une IA derrière....
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: idée
Posté par Ontologia (site web personnel) . En réponse au message [débutant]Regexp sur chaîne de longueur inconnu. Évalué à 1.
J'ai cherché du côté de camlyacc, j'ai trouvé des trucs interessants, mais ça demande beaucoup de temps... de découverte..
J'ai ensuite trouvé perl:recDescent, j'ai même trouvé des grammaires c, mais aucune n'est exploitable. Une ne fonctionne pas, l'autre fonctionne pour des programmes très simples.
Je dois réaliser ce petit programme en urgence où j'ai une liste de chose à automatiser. J'en ai discuté avec le bénéficiaire (celui qui va faire la traduction) et il a juste besoin d'une liste de choses :
-transformation des majuscules en minuscules pr variables et fonctions.
-récritures des déclarations de variables (int i -> i : INTEGER)
- inversion des if et while do (if (condition) -> (condition).if ) et remplacement des parenthèse par des accolades pour les while_do
- remplacement du for en for "objet ( " for(v1=v2; v1 < limite;v1++)" en "v2.to limite do { v1 : INTEGER;" )
- etc...
Des petites choses
A l'avenir, je ferai un parser avec la méthode que tu préconnise. Mais il ya du boulot...
Et je ne sais pas si Gcc est à conseiller, je prefèrerai Cil qui est un logiciel écrit en caml, capable de comprendre le c gcc, de l'analyser, etc...
Si on veut faire un compilateur complet, produisant du lisaac compilable, il faudra faire une IA derrière....
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker