Comment générer les fichier y.tab.h et y.tab.c? [Résolu]

Signaler
Messages postés
13
Date d'inscription
samedi 25 avril 2009
Statut
Membre
Dernière intervention
28 mai 2009
-
Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 janvier 2021
-
Comment générer les fichier y.tab.h et y.tab.c à partir de Yacc?

7 réponses

Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 janvier 2021
114
Je n'utilise pas Lex/Yacc, mais Flex/Bison (qui sont leur équivalent
libre). Je suppose donc que ça fonctionne de la même manière.
Pour compiler j'utilise ces commandes:

Soit le fichier truc.l et le fichier truc.y

bison --report=all truc.y -o parse.c
flex -olex.c truc.l
g++ -Wall -W parse.c lex.c -o executable

Tu noteras sur la deuxième ligne que "-o" et "lex.c" sont "collés" c'est fait exprès.
Chez moi, ça génère tout ce qu'il faut, et compile mon mini projet.
Messages postés
13
Date d'inscription
samedi 25 avril 2009
Statut
Membre
Dernière intervention
28 mai 2009

merci mais MSDOS n'a pas reconnu --report=all et g++..

sachant que j'utilise moi aussi flex et bison
Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 janvier 2021
114
g++ c'est normal, c'est sous Unix. Remplace g++ ou gcc, par ton compilateur.
le "--report=all" n'est pas indispensable, tu peux le retirer.
Messages postés
13
Date d'inscription
samedi 25 avril 2009
Statut
Membre
Dernière intervention
28 mai 2009

j'arrive pas à savoir mon compilateur
je travaille sur windows XP avec microsoft visual C++
Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 janvier 2021
114
Deux solutions:
- Soit tu le fait en ligne de commande: il faut que tu cherches le nom du compilo (je le connais pas désolé)
- Soit tu le fais dans visual studio, et tu dois alors sûrement pouvoir spécifier ta propre ligne de compilation.

Je n'ai jamais fait de Flex/Bison sous Windows, je vais avoir dû mal à t'aider pour toutes les manipulations un peu spécifique à cet OS.
Messages postés
13
Date d'inscription
samedi 25 avril 2009
Statut
Membre
Dernière intervention
28 mai 2009

en tout cas je te remercie et j'accepte ta reponse
Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 janvier 2021
114
Si tu n'es pas obligé de le faire avec Visual Studio, alors tu peux essayer d'installer MinGw, la source suivante propose un fichier "compile.bat", dont tu pourrais essayer de t'inspirer.

http://www.cppfrance.com/codes/921-TECTION-USAGE-VARIABLES-CODE-CPLUSPLUS-AVEC-LEX_20918.aspx