26.04.2013 Views

Analisi sintattica

Analisi sintattica

Analisi sintattica

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!