Analisi sintattica
Analisi sintattica
Analisi sintattica
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Esempio<br />
T = { Ambiguita<br />
(, ), id , + , * , / , -}<br />
V = {E}<br />
E → E + E<br />
E → E – E<br />
•E Una → E grammatica * E è ambigua se esistono più alberi sintattici per la<br />
stessa E → E frase. / E<br />
E<br />
E → -E<br />
E + E<br />
E E → ⇒( E E+E ) ⇒ id+E ⇒ id+E*E<br />
E → ⇒id id+id*E ⇒ id+id*id<br />
id E * E<br />
E ⇒ E*E ⇒ E+E*E ⇒ id+E*E<br />
⇒ id+id*E ⇒ id+id*id<br />
E +<br />
id<br />
E<br />
E<br />
* E<br />
E<br />
id<br />
id<br />
id id<br />
Per poter costruire un parser la grammatica<br />
non deve essere ambigua<br />
Grammatica non ambigua ∃ un unico<br />
albero sintattico per ogni frase del linguaggio<br />
Le ambiguità nella grammatica devono<br />
essere eliminate durante il progetto del<br />
compilatore<br />
10