Théorie des langages : Td 11 les grammaires slr
Télécharger PDFNF11 – TD10 : Les grammaires SLR
Exercice 1
Soit la grammaire G suivante :
- S → aSAB | BA
- A → aA | B
- B → b
Questions :
- La grammaire G est-elle LR(0) ?
- Analyser la chaîne abbbba.
Exercice 2
Considérons la grammaire G suivante :
- <instr> → IF <expr> THEN <instr> <else-instr> | ID := ID
- <else-instr> → ELSE <instr> | ε
- <expr> → ID
Questions :
- Cette grammaire est-elle LR(0) ? SLR(1) ?
- Si des conflits existent, utiliser la convention du langage Pascal pour les supprimer.
FAQ
1. Qu'est-ce qu'une grammaire LR(0) ?
Une grammaire LR(0) est une grammaire qui peut être analysée par un automate LR(0) sans conflits de réduction. Cela signifie que l'automate ne peut pas avoir de situations où il doit choisir entre réduire une production ou décaler un symbole.
2. Comment analyser une chaîne avec une grammaire SLR(1) ?
L'analyse SLR(1) utilise un automate de pile avec des conflits résolus en regardant un symbole de regard (Lookahead) de taille 1. Les conflits sont gérés en priorisant les actions selon les règles spécifiques du langage.
3. Que signifie le symbole ε dans une grammaire ?
Le symbole ε (epsilon) représente la chaîne vide. Il permet de définir des productions optionnelles dans une grammaire.