Laboratorio di programmazione - Computer Science - Università ...
Laboratorio di programmazione - Computer Science - Università ...
Laboratorio di programmazione - Computer Science - Università ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Parte II<br />
• Semantica delle strutture <strong>di</strong> controllo <strong>di</strong> flusso.<br />
• Chiamate <strong>di</strong> procedura. Scoping statico e <strong>di</strong>namico.<br />
• Stack <strong>di</strong> attivazione.<br />
• Eccezioni.<br />
• Concorrenza.<br />
• Linguaggi <strong>di</strong> <strong>programmazione</strong> per il web. CGI.<br />
• Esempi <strong>di</strong> linguaggi <strong>di</strong> <strong>programmazione</strong>: Fortran, C, Pascal, C++, Java, ML, Prolog.<br />
• Le fasi <strong>di</strong> un compilatore.<br />
• Un semplice linguaggio imperativo: Tiger.<br />
• Analisi lessicale.<br />
• Automi a stati finiti.<br />
• Uno strumento per l'analisi lessicale: JLex.<br />
• Analisi sintattica.<br />
• Grammatiche LR(k).<br />
• Uno strumento per l'analisi sintattica: Cup.<br />
• Sintassi astratta.<br />
• Analisi semantica.<br />
• Generazione del co<strong>di</strong>ce interme<strong>di</strong>o.<br />
• Selezione delle istruzioni.<br />
• Analisi <strong>di</strong> liveness.<br />
• Analisi dataflow.<br />
• Ottimizzazione dei cicli.<br />
Testi <strong>di</strong> riferimento<br />
• Pratt: ``Linguaggi <strong>di</strong> Programmazione''. Gruppo e<strong>di</strong>toriale Jackson. Oppure la versione inglese, Pratt<br />
& Zelkowitz: ``Programming Languages: Design and Implementation'', Prentice Hall−International.<br />
• Andrew W. Appel: ``Modern Compiler Implementation in Java''. Cambridge University Press.<br />
Modalità d'esame<br />
L'esame è formato da un progetto, uno scritto e un orale. Il progetto consiste in una mo<strong>di</strong>fica del compilatore<br />
per Tiger descritto durante il corso.<br />
Modalità d'esame non inserito<br />
Logica matematica<br />
Docente Ruggero Ferro − titolare<br />
Cre<strong>di</strong>ti 6<br />
Periodo 2º quadrimestre