0% ont trouvé ce document utile (0 vote)
63 vues1 page

TP01

Le document présente un exercice de compilation utilisant le générateur d'analyseurs lexicaux Lex. Il fournit un exemple de code pour compter les caractères, mots et lignes dans un fichier, ainsi que les étapes nécessaires pour compiler et exécuter le programme. Les commandes spécifiques pour la compilation avec Lex et GCC sont également incluses.

Transféré par

ayoubledra8
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
63 vues1 page

TP01

Le document présente un exercice de compilation utilisant le générateur d'analyseurs lexicaux Lex. Il fournit un exemple de code pour compter les caractères, mots et lignes dans un fichier, ainsi que les étapes nécessaires pour compiler et exécuter le programme. Les commandes spécifiques pour la compilation avec Lex et GCC sont également incluses.

Transféré par

ayoubledra8
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Centre Universitaire de Mila Informatique - Semestre 05

Institut des sciences et de la technologie COMPILATION - TP N° 01


TP 1

Le générateur d'analyseurs lexicaux -Lex

Exercice 1.

a) Ecrire et compiler le fichier de spécifications suivant :


/* just like Unix wc */
%{
int chars = 0;
int words = 0;
int lines = 0;
%}
%%
[a-zA-Z]+ { words++; chars += yyleng; }
\n { chars++; lines++; }
. { chars++; }
%%
main(int argc, char **argv)
{
yyin=fopen("[Link].c","r");
yylex();
printf(“lines=%d\n words=%d\n words=%d", lines, words, chars);
fclose(yyin);
}
Pour compiler un programme Lex on suit les étapes suivantes :
1) Enregistrer le fichier précédent avec l’extension .l (exemple : tp1lex.l)
2) Compiler le fichier tp1lex.l par le compilateur Lex avec la commande :
lex tp1lex.l (le résultat de cette compilation est un fichier de spécification C appelé [Link].c)
3) Compiler le fichier [Link].c par le compilateur gcc avec la commande :
gcc [Link].c -o [Link] -lfl (le résultat de cette compilation est un fichier exécutable
appelé [Link])
4) Exécuter le fichier [Link] avec la commande :
./ [Link]

1/1 2020-2021

Vous aimerez peut-être aussi