Ricorsione sinistra diretta

daimpa
Ciao a tutti, mi è venuto un dubbio. Sulla slide di teoria che ho viene detto che si ha ricorsione sinistra diretta quando:
A=>Ab
Ma se avessi A=>bA, anche questo è un caso di ricorsione sinistra diretta, oppure il termine deve stare per forza al primo membro? Grazie! :-)

Potreste spiegarmi anche perchè in questo caso ci sarebbe una ricorsione sinistra indiretta?
A ---> dcA' | SA'
A' --> AbaA' | AcA' | e

Risposte
Rggb1
"daimpa":
Ma se avessi A=>bA, anche questo è un caso di ricorsione sinistra diretta, oppure il termine deve stare per forza al primo membro?

La seconda che hai detto: deve essere a sinistra.

Vedi anche:
http://en.wikipedia.org/wiki/Left_recursion

daimpa
"Rggb":
[quote="daimpa"]Ma se avessi A=>bA, anche questo è un caso di ricorsione sinistra diretta, oppure il termine deve stare per forza al primo membro?

La seconda che hai detto: deve essere a sinistra.

Vedi anche:
http://en.wikipedia.org/wiki/Left_recursion[/quote]
Ok, grazie mille per la risposta. Mi sono studiato quello scritto nella pagina di wikipedia. Considerando che il primo elemento di A è o "dc" oppure "S" e che il primo elemento di A' non sarà mai A', questo vuol dire che nell'esempio che ti ho postato NON si ha ricorsione sinistra, nè diretta nè indiretta. Potresti confermarmelo?

Grazie ancora! :-)

Rggb1
"daimpa":
... questo vuol dire che nell'esempio che ti ho postato NON si ha ricorsione sinistra...

Ovviamente no: come dice la definizione, per avere ricorsione a sinistra il simbolo non terminale che ricorre deve essere a sinistra della produzione.

[ Vero, a volte prende il dubbio, ma se ci pensi bene è tutto molto semplice. ]

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.