From 0651de5b98dffbe4083176c82c695f4a755a5eed Mon Sep 17 00:00:00 2001 From: "David A. Madore" Date: Tue, 24 Jan 2017 20:48:11 +0100 Subject: Yet another minor clarification. --- tp2.tex | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'tp2.tex') 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 -- cgit v1.2.3