begin process at 2012 05 30 10:31:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

GUI

 > 

Utilisation de flex/bison dans application graphique Windows (API)


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

Utilisation de flex/bison dans application graphique Windows (API)

jeudi 16 juillet 2009 à 19:00:21 | Utilisation de flex/bison dans application graphique Windows (API)

uaip

Bonjour à tous

Je résume tout depuis le début. J'ai découvert flex et bison sous Linux, j'ai commencé un projet de compilateur sous le terminal : j'écrivais mes fichiers .l (pour flex) et .y (pour bison), je génerais les fichiers sources correspondants, et ajoutés à un main.c, je compilais le tout et le programme final fonctionnait (le programme ne fait que parser un fichier de code, convertit en C, et appelle gcc pour compiler un exécutable final). J'ai "exporté" ce projet sous Windows et je l'ai continué. Sous console, tout se compile parfaitement et le programme se lance (pour gcc, j'ai utilisé minGW). Sous Windows, j'ai du ajouter la bibliothèque libfl.a (pour Codes::Blocks).
Or voilà, depuis que j'ai modifié mon main.c (projet sous console) en un projet win32 graphique, le code se compile, mais l'exécutable n'est pas lancé (code d'erreur directement).
Je me suis rendu compte que c'est en incluant la lib libfl.a que ce problème survient. Pourtant, j'ai récupéré cette bibliothèque sur le site http://flex.sourceforge.net/ donc elle devrait être plus ou moins "officielle".
Je n'ai trouvé aucune réponse sur le net, ni d'autres exemples "concrets" de projets flex/bison win32.
Merci d'avance...


Cordialement, uaip.

vendredi 17 juillet 2009 à 10:48:52 | Re : Utilisation de flex/bison dans application graphique Windows (API)

Kotomine

Si je me souviens bien, flex/bison lisent par défaut sur l'entrée standard, qui elle est fermée en mode graphique

Essaie de créer un fichier qui contient une grammaire à analyser, et de faire

yyin = fopen("monfich.txt","r"); avant ton yyparse()



(je suis peut-être dans le faux ..)



;I'm just keeping the hopeless cross to increase the meaninglessness

vendredi 17 juillet 2009 à 12:51:11 | Re : Utilisation de flex/bison dans application graphique Windows (API)

uaip

Salut,
Quand je disais que le programme ne faisait que parser un fichier de code, je voulais dire implicitement que l'entrée était redirigée. Je suis quand même conscient que ce n'était pas très clair.
En gros, j'ai ceci :

Code C/C++ :
...

FILE *_FILE_=fopen("test","r");
if (_FILE_ == NULL)
{
alert("Erreur d'ouverture des fichiers");
return 1;
}
yyrestart(_FILE_); //Redirection de l'entrée standard
yyparse();
fclose(_FILE_);
...


(yyin doit fonctionner avec yacc, mais apparemment pas avec bison).
Mais je vais me pencher sur d'autres subtilités comme ça.

Cordialement, uaip.

samedi 18 juillet 2009 à 16:45:11 | Re : Utilisation de flex/bison dans application graphique Windows (API)

uaip

Réponse acceptée !

Re-bonjour,
J'annonce pour les éventuels internautes qui tomberaient sur ce topic que j'ai trouvé une solution plus ou moins "bricolée". Déjà, je tiens à me corriger : yyin fonctionne aussi pour bison, mais ça n'a pas résolu mon problème. Du coup, j'ai divisé mon programme en deux : une partie sous console (le compilateur) et une autre en GUI (l'interface du programme). En appuyant sur un bouton sur le GUI, ça appelle ShellExecute() qui lance le compilateur en donnant en 1er paramètre le hwnd de la fenêtre GUI (pour que le compilateur puisse envoyer des messages (erreurs, etc)). Ca a l'air de bien fonctionner pour le moment.
C'est vraiment pas top pour l'objectif que je m'étais fixé au départ, mais finalement, je me rends compte que Code::Blocks par exemple est foutu pareil (avec minGW). Donc je vais rester sur ça.

Merci Kotomine d'avoir pris la peine de me répondre.


Cordialement, uaip.



Cette discussion est classée dans : windows, projet, graphique, flex, bison


Répondre à ce message

Sujets en rapport avec ce message

compilateur pour programmer un chat sous windows [ par ralary ] ralary!!Bon ,en un mot mon projet consiste a programmer un chat pour un intranet alors j'ai besoin d'un reference de compilateur pour cela qui peut e Flex Bison [ par PaPi20_1 ] Quelqu'un aurait-il une bonne doc sur flex et bison, ou un titre de livre ? merci. flex/bison et dev-c++ [ par 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 prob 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 Interface graphique style Windows [ par eliot5 ] Je viens de créer sous windev un petit logiciel qui fonctionne bien mais j'aimerais connaitre la manière de procéder pour créer une interface graphiqu Interface graphique [ par Oumbre ] Salut à tous !Voilà mon problème : j'ai un programme qui est écrit en C pour windows et je dois créer une interface graphique qui va avec. De plus, ce 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 compilation flex sous windows [ par doudoujess ] bonjour,j'ai un petit programme à faire en flex (sous windows) et je rencontre des difficultés au mmoment de la compilation. j'ai modifié le path pour Projet de RPG : Les Livres de Gaïa [ par licorna ] Bonjour à tous, je suis l’unique développeur d’un projet de RPG qui germe dans ma tête et dans celle de plusieurs amis depuis quelques années. Aussi, flex et bison sous c++ builder 6 [ par nwe ] comment puis je faire pour utiliser les outils flex et bison sous c++ builder 6 ?


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,390 sec (3)

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