Vous êtes sur la page 1sur 2

Département d’Informatique Module : Compilation 04/02/2021

Nom :...................................... Prenom :...................................... Groupe :...........................

Test N ◦1
1. Quelles sont les différentes entités lexicales reconnus par une partie de déclaration des identificateurs (les types
des identificateurs autorisés sont : char et bool) d’un programme. Par exemple, le langage contient entre autres les
séquences suivantes :
– {}
– {char id 1; }
– {bool id 2, id 3; }
– {bool id 4; char id 1, id 2; }
2. Donner une grammaire non ambigüe pour ce langage.
3. Eliminer la récursivité à gauche et factoriser si nécessaire.
4. La grammaire obtenue en (2) est-elle LL(1) ?.
5. Analyser la chaine {char var1, var2} et déduire son arbre de dérivation.

........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................
........................................................................................................................................................................................................

Test N ◦ 1 Compilation Page 1/2 2020/2021


Solution
1. Les différentes entités lexicales reconnus par le langage :
– Identificateur.
– Mots clès : char, bool.
– Séparateurs : ’ ;’ ’,’ ’{’ ’}’
2. G = ({ Dec’, Dec, D id, D’,Type}, {id, char, bool, ’ ;’, ’,’,’{’,’}’}, Dec) suivante :
Dec’ −→ { Dec}
Dec −→ Type D id ; Dec | 
D id −→ id D’
D’ −→ , id D’| 
Type −→ char| bool

3. G est factorisée et non récursive à gauche.


4. G est-elle LL(1) ?
Dec’ −→ { Dec} (1)
Dec −→ Type D id ; Dec | 
(2) (3)
D id −→ id D’ (4)
D’ −→ , id D’| 
(5) (6)
Type −→ char| bool
(7) (8)

débuts suivants
Dec’ { #
Dec char bool  }
D id id ;
D’ ,  ;
Type char bool id

Table d’analyse
id , ; # char bool { }
Dec’ (1)
Dec (2) (2) (3)
D id (4)
D’ (5) (6)
Type (7) (8)
La table d’analyse est mono-définie ⇒ G est LL(1)

5. Analyse de la chaine : {char var1, var2}

Pile Chaine Action


#Dec’ {char var1, var2}# Empiler miroir (1)
#}Dec{ {char var1, var2}# Depiler, avancer
#}Dec char var1, var2}# Empiler miroir (2)
#} Dec ; D id Type char var1, var2}# Empiler miroir (7)
# Dec ; D id char char var1, var2}# Depiler, avancer
# Dec ; D id var1, var2}# Empiler miroir (4)
# Dec ; D’ id var1, var2}# Depiler, avancer
# Dec ; D’ , var2}# Empiler miroir (5)
# Dec ; D’ id , , var2}# Depiler, avancer
# Dec ; D’ id var2}# Depiler, avancer
# Dec ; D’ }# Erreur : Chaine incorrecte

Test N ◦ 1 Compilation Page 2/2 2020/2021