Utilisation Flex Yacc pour réaliser un compilateur C++

enticor Messages postés 2 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 28 mars 2005 - 19 mars 2005 à 11:00
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 29 mars 2005 à 16:53
Bonjour à tous,

Je voudrais utiliser flex et yacc pour réaliser un pseudo compilateur C, C++. Est ce que quelqu'un sait où je peux trouver un exemple ?

Merci
Enticor

3 réponses

magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
21 mars 2005 à 12:15
un exemple se trouve dans mes sources

++

Nono.
1
enticor Messages postés 2 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 28 mars 2005
28 mars 2005 à 15:51
Merci L'informagicien !!



J'ai trouvé tout ce que je cherchais sur Bison et Flex. En fait je
cherchais un exemple de compilateur C++ en flex et Bison pour
servir d'exemple pour réaliser un analyseur syntaxique de
programme Ada. J'ai trouvé les fichiers lex et yacc concernant l'Ada95
déjà tout fait sur le net (http://www.adaic.org/standards/95lrm/).

Bizarrement le code suivant dans le fichier lex ne marche pas (alors que dans le man...! ):



DIGIT [0-9]

%%

{DIGIT} printf("toto")



J'ai du remplacé par



DIGIT [0-9] (ne sert plus à rien !!)


%%

[0-9] printf("toto")



Peut être qu'il fallait mettre une option dans le fichier vu qu'à la
base c'est un fichier lex et que j'utilise flex. J'ai d'ailleurs dû
rajouter l'option yylineno.

Sinon je pensais que faire un analyseur syntaxique allait me prendre
plusieurs semaines, finalement avec Flex et Bison 2 jours le temps de
comprendre et hop j'ai mon analyseur !!



A+
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
29 mars 2005 à 16:53
lol, je suis mis à jour....



content d'avoir pu t'etre util



effectivt, tu as pu trouvé ton prj tout fait. (essaie néanmoins de bien le comprendre...)



personnellement, j'avais également cherché (en vain) un compilo C++ en flex/bison...

et j'avais fini par en faire un mais, pas encore assez complet... (pour l'analyse du code par MétaProg)

en fait, j'ai fait un analyseur complet en C++ et à force de le faire évoluer...

il convient totalement... et le remplacer par son équivalent flex/bison
version C++ restera probablement un projet car lorsque le développement
était en cours, le mode C++ de ces 2 logiciels était en béta et non
aboutit...



Sinon, pour ton correctif, cela semble effectivement équivalent d'après
mes souvenirs (bien que j'ai un doute puisque tu as fait sauter les
accolades...)...







Magicalement,

Bonne Prog...

Nono.
0
Rejoignez-nous