aide moi svp urgent

Le
perrotta_22
bonjour;
desoler pour ma langues je suis faible en français;
je developpe un analyseur lexicographique pour un programme pascal
bien précis;j'ouvre le programme a anlyser(tp1.pas) j'analyse et
j'ecrit le texte source simplifier dans un autre fichier(tp10),mon
probleme c que j'obtient rien dans se fichier(vide);aider moi si vous
pouvez;et merci d'avance .voila mon code:
***************************************************************************=
**************************
#include<stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
char c;
char buffer[100];
char *motcle[]=
{"program","var","integer","real","boolean","begin","true","while","writeln=
","readln",
"if","then","end","else","false"};
char *separa[]=
{";",":",",",":=","'","/","(",")","<>",">","+","-","."};
char *ident[100];//identifiicateur
int k,i,p,nident=0;
//:declaration de struct*********************
struct Ttoken{
int type;//afficher type ex:si motcle=1 si identificateur type=2..
int pos;//position de se mot cle ou se identificateur ou separateur
dans le tableau
int li;//la ligne ou se trouve se mot dans le texte a analyser
int col;//la colone ou se trouve se mot dans le texte a analyser
} token;
//***********struct pour afficher le
code******************************
// la foncton qui cherche la position *************************
int trouv(char *t[],char *s,int n)
{
int j,pos=-1;
for(j=0;j<n;j++)
{if(strcmp(t[j],s)==0)
pos= j;
}
return pos;
}//********************************************

int main(void)
{
FILE *f,*fs;
int etat = 0;
int ib=0;
f=fopen("tp1.pas","r");//le texte a analyser
fs=fopen("tp10.txt","w");//le texte source simplifier

while(fread(&c,sizeof(char),1,f))
{

if (c!='')
{
switch(etat)
{case 0:
{
if (isalpha(c))
{
etat = 1;
i=0;
buffer[i]=c;
i++;
ib++;
continue;
}
}
case 1:
{
if (isalnum(c)) {
buffer[i]=buffer[i]+c;
i++;
ib++;

} else {
p=trouv(motcle,buffer,13);
if(p!=-1){
token.type=1;
token.pos=p;
token.li=0;
token.col=0;
fwrite(&token,sizeof(token),1,fs);
}
else
{
p=trouv(ident,buffer,nident);
if(p!=-1){
token.type=2;
token.pos=p;
token.li;
token.col;
fwrite(&token,sizeof(token),1,fs);
}
else
{
ident[nident]=malloc(sizeof(buffer[i]));
strcpy(ident[nident],buffer);
buffer[i]='';
token.type=2;
token.pos=p;
token.li;
token.col;
fwrite(&token,sizeof(token),1,fs);
nident=nident+1;
}}
}
etat = 0;
ungetc(c,f);
}
token.col++;


}}
else token.li++;
}
fclose(f);
fclose(fs);
}
**********************************************************************
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
espie
Le #19304521
In article
bonjour;
desoler pour ma langues je suis faible en français;
je developpe un analyseur lexicographique pour un programme pascal
bien précis;j'ouvre le programme a anlyser(tp1.pas) j'analyse et
j'ecrit le texte source simplifier dans un autre fichier(tp10),mon
probleme c que j'obtient rien dans se fichier(vide);aider moi si vous
pouvez;et merci d'avance .voila mon code:



Commence par indenter convenablement ton code. La, sous cette forme, c'est
illisible... Perso, je ne vais meme pas faire l'effort de le passer dans
un programme comme indent pour voir si c'est mieux...

#include #include #include #include char c;
char buffer[100];
char *motcle[] >{"program","var","integer","real","boolean","begin","true","while","writeln","readln",
"if","then","end","else","false"};
char *separa[] >{";",":",",",":=","'","/","(",")","<>",">","+","-","."};
char *ident[100];//identifiicateur
int k,i,p,nident=0;
//:declaration de struct*********************
struct Ttoken{
int type;//afficher type ex:si motcle=1 si identificateur type=2.....
int pos;//position de se mot cle ou se identificateur ou separateur
dans le tableau
int li;//la ligne ou se trouve se mot dans le texte a analyser
int col;//la colone ou se trouve se mot dans le texte a analyser
} token;


perrotta_22
Le #19306381
On 10 mai, 13:39, (Marc Espie) wrote:
In article
  >bonjour;
>desoler pour ma langues je suis faible en français;
>je developpe un analyseur lexicographique pour un programme pascal
>bien précis;j'ouvre le programme a anlyser(tp1.pas) j'analyse et
>j'ecrit le texte source simplifier dans un autre fichier(tp10),mon
>probleme c que j'obtient rien dans se fichier(vide);aider moi si vous
>pouvez;et merci d'avance .voila mon code:

Commence par indenter convenablement ton code. La, sous cette forme, c'es t
illisible...   Perso, je ne vais meme pas faire l'effort de le passer d ans
un programme comme indent pour voir si c'est mieux...



