Université El Arbi Ben M’Hidi Oum El Bouaghi
Faculté de sciences exactes et Sciences de la nature et de la vie
Département de Mathématique
Niveau : 3éme années licence SI Dimanche 18 janvier 2025 Nom : ……………………………
Module : Compilation Durée 1h 30 m Prénom : …………………………
Groupe : …………………………
Examen Final
Exercice 01 (6 points) : choisir les bonnes réponses
1. Si un état dans un automate contient une 2. Lequel des éléments suivants est produit par
production finale et une transition donc : l'analyseur lexicale ?
a. La grammaire est LR (1) ☐ a. Code machine ☐
b. La grammaire est SLR ☐ b. Arbre de syntaxe abstraite (AST) ☐
c. La grammaire n’est pas LR (0) ☐ c. Table des symboles ☐
d. Aucune de ces réponses. ☐ d. Code intermédiaire ☐
3. L’analyseur syntaxique qui utilise plusieurs 4. Quelle phase du compilateur traduit le code source
symboles de d’anticipation est : en langage machine ?
a. SLR. ☐ a. Analyse lexicale ☐
b. LR (1). ☐ b. Analyse syntaxique ☐
c. LR (0). ☐ c. Génération de code ☐
d. LR (K). ☐ d. Optimisation de code ☐
6. Dans Bison, comment définit-on une règle de
5. Dans Bison, à quoi sert la règle %% ?
production pour une expression ?
a. Définir les unités lexicale ☐ a. expr : term | term "+" expr ; ☐
b. Séparer déclarations et règles ☐ b. expr = term | term "+" expr ; ☐
c. Spécifier les actions de réduction ☐ c. expr : term '+' expr ; ☐
d. Déclarer les variables globales ☐ d. expr -> term '+' expr ; ☐
Exercice 02 (4 points) :
𝑆 → 𝑆𝑎 | 𝐴𝑏
𝐺1 ∶ { → 𝐴𝑎 | 𝐵𝑐
𝐴
𝐵 → 𝑏 | 𝑐 |𝜖
1. Donnez la suite de dérivation à gauche du mot "bcaba".
2. Eliminer la récursivité à gauche qui existe dans la grammaire G1.
3. Construire l’analyseur avec la décente récursive pour la grammaire G1
Exercice 03 (10 points) :
𝑆 → 𝐿 ∶= 𝑅 | 𝑅
𝐺2 ∶ { 𝐿 →∗ 𝑅 | 𝑖𝑑
𝑅→𝐿
1. Est-ce que G2 est LR (0) ? justifier votre réponse.
2. Est-ce que G2 est SLR, justifier votre réponse.
3. Construire l’automate LR (1) pour G2.
4. Construire la table d’analyse pour LR (1).
5. À partir de l’automate LR (1) construit, Quelles sont les états à fusionner pour créer l’analyseur
LALR (1) ?
6. Analyser le mot « id := id ».
Université El Arbi Ben M’Hidi Oum El Bouaghi
Faculté de sciences exactes et Sciences de la nature et de la vie
Département de Mathématique
Niveau : 3éme années licence SI Dimanche 18 janvier 2025 Nom : ……………………………
Module : Compilation Durée 1h 30 m Prénom : …………………………
Groupe : …………………………
Examen Final
Exercice 01 (6 points) : choisir les bonnes réponses
1. L’analyseur syntaxique qui utilise plusieurs
2. Dans Bison, à quoi sert la règle %% ?
symboles de d’anticipation est :
a. LR (1). ☐ a. Séparer déclarations et règles ☐
b. LR (K). ☐ b. Déclarer les variables globales ☐
c. LR (0). ☐ c. Spécifier les actions de réduction ☐
d. SLR. ☐ d. Définir les unités lexicale ☐
3. Si un état dans un automate contient une 4. Dans Bison, comment définit-on une règle de
production finale et une transition donc : production pour une expression ?
a. La grammaire n’est pas LR (0) ☐ a. expr : term '+' expr ; ☐
b. La grammaire est SLR ☐ b. expr = term | term "+" expr ; ☐
c. La grammaire est LR (1) ☐ c. expr : term | term "+" expr ; ☐
d. Aucune de ces réponses. ☐ d. expr -> term '+' expr ; ☐
5. Quelle phase du compilateur traduit le code 6. Lequel des éléments suivants est produit par
source en langage machine ? l'analyseur lexicale ?
a. Génération de code ☐ a. Table des symboles ☐
b. Analyse syntaxique ☐ b. Arbre de syntaxe abstraite (AST) ☐
c. Optimisation de code ☐ c. Code intermédiaire ☐
d. Analyse lexicale ☐ d. Code machine ☐
Exercice 02 (4 points) :
𝑆 → 𝑆𝑎 | 𝐴𝑏
𝐺1 ∶ { → 𝐴𝑎 | 𝐵𝑐
𝐴
𝐵 → 𝑏 | 𝑐 |𝜖
1. Donnez la suite de dérivation à gauche du mot "bcaba".
2. Eliminer la récursivité à gauche qui existe dans la grammaire G1.
3. Construire l’analyseur avec la décente récursive pour la grammaire G1
Exercice 03 (10 points) :
𝑆 → 𝐿 ∶= 𝑅 | 𝑅
𝐺2 ∶ { 𝐿 →∗ 𝑅 | 𝑖𝑑
𝑅→𝐿
1. Est-ce que G2 est LR (0) ? justifier votre réponse.
2. Est-ce que G2 est SLR, justifier votre réponse.
3. Construire l’automate LR (1) pour G2.
4. Construire la table d’analyse pour LR (1).
5. À partir de l’automate LR (1) construit, Quelles sont les états à fusionner pour créer l’analyseur
LALR (1) ?
6. Analyser le mot « id := id ».