I materiali pubblicati sul sito costituiscono rielaborazioni personali del Publisher di informazioni apprese con la frequenza delle lezioni e lo studio autonomo di eventuali testi di riferimento in preparazione all’esame finale o della tesi. Non devono intendersi come materiale ufficiale dell’università attribuibile al docente del corso.
…continua

Filtra per

Tutte le tipologie

Ordina

Filtra

Appunti degli studenti per corsi ed esami del Prof. Denti Enrico

Conoscenze e abilità da conseguire Introduzione al rapporto fra linguaggi e progettazione a livello algoritmico e sistemistico. Metodi per la definizione della sintassi e della semantica dei linguaggi di programmazione e di specifica e analisi dei relativi modelli computazionali. Tecniche di riconoscimento e valutazione. Programma/Contenuti Fornire una descrizione ragionata sui concetti essenziali dei linguaggi di programmazione, correlandoli ai diversi modelli computazionali alla base dei diversi linguaggi e al problema del loro riconoscimento. Analizzare l'impatto dei diversi linguaggi e modelli sulla produzione del software medianti esempi comparati in diversi stili. Introduzione ai formalismi delle Reti di Petri e dei linguaggi fondazionali. Contenuti di dettaglio: Descrizione formale e implementazione dei linguaggi: grammatiche formali e loro proprietà, classificazione di Chomsky. Relazione fra grammatiche e automi riconoscitori. Analisi lessicale e tecniche di analisi sintattica top-down e bottom-up per linguaggi regolari e context-free. Cenni sulla descrizione formale della semantica. Organizzazione e costruzione di interpreti e compilatori e relativi supporti a tempo di esecuzione: architettura ed esempi concreti in Java. Strumenti semi-automatici per la generazione di analizzatori lessicali e sintattici. Introduzione agli stili di programmazione non imperativi: cenni al linguaggio Prolog come possibile caso di esempio di analisi lessicale, sintattica, e di costruzione di interpreti e compilatori in stile non imperativo. Programmazione multi-paradigma e multi-linguaggio: Javascript come esempio di linguaggio dinamico, funzionale e a oggetti basato su prototipi; Scala come esempio di linguaggio blended su piattaforma Java. Cenni al lambda calcolo.
...continua