Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

aide moi svp urgent

10 réponses
Avatar
perrotta_22
bonjour;
desoler pour ma langues je suis faible en fran=E7ais;
je developpe un analyseur lexicographique pour un programme pascal
bien pr=E9cis;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[]=3D
{"program","var","integer","real","boolean","begin","true","while","writeln=
","readln",
"if","then","end","else","false"};
char *separa[]=3D
{";",":",",",":=3D","'","/","(",")","<>",">","+","-","."};
char *ident[100];//identifiicateur
int k,i,p,nident=3D0;
//:declaration de struct*********************
struct Ttoken{
int type;//afficher type ex:si motcle=3D1 si identificateur type=3D2.....
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=3D-1;
for(j=3D0;j<n;j++)
{if(strcmp(t[j],s)=3D=3D0)
pos=3D j;
}
return pos;
}//********************************************

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

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

if (c!=3D'\r')
{
switch(etat)
{case 0:
{
if (isalpha(c))
{
etat =3D 1;
i=3D0;
buffer[i]=3Dc;
i++;
ib++;
continue;
}
}
case 1:
{
if (isalnum(c)) {
buffer[i]=3Dbuffer[i]+c;
i++;
ib++;

} else {
p=3Dtrouv(motcle,buffer,13);
if(p!=3D-1){
token.type=3D1;
token.pos=3Dp;
token.li=3D0;
token.col=3D0;
fwrite(&token,sizeof(token),1,fs);
}
else
{
p=3Dtrouv(ident,buffer,nident);
if(p!=3D-1){
token.type=3D2;
token.pos=3Dp;
token.li;
token.col;
fwrite(&token,sizeof(token),1,fs);
}
else
{
ident[nident]=3Dmalloc(sizeof(buffer[i]));
strcpy(ident[nident],buffer);
buffer[i]=3D'\0';
token.type=3D2;
token.pos=3Dp;
token.li;
token.col;
fwrite(&token,sizeof(token),1,fs);
nident=3Dnident+1;
}}
}
etat =3D 0;
ungetc(c,f);
}
token.col++;


}}
else token.li++;
}
fclose(f);
fclose(fs);
}
**********************************************************************

10 réponses

Avatar
espie
In article ,
wrote:
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<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;


Avatar
perrotta_22
On 10 mai, 13:39, (Marc Espie) wrote:
In article .com>,

  wrote:
>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<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","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 .
Avatar
Eric Levenez
Le 10/05/09 19:51, dans
,
«  » a écrit :

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 : <http://www.levenez.com/lang/c/faq/>
Avatar
Sylvain SF
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.
Avatar
Matt...
Eric Levenez a écrit :
Le 10/05/09 19:51, dans
,
« » a écrit :

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...
Avatar
Alexandre Bacquart
Matt... wrote:
Eric Levenez a écrit :
Le 10/05/09 19:51, dans
,
« » a écrit :

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
Avatar
Antoine Leca
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
Avatar
Antoine Leca
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
Avatar
Antoine Leca
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
Avatar
francois.jacquemin
Matt... wrote:

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.