Domanda

Sto leggendo le grammatiche rappresentative del libro, dove ho incontrato la seguente grammatica:

$$ e destrorrow e + t | T $$ $$ t destrorrow t * f | F $$ $$ f destrorrow (e) | id $$

La grammatica sopra è a sinistra, il che è cattivo. Quindi, al fine di eliminare la ricorsione di sinistra, l'hanno cambiata in quanto segue:

$$ e destrowarrow te '$$ $$ e' destrowarrow +te ' | ; Epsilon $$ $$ f Rightarrow (e) | id $$

Ma perché preoccuparsi così tanto? Perché non semplicemente usare una giusta ricorsione, come la seguente:

$$ E Rightarrow t + e | T $$ $$ t destrorrow f * t | F $$ $$ f destrorrow (e) | id $$

  • Quindi sono confuso sul fatto che la grammatica ricorsiva giusta a cui ho pensato sia uguale alla grammatica originale o no?
  • In caso contrario, qual è la differenza?
  • Se sono uguali, perché non scriviamo tutte le grammatiche come ricorsione giusta?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top