Analisi sintattica
Analisi sintattica
Analisi sintattica
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Grammatiche di tipo Context-Free<br />
Le strutture ricorsive presenti nei linguaggi di<br />
programmazione sono definite da una grammatica<br />
context-free.<br />
Una grammatica context-free (CFG) è definita come<br />
Un insieme finito di terminali V (sono i token prodotti<br />
dallo scanner)<br />
Un insieme di non terminali V.<br />
Un assioma o simbolo iniziale (uno dei non terminali.<br />
Un insieme di produzioni (dette anche “rewriting rules”<br />
con la seguente forma<br />
A → X1 ... Xm dove X1 to Xm possono essere terminali o non<br />
terminali.<br />
Se m =0 si ha A → ε che è una produzione valida<br />
Grammatiche di tipo Context-Free<br />
Le strutture ricorsive presenti nei linguaggi di<br />
programmazione sono definite da una grammatica<br />
context-free.<br />
Una grammatica context-free (CFG) è definita come<br />
Un insieme finito Esempio di terminali V (sono i token prodotti<br />
dallo scanner) T = { (, ), id , + , * , / , -}<br />
Un insieme di non terminali V = {E} V.<br />
E → E + E<br />
Un assioma o simbolo<br />
E →<br />
iniziale<br />
E – E<br />
(uno dei non terminali.<br />
Un insieme di produzioni E → E (dette * E anche “rewriting rules”<br />
con la seguente forma E → E / E<br />
E → -E<br />
A → X1 ... XmE → ( E )<br />
dove X1 to Xm possono E →essere id<br />
terminali o non<br />
terminali.<br />
Se m =0 si ha A → ε che è una produzione valida<br />
4