begin process at 2012 05 29 04:41:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

flex/bison et dev-c++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

flex/bison et dev-c++

samedi 28 août 2004 à 16:40:56 | flex/bison et dev-c++

darkblueorange

Bonjour à tous,

Je suis en train de porter une appli de Linux vers Windows XP (eh oui).

J'ai opté pour l'IDE Dev-C++, avec donc minGW derrière. Le problème est que j'ai des fichiers .l et .y à compiler, et que Dev-C++ ne gère que le C/C++ si je ne trompe pas (dites-moi que je me trompe, ça me ferait plaisir !!).

Je suis donc obligé de compiler ces fichiers avec flex et bison (qui - soit dit en passant - ne m'affichent jamais de messages d'erreurs ni de warnings à la compil j'ai l'impression) en ligne de commande (j'ai pas encore essayé de faire un script, quel langage me conseilleriez-vous d'ailleurs ?).

Quand j'ajoute les fichiers parser.tab.c et parser.tab.h générés (je n'inclue pas le lexer.c si je ne trompe pas) dans la liste des fichiers du projet dans Dev-C++, j'ai droit à une myriade d'erreurs "syntax error before numeric constant" devant toutes les lignes du type "typedef WINBOOL BOOL;" au moment de la compilation.

Je me doute que les fichiers que j'ai générés avec flex et bison ne doivent pas être conformes, j'ai pourtant fait :
flex -o lexer.c lexer.l
bison -d parser.y
dans un shell windows.

Je précise que j'ai dû ajouter flex et bison à la main car le minGW de Dev-C++ était vraiment trop minimaliste ! ;)

Voilà, je pense que j'ai mis à peu près toutes les infos nécessaires, précisez-moi s'il en manque ou si la forme n'est pas correcte pour ce post !
Toute aide ou remarque constructive est bien sûr la bienvenue,
Merci.

Olivier
samedi 28 août 2004 à 17:27:27 | Re : flex/bison et dev-c++

darkblueorange

Humm ... petite précision : je n'avais pas remarqué mais les fichiers dans lequels se trouvent les erreurs de synatxe ne sont ni le parser ni le lexer mais "windef.h", "wincon.h", "winbase.h", "wingdi.h" ... et j'en passe.
Ces fichiers sont apparemment inclus lors de la compilation avec bison.
Une aide please ...
samedi 28 août 2004 à 17:38:33 | Re : flex/bison et dev-c++

darkblueorange

Le windef.h n'est vraiment pas là pour me rassurer :

...
/* FIXME: This will make some code compile. The programs will most
likely crash when an exception is raised, but at least they will
compile. */
#if defined (__GNUC__) && defined (__SEH_NOOP)
#define __try
#define __except(x) if (0) /* don't execute handler */
#define __finally

#define _try __try
#define _except __except
#define _finally __finally
#endif

typedef unsigned long DWORD;
typedef int WINBOOL,*PWINBOOL,*LPWINBOOL;
/* FIXME: Is there a good solution to this? */
#ifndef XFree86Server
#ifndef __OBJC__
typedef WINBOOL BOOL;
...

Ce que je préfère dans l'histoire c'est le FIXME. L'intruction qui plante à la compilation est - je le rappelle - la dernière ligne que vous voyez : "typedef WINBOOL BOOL;", je ne vois d'ailleurs pas trop pourquoi !

Help ...
samedi 28 août 2004 à 18:56:53 | Re : flex/bison et dev-c++

jpthomasset

Réponse acceptée !
Salut !

Je pense que BOOL est déjà defini qq part dans d'autre fichiers (dans la parser.tab.h ?) : sans doute sous la forme

enum BOOL { FALSE, TRUE};


A+,
JP.

PS : quel est l'appli que tu es en train de porter ?
samedi 28 août 2004 à 19:52:45 | Re : flex/bison et dev-c++

darkblueorange

Bon. J'ai fini par trouver !
Il s'agit en fait d'un problème de redéfinition de MACROs dans les fichiers de Windows windef.h, winbase.h et tous ceux cités au-dessus.
Je viens de voir ta réponse jpthomasset, ça confirme effectivement ce que tu dis, merci !
C'est la ligne "typedef WINBOOL BOOL" qui m'empêche justement d'utiliser dans mes fichiers lex et yacc le token BOOL (et FLOAT aussi, j'ai eu la même erreur). En le remplaçant par MY_BOOL ça passe très bien.

A+ et merci pour la réponse !

P.S. En fait je porte un générateur de traffic DHCP/RADIUS (avec notions d'états) que j'ai développé en stage, sous Debian puis Mandrake.


Cette discussion est classée dans : fichiers, dev, trompe, flex, bison


Répondre à ce message

Sujets en rapport avec ce message

Flex Bison [ par hobbes ] Bonjour,Je n arrive pas a faire accepter les caracteres accentues par le parseur que je suis en train de programmer. Qq peut il m aider ???Hobbes Flex Bison [ par PaPi20_1 ] Quelqu'un aurait-il une bonne doc sur flex et bison, ou un titre de livre ? merci. flex et bison sous c++ builder 6 [ par nwe ] comment puis je faire pour utiliser les outils flex et bison sous c++ builder 6 ? urgent flex et bison sous visual microsoft c++ [ par haissa9 ] bonjour, j'ai un projet a faire sous visual microsoft c++ et je dois faire des analyses syntaxique. es ce qu'il est possible d'utiliser flex et bison FLEX BISON [ par reyman ] Je cherche des infos sur les compilateurs flex bison.Comment on écrit le code et comment on se sert de ses outils.merci Devpack wxWidgets 2.5.4 pour Dev-Cpp 4.9.9.2 [ par fredcl ] Bonjour a tous,pour ceux que celà interresse les devpack de wxWidgets 2.5.4 pour Dev-Cpp 4.9.9.2 (dernière version) sont disponible sur mon sitehttp:/ [dev-cpp] Dossiers et fichiers [ par zippro4012 ] Comment énumérer les fichiers d'un dossier ? Comment énumérer les dossiers d'un dossier ? Enfin, comment savoir si un fichier existe ? En fait, je che FLEX /LEX BISON/YACC [ par alxidali ] JE CHERCHE A COMMENC2 AVEC CES DEUX LOGICIEL FLEX ET BISON POUR GENERER DEUX ANALYSEUR , L'OUTIL FLEX APPARAIT EN PROMPTEUR DOS MAIS JE NE SAIS PAS QU flex & bison [ par roubalist21 ] bonsoir tous le monde, je voudrais déclarer un tableau dans flex quand il finit son analyse lexical et le remplir dans bison durant l'analyse syntaxiq QT flex et bison [ par alxidali ] bonjour a tous , j'ai un petit probléme si quelqu'un pouvait m'aider , j'ai fait un analyseur syntaxique avec quelque actons sémantique en sortie , f


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales