summaryrefslogtreecommitdiffstats
path: root/tp2.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tp2.tex')
-rw-r--r--tp2.tex15
1 files changed, 8 insertions, 7 deletions
diff --git a/tp2.tex b/tp2.tex
index bb30c10..026085a 100644
--- a/tp2.tex
+++ b/tp2.tex
@@ -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