>#include >#include >#include >#include >char c;
>char buffer[100];
>char *motcle[]=
>{"program","var","integer","real","boolean","begin","true","while","writ el­n","readln",
>"if","then","end","else","false"};
>char *separa[]=
>{";",":",",",":=","'","/","(",")","<>",">","+","-","."};
>char *ident[100];//identifiicateur
>int k,i,p,nident=0;
>//:declaration de struct*********************
> struct Ttoken{
>int type;//afficher type ex:si motcle=1 si identificateur type=2.... .
>int pos;//position de se mot cle ou se identificateur ou separateur
>dans le tableau
>int li;//la ligne ou se trouve se mot dans le texte a  analyser
>int col;//la colone ou se trouve se mot dans le texte a  analyser
>} token;- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



jai pas compris tu veut dire koi .
Eric Levenez
Le #19306931
Le 10/05/09 19:51, dans
«  »
jai pas compris tu veut dire koi .



Ton code est totalement illisible. Il manque les indentations qui permettent
de comprendre facilement sa structure. Moi aussi j'ai renoncé à lire ton
code, c'est comme lire une phrase, sans ponctuation, sans majuscule, écrite
comme un SMS... :->

--
Éric Lévénez
FAQ de fclc :
Sylvain SF
Le #19307021
Eric Levenez a écrit :

jai pas compris tu veut dire koi .



c'est comme lire une phrase, sans ponctuation, sans majuscule, écrite
comme un SMS... :->



étonnant d'ailleurs comme l'auteur "faible en français"
maîtrise parfaitement le langage (pardon le vomis) SMS.
pas sur que cela encourage à faire une revue.

SF.
Matt...
Le #19308181
Eric Levenez a écrit :
Le 10/05/09 19:51, dans
« »
jai pas compris tu veut dire koi .



Ton code est totalement illisible. Il manque les indentations qui permettent
de comprendre facilement sa structure. Moi aussi j'ai renoncé à lire ton
code, c'est comme lire une phrase, sans ponctuation, sans majuscule, écrite
comme un SMS... :->




Bonjour,

A mon avis, il n'est pas français !

Matt...
Alexandre Bacquart
Le #19309331
Matt... wrote:
Eric Levenez a écrit :
Le 10/05/09 19:51, dans
« »
jai pas compris tu veut dire koi .



Ton code est totalement illisible. Il manque les indentations qui
permettent
de comprendre facilement sa structure. Moi aussi j'ai renoncé à lire ton
code, c'est comme lire une phrase, sans ponctuation, sans majuscule,
écrite
comme un SMS... :->




Bonjour,

A mon avis, il n'est pas français !



Ca ne lui donne pas un milliardième d'excuse valable pour ne pas
indenter son code.

Je suis persuadé que c'est au contraire un beau spécimen de francophone
(indice supplémentaire: fonction trouv()) tombé dans la marmite du SMS,
lisant peu, et ne maîtrisant donc pas l'écrit correct de sa langue (ce
dont il est conscient).

En fait, il semble atteint au point de reproduire dans son code ce
travers de la recherche du texte le plus condensé possible. Un cas
clinique !


--
Alex
Antoine Leca
Le #19320381
Le 11/05/2009 5:31Z, Matt... écrivit :
Bonjour,

A mon avis, il n'est pas français !



Mmmm... en quoi cela a-t-il la moindre importance ?

Pour info, le fr. du nom de la hiérarchie se rapporte à la langue
(censée) être utilisée dans les messages, PAS à la nationalité des
participants.

Et pour en revenir aux Français, je crois bien que la réflexion
ci-dessus est carrément punie par la Loi. Cela étant, je ne suis pas en
France, et pas non plus là pour faire la police.


Antoine
Antoine Leca
Le #19320371
Le 10/05/2009 11:39Z, Marc Espie écrivit :
In article
Commence par indenter convenablement ton code. La, sous cette forme, c'est
illisible...



C'est pas complètement de sa faute :

Organization: http://groups.google.com
X-Trace: posting.google.com 1241954167 27121 127.0.0.1 (10 May 2009
11:16:07 GMT)
X-Complaints-To:
NNTP-Posting-Date: Sun, 10 May 2009 11:16:07 +0000 (UTC)
Complaints-To:
Injection-Info: o20g2000vbh.googlegroups.com; posting-hostA.221.17.51;
posting-account=la1CawoAAADsx2653pspAEupwgnYndDf


Antoine
Antoine Leca
Le #19320361
Le 10/05/2009 11:16Z, écrivit :
je developpe un analyseur lexicographique [...] aider moi si vous
pouvez;et merci d'avance



http://re2c.sf.net


Antoine
francois.jacquemin
Le #19464011
Matt...
A mon avis, il n'est pas français !



Mais si, au contraire, certainement un pur fruit de l'EN ! Ne doutanat
de rien, conscient d'être « faible en français », il se lance dans ce
qu'il appelle pompeusement un « analyseur lexicographique », ce
je-ne-doute-de-rien là est français à coup sûr, doté de toute
l'arrogance de l'ignorant, exactement ce que les étrangers ressentent,
en général, en face d'un Français.

En fait, son bout de code est à première vue fait pour supprimer des
doublons. Si on dédoublonnait le débat de tous ceux qui lui ressemblent
un tant soit peu, nous risquerions d'être nombreux à passer à la trappe.

C'est pas une raison pour lui laisser nous coller impunément à la figure
du code illisible, pris dans le béton, avec les caricatures de nos
traits de caractère les moins appréciés ailleurs. Non mais.
--
F. J.
Publicité
Poster une réponse
Anonyme