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

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

C++ && UNIX && FLEX


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

C++ && UNIX && FLEX

vendredi 14 avril 2006 à 13:30:49 | C++ && UNIX && FLEX

andgello

Bonjour,

J'ai un probleme d'execution d'un programme. Il est developpé en C++ avec l'appel a une fonction d'analyse lexical generer automaiquement sous flex. Son but: recuperer des information utile dans des fichiers .h et .c.

Je l'ai tester sous windows et il fonctionne correctement. Mais au passage sous unix il fonctionne sauf la fonction d'analyse lexical ne marche pas.
Precision: on passe bien dedans.
voici le fichier .l

Code:
%{
#include "PARSER.h"
%}
%option noyywrap
%s macroVerHi macroVerLo macro256Proc macroProcessState macroVendor
/****************************useful expressions********************************/
versionHigh      "#define HIGH_SW_VERSION"[ \t]*
versionLow      "#define LOW_SW_VERSION"[ \t]*"0x"
more256Proc     "RTK_MORE_THAN_256_PROCESSES_FTR"
processState    "TRA_PROCESS_STATE_DBG"
vendorString    "USB_TRACE_VENDOR_STR_FTR"
macro           .+
retourchariot   \n

%%
{versionHigh}   {BEGIN(macroVerHi);}
{versionLow}   {BEGIN(macroVerLo);}
{more256Proc}   {BEGIN(macro256Proc);}
{processState}   {BEGIN(macroProcessState);}
{vendorString}   {BEGIN(macroVendor);}

<macroVerHi>{macro}/\n            {fprintf(yyout, "%s", yytext);BEGIN(INITIAL);}
<macroVerLo>{macro}/\n            {fprintf(yyout, "%s\n", yytext);BEGIN(INITIAL);}
<macro256Proc>{macro}/\n         {fprintf(yyout, "More256Processes\n");BEGIN(INITIAL);}
<macroProcessState>{macro}/\n      {fprintf(yyout, "ProcessState\n");BEGIN(INITIAL);}
<macroVendor>{macro}/\n            {fprintf(yyout, "VendorString\n");BEGIN(INITIAL);}

{retourchariot}       {/* on fait rien */}
.                     {/* on fait rien */}
%%
void parsingMisc(void)
{
    yylex();
}

voici le make file

Code:
parsingmisc.c: parsingmisc.l
   flex -oparsingmisc.c -Pmiscfile parsingmisc.l
   dos2unix lex.yy.c lex.yy.c
   
main.exe: main.o MISC.o PARSER.o parsingmisc.o
   g++ -Wall -o main.exe main.o MISC.o PARSER.o parsingmisc.o

parsingmisc.o: parsingmisc.c parsingmisc.h
   g++ -Wall -c parsingmisc.c -lfl
   
PARSER.o: PARSER.cpp PARSER.h
   g++ -Wall -c PARSER.cpp   

MISC.o: MISC.cpp MISC.h PARSER.h
   g++ -Wall -c MISC.cpp

main.o: main.cpp MISC.h
   g++ -Wall -c main.cpp

clean:
   rm -f main.o MISC.o PARSER.o parsingmisc.o

cleanall: clean
   rm -f main.exe
   rm -f parsingmisc.c
   
all: parsingmisc.c main.exe
mardi 18 avril 2006 à 13:18:57 | Re : C++ && UNIX && FLEX

andgello

Personne ne sait ou n'a une idée sur le porquoi du comment??
lundi 24 avril 2006 à 13:01:57 | Re : C++ && UNIX && FLEX

andgello

Probleme resolu:

L'importation de programme ecrite sous windows introduit des caractere de fin de ligne invisible sous nedit (LINUX et UNIX) seul Xemacs les affiche.
Donc il vous faut ecrire le programme sous unix directement.

1 semaine et demi pour ça ... BANG BANG


Cette discussion est classée dans : main, begin, parser, parsingmisc, misc


Répondre à ce message

Sujets en rapport avec ce message

parser xml en C [ par jbt36 ] bonjour à tous,j'ai besoin de realiser un editeur xml en Cpour cela je dois notamment parser le fichier xml pour pouvoir le manipuler,l'affichersous f crypter un mot de passe et créer un répertoire [ par Vinsou ] salut,je cherchais une focntion qui permetrai de crypter un mot de passe sous linux pour pouvoir l'ajouter dans /etc/passw (dans un script bien sûr).O main form et form modal !!!!!!! [ par Kinamstrong ] Comment changer une propriete d'un item d'un menu dans une mainform a partir d'une form modale main form et form modal !!!!!!! [ par Kinamstrong ] Comment changer une propriete d'un item d'un menu dans une mainform a partir d'une form modale glisser déposer avec main toujours le même [ par golum ] voila mon extrait de code C#include void main(void){unsigned char caract;int i;FILE *fic; if ((fic=fopen("aaa.txt","wb"))==NULL){ printf("Impossible scanf() [ par clb ] bonjour à tous,j'ecris par exemple :int fonction(){ if(true) return 0; else return -1}dans main, si cette fonction retourne 0,alors j'appli [ C++ Builder] Loader un sous menu dans un main menu [ par ashram ] Bonjourje voudrais savoir si cela est possibled'ajouter un sous menudans un menu principalen C++ Builder( en fait ce que j'essaye de trouver c l'équiv Argument argv[] en (int) [ par thebigbang ] Bonjour,Je cherche comment récupérer une variable entière à partir de la cette fonction main() :int main(int argc, char * argv[] ){...return 0;}Je vou unresolved external symbol _main ?? [ par kambo ] l'analyse lexicale et syntaxique se deroule correctement, pas de warning. mais lors du building ce message apparait; LIBCD.lib(crt0.obj) : error LNK2 fonction et variable [ par rodrigos ] Je suis débutant en c++ et j'ai un petit problème:J'ai fonction récurante dans mon programme que j'appelle depuis le main. Mais j'aimerai modifier une


Nos sponsors


Sondage...

Comparez les prix

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,359 sec (4)

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