FERHAT ABBES- SETIF-1 UNIVERSITY سطيف-جامعة فرحات عباس
UNIVERSITE FERHAT ABBES – SETIF 1
Faculté des Sciences - Département d’Informatique
Cours de Compilation
(Analyse Lexicale)
3ème Année License Inf.
Dr. Abdelaziz LAKHFIF
2020- 2021
Introduction
Architecture d’un Compilateur
Bibliographie
Analyse Lexicale
Analyse Syntaxique
Analyse Sémantique
Génération de Code Intermédiare
Compilers: Principles, Techniques, and Tools, Aho, Sethi and Ullman
—[Link]
> Parsing Techniques, Grune and Jacobs
—[Link]
> Advanced Compiler Design and Implementation, Muchnik
Université Ferhat Abbas-Sétif-1 Compilation - 3ème Année License Informatique Semestre 2021-2020:1/270
Introduction
Architecture d’un Compilateur
Exercices
Analyse Lexicale
Analyse Syntaxique
Analyse Sémantique
Génération de Code Intermédiare
Exercice 01
•Répondre avec Vrai (V) ou Faux (F) pour chaque question du tableau suivant :
1 Les entrées dans la table des symboles sont crées et utilisées
pendant la phase d’analyse syntaxique
2 Un compilateur peut construire une table de symboles pour
chaque classe
3 Dans une expression régulière le symbole * veut dire un ou
plus
Université Ferhat Abbas-Sétif-1 Compilation - 3ème Année License Informatique Semestre 2020-2021:1/370
Introduction
Architecture d’un Compilateur
Exercices
Analyse Lexicale
Analyse Syntaxique
Analyse Sémantique
Génération de Code Intermédiare
1 Les entrées dans la table des symboles sont crées et utilisées F
pendant la phase d’analyse syntaxique
2 Un compilateur peut construire une table de symboles pour V
chaque classe
3 Dans une expression régulière le symbole * veut dire un ou F
plus
Université Ferhat Abbas-Sétif-1 Compilation - 3ème Année License Informatique Semestre 2020-2021:1/370
Introduction
Architecture d’un Compilateur
Exercices
Analyse Lexicale
Analyse Syntaxique
Analyse Sémantique
Génération de Code Intermédiare
•Exercice 02
Décrire l’ensemble des chaines (langages) dénotées par les ERs suivantes :
1
(x|y)*x(x|y)
2
(x*y*)*xx (x | y)*
3
p(p|q)*p
4
a*ba*ba*ba*
5
1| (0|10)*11(0|01)*
Université Ferhat Abbas-Sétif-1 Compilation - 3ème Année License Informatique Semestre 2021-2020:1/370
Introduction
Architecture d’un Compilateur
Exercices
Analyse Lexicale
Analyse Syntaxique
Analyse Sémantique
Génération de Code Intermédiare
•Décrire l’ensemble des chaines (langages) dénotées par les ERs suivantes :
1 Toutes les chaines de x et y finissant par xx ou xy
(x|y)*x(x|y)
2 Toutes les chaines de x et y avec au moins une paire de x
(x*y*)*xx (x | y)*
adjacente
3 Toutes les chaines de p et q qui commencent et finissent par p
p(p|q)*p
4 Toutes les chaines de a et b contenant exactement 3 b
a*ba*ba*ba*
5 Toutes les chaines de 0 et 1 avec au plus une paire
1| (0|10)*11(0|01)*
consécutive de 1
Université Ferhat Abbas-Sétif-1 Compilation - 3ème Année License Informatique Semestre 2021-2020:1/370
Introduction
Architecture d’un Compilateur
Exercices
Analyse Lexicale
Analyse Syntaxique
Analyse Sémantique
Génération de Code Intermédiare
Exercice 03
•Ecrire une expression régulière pour toutes les chaines de ‘x’ et
‘y’ contenant la sous chaine ‘xyyx’
•Ecrire une expression régulière pour toutes les chaines de ‘a’ et
‘b’ où chaque ‘b’ est immédiatement suivi par au moins trois (3)
‘a’.
•Ecrire une expression régulière pour toutes les chaines de ‘a’ et
‘b’ contenant un nombre impair de ‘b’.
Université Ferhat Abbas-Sétif-1 Compilation - 3ème Année License Informatique Semestre 2021-2020:1/370
Introduction
Architecture d’un Compilateur
Exercices
Analyse Lexicale
Analyse Syntaxique
Analyse Sémantique
Génération de Code Intermédiare
Exercice 03
•Ecrire une expression régulière pour toutes les chaines de ‘x’ et ‘y’ contenant
la sous chaine ‘xyyx’
(x | y)* xyyx (x | y)*
•Ecrire une expression régulière pour toutes les chaines de ‘a’ et ‘b’ où chaque
‘b’ est immédiatement suivi par au moins trois (3) ‘a’.
(a|(baaa))*
•Ecrire une expression régulière pour toutes les chaines de ‘a’ et ‘b’ contenant
un nombre impair de ‘b’.
a* b ( (b a* b) | a)*
Université Ferhat Abbas-Sétif-1 Compilation - 3ème Année License Informatique Semestre 2021-2020:1/370