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

Filtra per

Tutte le tipologie

Ordina

Filtra

Appunti di Linguaggi e modelli computazionali m

Esame Linguaggi e Modelli Computazionali M

Facoltà Ingegneria

Dal corso del Prof. E. Denti

Università Università degli Studi di Bologna

Appunto
5 / 5
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