1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| char tab_motclé[20]= { "début","fin","program","var","entier","réel" };
typedef struct element element;
struct element
{
int val;
char nom;
struct element *nxt;
};
typedef element* liste;
element* ID = NULL ;
*element rangerid(char mot)
{
int x, k, i,j;
char expr[20];
char carac;
int val;
char nom;
FILE* fichier = NULL;// =NULL;
fichier=fopen("C:\\mes documents \\fichier.txt","r"); {
caractereActuel = fgetc(fichier); // On initialise caractereActuel
// Boucle de lecture des caractères un à un
while (caractereActuel != EOF) // On continue tant que fgetc n'a pas retourné EOF (fin de fichier)
{
printf("%c", caractereActuel); // On affiche le caractère stocké dans caractereActuel
caractereActuel = fgetc(fichier); // On lit le caractère suivant
}
fclose(fichier);
}
if (fichier!=NULL)
{
carac=fgetc(fichier);
while (carac != EOF)
i++;
expr[i]=carac;
if((carac!=' ')||(carac!='\n')||(carac!='\t')||(carac!=':')||(carac!=';'))
{
for (k=0;k<20;k++)
{
if ( strcmp(expr[j],tab_motclé[k])==0)
return 0 ;
}
else () // chercher le caractère dans la table de symbole et si il le trouve rangerid() rend un pointeur vers une entrée
printf(" il s'agit d' un identifiant");
else //sinon si ni mot clé ni variable programme alors créer une nouvelle entrée et renvoie un pointeur vers cette entrée
}
} |
Partager