Académique Documents
Professionnel Documents
Culture Documents
Claude Moulin
Printemps 2013
Analyse lexicale Analyse syntaxique Mise en place
Sommaire
1 Analyse lexicale
2 Analyse syntaxique
3 Mise en place
Analyse lexicale Analyse syntaxique Mise en place
Introduction
Sommaire
1 Analyse lexicale
Introduction
Unités lexicales
2 Analyse syntaxique
Principe
3 Mise en place
Arbres
Principe
Analyse lexicale Analyse syntaxique Mise en place
Introduction
Introduction
aire:=base*hauteur/2
lettre −→ [A-Za-z]
chiffre −→ [0-9]
chiffres −→ chiffre (chiffre)*
fraction −→ . chiffres
exposant −→ E( + | - | ) chiffres
Analyse lexicale Analyse syntaxique Mise en place
Introduction
Introduction
aire:=base*hauteur/2
Introduction
Introduction
aire:=base*hauteur/2
<identificateur>
<op-affectation>
<identificateur>
<op-arithmétique>
<identificateur>
<op-arithmétique>
<nombre>
Analyse lexicale Analyse syntaxique Mise en place
Introduction
Unités lexicales
Introduction
Unités lexicales
Sommaire
1 Analyse lexicale
Introduction
Unités lexicales
2 Analyse syntaxique
Principe
3 Mise en place
Arbres
Principe
Analyse lexicale Analyse syntaxique Mise en place
Unités lexicales
Définitions
Unités lexicales
Construction
Unités lexicales
Ambiguïté
Unités lexicales
Mots-clés
Unités lexicales
Mots-clés
Sommaire
1 Analyse lexicale
2 Analyse syntaxique
3 Mise en place
Analyse lexicale Analyse syntaxique Mise en place
Principe
Sommaire
1 Analyse lexicale
Introduction
Unités lexicales
2 Analyse syntaxique
Principe
3 Mise en place
Arbres
Principe
Analyse lexicale Analyse syntaxique Mise en place
Principe
Principe
Exemple
Alphabet du parser
<identificateur>
<op-affectation>
<op-arithmétique>
<op-relation>
<nombre>
Règle du parser :
Expression −→ <nombre>
Expression −→ Expression <op-arithmétique> <nombre>
Affectation −→ <identificateur> <op-affectation> Expression
Analyse lexicale Analyse syntaxique Mise en place
Principe
Exemple - 1
Principe
Exemple - 2
programme −→ liste_instructions
liste_instructions −→ instruction liste_instructions
liste_instructions −→
instruction −→ AV INT
instruction −→ TD INT
Analyse lexicale Analyse syntaxique Mise en place
Principe
Type d’analyse
a ∗ (a + b00)
Analyse lexicale Analyse syntaxique Mise en place
Principe
Méthode LL
a ∗ (a + b00)
Analyse lexicale Analyse syntaxique Mise en place
Principe
Méthode LR
a ∗ (a + b00)
Analyse lexicale Analyse syntaxique Mise en place
Principe
Exemple
T = {a, c, d} V = {S, T }
P={
1. S −→ aSbT 2. S −→ cT
3. S −→ d 4. T −→ aT
5. T −→ bS 6. T −→ c
}
Chaîne : w = accbbadbc
Analyse lexicale Analyse syntaxique Mise en place
Principe
Exemple
T = {a, c, d} V = {S, T }
P={
1. S −→ aSbT 2. S −→ cT
3. S −→ d 4. T −→ aT
5. T −→ bS 6. T −→ c
}
Chaîne : w = accbbadbc
Analyse LL :
S =⇒ aSbT =⇒ acTbT =⇒ accbT =⇒ accbbS =⇒ accbbaSbT
1 2 6 5 1
=⇒ accbbadbT =⇒ accbbadbc
3 6
Analyse lexicale Analyse syntaxique Mise en place
Principe
Exemple
T = {a, c, d} V = {S, T }
P={
1. S −→ aSbT 2. S −→ cT
3. S −→ d 4. T −→ aT
5. T −→ bS 6. T −→ c
}
Chaîne : w = accbbadbc
Analyse LR :
accbbadbc ⇐= acTbbadbc ⇐= aSbbadbc ⇐= aSbbaSbc
6 2 3
⇐= aSbbaSbT ⇐= aSbbS ⇐= aSbT ⇐= S
6 1 5 1
Analyse lexicale Analyse syntaxique Mise en place
Sommaire
1 Analyse lexicale
2 Analyse syntaxique
3 Mise en place
Analyse lexicale Analyse syntaxique Mise en place
Arbres
Sommaire
1 Analyse lexicale
Introduction
Unités lexicales
2 Analyse syntaxique
Principe
3 Mise en place
Arbres
Principe
Analyse lexicale Analyse syntaxique Mise en place
Arbres
Arbre de dérivation
Arbres
av 100 td 90
Le lexer produit :
AV INT TD INT
Analyse lexicale Analyse syntaxique Mise en place
Arbres
Pour :
facile à construire ;
utile pour les environnement de développement
(vérification d’erreurs, mise en évidence de la syntaxe) ;
utile pour la réécriture de textes (changer le symbole de
l’affectation) ou pour des outils d’affichage (afficher la
variable dans une affectation).
Contre :
les variables de la grammaire introduisent du bruit ;
inutile pour construire un interpréteur ;
inutile pour construire un traducteur.
Analyse lexicale Analyse syntaxique Mise en place
Arbres
Arbre abstrait
Arbres
Comparaison
av 100 td 90
PROGRAMME
|___ AV
| |___ 100
|
|___ TD
|___ 90
Analyse lexicale Analyse syntaxique Mise en place
Principe
Sommaire
1 Analyse lexicale
Introduction
Unités lexicales
2 Analyse syntaxique
Principe
3 Mise en place
Arbres
Principe
Analyse lexicale Analyse syntaxique Mise en place
Principe
Principe
Sans actions
Avec actions
Principe
Visiteur d’arbre
Principe
Principe
Principe
Principe
Principe
Principe