diff options
-rw-r--r-- | exercices2.tex | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/exercices2.tex b/exercices2.tex index 22c2eef..60b0c45 100644 --- a/exercices2.tex +++ b/exercices2.tex @@ -334,10 +334,17 @@ $\mathtt{else}$ devrait se rattacher à elle), et ce, récursivement. On peut montrer que la grammaire ci-dessus est inambiguë et faiblement équivalente à celle de départ. -J'ignore s'il existe une grammaire inambiguë naturelle, faiblement +On peut aussi fabriquer une grammaire inambiguë, faiblement équivalente à celle de départ, qui force l'autre interprétation (le $\mathtt{else}$ se rapporte au $\mathtt{if}$ le plus lointain -possible). +possible), mais c'est nettement plus complexe (l'idée générale pour +apparier un $\mathtt{else}$ avec un $\mathtt{if}...\mathtt{else}$ dans +cette logoque est de demander que \emph{soit} le $\mathtt{else}$ n'est +suivi d'aucun autre $\mathtt{else}$, \emph{soit} toute instruction +conditionnelle entre le $\mathtt{then}$ et le $\mathtt{else}$ est +elle-même complète). Contrairement à la grammaire précédente, cette +grammaire, bien qu'inambiguë, est probablement impossible à analyser +avec un analyseur LR (ou même, déterministe). \end{corrige} |