0 votes

Débogage du code généré par Bison avec GDB

J'essaie d'accéder à ma fonction yyparse, qui est définie dans le code généré par Bison, mais je reçois un message de GDB disant

Reading file "foo.tab.c"...No such file or directory.

Le fichier généré par Bison s'appelle foo.cc. Pourquoi cherche-t-il foo.tab.c Au lieu de cela ?

2voto

dirkgently Points 56879

Le fichier .cc est en fait une entrée du programme Bison. Le fichier foo.tab.c est LA sortie -- un fichier C généré par Bison. Il contient des tables de recherche pour accélérer l'analyse et des définitions par défaut pour presque tout ce dont vous avez besoin. Ce fichier es compilé et contribue au code objet. Vous pouvez trouver le la documentation utiles.

1voto

Les fichiers d'entrée pour Bison doivent suivre la convention yacc et être nommés foo.y. Une fois traité, le fichier de sortie doit être foo.tab.c. Pour C++, il s'agit de foo.yxx à foo.tab.cxx.

Utilisez-vous l'argument -o ou --output-file pour Bison. C'est peut-être le problème, utilisez plutôt les conventions mentionnées.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X