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

jihado86 13 Messages postés samedi 25 avril 2009Date d'inscription 28 mai 2009 Dernière intervention - 20 mai 2009 à 17:43 - Dernière réponse : cptpingu 3784 Messages postés dimanche 12 décembre 2004Date d'inscription 18 avril 2018 Dernière intervention
- 20 mai 2009 à 18:22
Comment générer les fichier y.tab.h et y.tab.c à partir de Yacc?
Afficher la suite 

7 réponses

Répondre au sujet
cptpingu 3784 Messages postés dimanche 12 décembre 2004Date d'inscription 18 avril 2018 Dernière intervention - 20 mai 2009 à 17:50
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cptpingu
jihado86 13 Messages postés samedi 25 avril 2009Date d'inscription 28 mai 2009 Dernière intervention - 20 mai 2009 à 17:56
0
Utile
merci mais MSDOS n'a pas reconnu --report=all et g++..

sachant que j'utilise moi aussi flex et bison
Commenter la réponse de jihado86
cptpingu 3784 Messages postés dimanche 12 décembre 2004Date d'inscription 18 avril 2018 Dernière intervention - 20 mai 2009 à 17:58
0
Utile
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.
Commenter la réponse de cptpingu
jihado86 13 Messages postés samedi 25 avril 2009Date d'inscription 28 mai 2009 Dernière intervention - 20 mai 2009 à 18:02
0
Utile
j'arrive pas à savoir mon compilateur
je travaille sur windows XP avec microsoft visual C++
Commenter la réponse de jihado86
cptpingu 3784 Messages postés dimanche 12 décembre 2004Date d'inscription 18 avril 2018 Dernière intervention - 20 mai 2009 à 18:05
0
Utile
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.
Commenter la réponse de cptpingu
jihado86 13 Messages postés samedi 25 avril 2009Date d'inscription 28 mai 2009 Dernière intervention - 20 mai 2009 à 18:07
0
Utile
en tout cas je te remercie et j'accepte ta reponse
Commenter la réponse de jihado86
cptpingu 3784 Messages postés dimanche 12 décembre 2004Date d'inscription 18 avril 2018 Dernière intervention - 20 mai 2009 à 18:22
0
Utile
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
Commenter la réponse de cptpingu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.