diff options
Diffstat (limited to 'tp2.tex')
-rw-r--r-- | tp2.tex | 15 |
1 files changed, 8 insertions, 7 deletions
@@ -150,13 +150,14 @@ des règles de production autorise l'utilisation de métacaractères c'est-à-dire que JavaCC note $X|Y$ pour un choix entre $X$ et $Y$, ainsi que $X{*}$ pour un nombre quelconque de répétitions de $X$ et $X{+}$ pour la variante imposant au moins une répétition et $X{?}$ -pour un $X$ factultatif. En principe, on pourrait éliminer -l'utilisation de ces métacaractères en s'inspirant de la manière dont -on démontre que tout langage rationnel est algébrique (par exemple -$X\rightarrow Y{*}$ peut être remplacé par $X\rightarrow -\varepsilon\,|\,YX$), mais l'analyseur LL de JavaCC ne sera pas -forcément capable de gérer la grammaire ainsi transformée, donc il est -préférable d'utiliser les métacaractères lorsque c'est possible. +pour un $X$ factultatif (les parenthèses permettent par ailleurs de +grouper). En principe, on pourrait éliminer l'utilisation de ces +métacaractères en s'inspirant de la manière dont on démontre que tout +langage rationnel est algébrique (par exemple $X\rightarrow Y{*}$ peut +être remplacé par $X\rightarrow \varepsilon\,|\,YX$), mais l'analyseur +LL de JavaCC ne sera pas forcément capable de gérer la grammaire ainsi +transformée, donc il est préférable d'utiliser les métacaractères +lorsque c'est possible. Le code important se situe dans \texttt{Calculatrice.jj} au niveau de la ligne \texttt{double expression():} ; le bloc qui suit définit la |