====== Linguaggi e Compilatori ====== ---- ===== News ===== * Un corso simile era attivato alla Laurea Magistrale in Computer Science fino all'anno accademico 2019/2020. La pagina di tale corso è disponibile al seguente [[http://didattica.cs.unicam.it/doku.php?id=didattica:magistrale:com:ay_1920:main|link]]. * 29 Settembre 2020: Il corso verrà tenuto nel **secondo semestre**. ---- ===== Informazioni Generali ===== **Docente**: * [[http://docenti.unicam.it/pdett.aspx?ids=N&tv=d&UteId=572&ru=RU|Luca Tesei]] **ESSE3 Link** * [[https://https://didattica.unicam.it/Guide/PaginaADErogata.do?ad_er_id=2020*N0*N0*S2*16609*10570&ANNO_ACCADEMICO=2020&mostra_percorsi=N|Linguaggi e Compilatori - AA 2020/2021]] **Orario**: * Il corso è al **secondo semestre**: 1 Marzo 2021 - 11 Giugno 2021. Orario: Martedì 11-13 Aula LA1 Polo Lodovici e Giovedì 11-13 Aula LA1 Polo Lodovici **Stanza Webex** * [[http://unicam.webex.com/meet/luca.tesei/|Luca Tesei's room]] **Ricevimento**: * Via Webex o in presenza previo appuntamento con il docente via email. **Sigla Ufficiale**: * La sigla ufficiale del corso è **LC2021** **Lezioni Registrate e Avvisi**: * Saranno disponibili sulla pagina del corso in **Google Classroom**: accedere a [[https://classroom.google.com/c/Mjg0NDQ0NDk1NzIz?cjc=5cxm2bp]] loggandosi con le credenziali @studenti.unicam.it ---- ===== Obiettivi del Corso ===== Si veda la [[https://didattica.unicam.it/Guide/PaginaADErogata.do?ad_er_id=2020*N0*N0*S2*16609*10570&ANNO_ACCADEMICO=2020&mostra_percorsi=N|Descrizione ESSE3]] ---- ===== Contenuti del Corso ===== Si veda la [[https://didattica.unicam.it/Guide/PaginaADErogata.do?ad_er_id=2020*N0*N0*S2*16609*10570&ANNO_ACCADEMICO=2020&mostra_percorsi=N|Descrizione ESSE3]] ---- ===== Materiale ===== **Lezioni Registrate e Avvisi** * Saranno disponibili sulla pagina del corso in Google Classroom: accedere a https://classroom.google.com/c/Mjg0NDQ0NDk1NzIz?cjc=5cxm2bp loggandosi con le credenziali @studenti.unicam.it **Libri di Testo** * Alfred V. Aho, Monica S. Lam, Ravi Sethi and Jeffrey D. Ullman, Compilatori. Principi, tecniche e strumenti. Seconda Edizione, Pearson, 2009. * Terence Parr [[https://pragprog.com/book/tpantlr2/the-definitive-antlr-4-reference|The Definitive ANTLR4 Reference]], The Pragmatic Programmers, 2012. **Slides** Le slide seguenti sono in inglese, saranno incrementalmente tradotte in italiano: - {{ :didattica:triennale:lc:ay_2021:01_introduction.pdf | Introduction}} - {{ :didattica:triennale:lc:ay_2021:lexicalanalysis.pdf | Lexical Analysis}} - {{ :didattica:triennale:lc:ay_2021:syntaxanalysis.pdf | Syntax Analysis}} - {{ :didattica:magistrale:com:ay_1920:semanticanalysis-i.pdf |Semantic Analysis I}} - {{ :didattica:magistrale:com:ay_1920:semanticanalysis-ii.pdf |Semantic Analysis II}} - {{ :didattica:triennale:lc:ay_2021:antlr.pdf |ANTLR 4}}, {{ :didattica:magistrale:com:ay_1920:antlr4slides.zip |Slides Code}} **Esercizi con Soluzioni** Anche i seguenti esercizi sono in inglese e verranno incrementalmente tradotti in italiano. Analisi Lessicale: - {{ :didattica:magistrale:flc:ay_1920:lexical_analysis_exercise_session_i.pdf |Esercitazione Analisi Lessicale I}} - {{ :didattica:magistrale:flc:ay_1920:lexical_analysis_exercises_3-4-5.pdf |Analisi Lessicale Esercizi 3-4-5}} Analisi Sintattica: - {{ :didattica:magistrale:flc:ay_1920:syntax_analysis_exercise_session_i.pdf |Esercitazione Analisi Sintattica I}} - {{ :didattica:magistrale:flc:ay_1920:syntax_analysis_exercise_session_ii.pdf |Esercitazione Analisi Sintattica II}} - {{ :didattica:magistrale:flc:ay_1920:syntaxanalysis_exercise1.pdf |Analisi Sintattica Esercizio 1}} Analisi Semantica: - {{ :didattica:magistrale:flc:ay_1920:semanticanalysis_exercise1.pdf |Analisi Semantica Esercizio 1}} - {{ :didattica:magistrale:flc:ay_1920:semanticanalysis_exercise3.pdf |Analisi Semantica Esercizio 3}} - {{ :didattica:magistrale:flc:ay_1920:semanticanalysis_exercise5.pdf |Analisi Semantica Esercizio 5}} - {{ :didattica:magistrale:flc:ay_1920:semanticanalysis_exercise9.pdf |Analisi Semantica Esercizio 9}} **Esempi di prove scritte passate con soluzione (in inglese)** - {{:didattica:magistrale:flc:ay_1718:flc1718appello2.pdf| Testo 1}}, {{:didattica:magistrale:flc:ay_1718:flc1718app2solution.pdf| Testo 1 con Soluzione}} - {{ :didattica:magistrale:com:ay_1920:flc1819appello1.pdf |Testo 2}}, {{ :didattica:magistrale:com:ay_1920:flc1819appello1_solution_full.pdf |Testo 2 con Soluzione}} - {{ :didattica:magistrale:com:ay_1920:flc1819appello2.pdf |Testo 3}}, {{ :didattica:magistrale:com:ay_1920:flc1819appello2_solution_full.pdf |Testo 3 son Soluzione}} - {{ :didattica:magistrale:com:ay_1920:flc1819appello4.pdf |Testo 4}}, {{ :didattica:magistrale:com:ay_1920:flc1819appello4solutionwithnotes.pdf |Testo 4 con Soluzione}} ---- ===== Progetto ===== **Progetto da inviare il giorno precedente delle prove parziali ESSE3 denominate "LC2021 APPELLO X - Consegna Progetto" in ogni appello X:** - La descrizione del progetto da realizzare tramite il tool ANTLR4 è disponibile nella piattaforma **Google Classroom**. ---- ===== Esami ===== **Date Esami A.A. 2020/2021** Per l'iscrizione alle prove parziali, sia scritte che per consegna del progetto, e per la registrazione del voto finale si consulti il [[https://didattica.unicam.it|Portale ESSE3]] previo login. **Modalità di Esame** L'esame consiste di una prova scritta, contenente esercizi con risposta aperta, e di un progetto, da realizzare tramite il tool ANTLR4 (si veda la sezione "Progetto" qui sopra). La prova scritta e il progetto sono due prove parziali indipendenti (si vedano le date fissate in ESSE3) e possono essere superate anche in appelli differenti. Il voto finale, che è la media dei voti delle due prove parziali, può essere ottenuto e registrato solo se entrambe le prove parziali sono state superate con un voto di almeno 18/30. L'**iscrizione alla prova scritta** deve essere fatta in ESSE3 entro la scadenza indicata. **Durante la prova scritta ogni studente potrà consultare un foglio A4 scritto a mano fronte-retro contenente appunti personali**. **Istruzioni per inviare il progetto** La descrizione del progetto contiene le istruzioni dettagliate per la consegna dello stesso. Si leggano quindi con attenzione queste istruzioni. ** Risultati dell'Esame ** * I risultati delle prove parziali verranno comunicati tramite email o tramite ESSE3 (dipende dal numero di studenti) * Una valutazione positiva (>=18/30) di una singola prova parziale rimane valida un anno solare a partire dalla data in cui è stata ottenuta oppure appena lo studente riconsegna una prova parziale dello stesso tipo. * Se i voti delle due prove parziali sono entrambi disponibili e accettati, il voto finale può essere registrato in ESSE3 utilizzando gli appelli denominati "LC2021 APP X Registrazione Voto Finale" e iscrivendosi ad esse entro la data di scadenza indicata.