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. Fanizzi Nicola

1 Macchine astratte La nozione di macchina astratta e l’interprete, Interprete, Un esempio di macchina astratta: la macchina hardware, Implementazione di un linguaggio, Realizzazione di una macchina astratta, Implementazione: il caso ideale,Implementazione: il caso reale e la macchina intermedia, Gerarchie di macchine astratte 2 Descrivere un linguaggio di programmazione Livelli di descrizione, Grammatica e sintassi, Vincoli sintattici contestuali, Compilatori, Semantica, Pragmatica, Implementazione 3 Fondamenti Il problema della fermata, Espressivita' dei linguaggi di programmazione, Formalismi per la calcolabilita', Funzioni e algoritmi 4 I nomi e l’ambiente Nomi e oggetti denotabili, Oggetti denotabili, Ambiente e blocchi, I blocchi, Tipi di ambiente, Operazioni sull’ambiente, Regole di scope, Scope statico, Scope dinamico, Problemi di scope 5 La gestione della memoria Tecniche di gestione della memoria, Gestione statica della memoria, Gestione dinamica mediante pila, Record di attivazione per i blocchi in-line, Record di attivazione per le procedure, Gestione della pila, Gestione dinamica mediante heap, Blocchi di dimensione fissa, Blocchi di dimensione variabile, Implementazione delle regole di scope, Scope statico: la catena statica, il display, Scope dinamico: lista di associazioni e CRT 6 Strutturare il controllo Le espressioni, Sintassi e Semantica delle espressioni, Valutazione delle espressioni, La nozione di comando, La variabile, L’assegnamento, Comandi per il controllo di sequenza, Comandi per il controllo di sequenza esplicito, Comandi condizionali, Comandi iterativi, Programmazione strutturata, La ricorsione, La ricorsione in coda, Ricorsione e iterazione 7 Astrarre sul controllo Sottoprogrammi, Astrazione funzionale, Passaggio dei parametri, Funzioni di ordine superiore, Funzioni come parametro, Funzioni come risultato, Eccezioni, Implementare le eccezioni 8 Strutturare i dati Tipi di dato, Tipi come supporto all’organizzazione concettuale, Tipi per la correttezza, Tipi e implementazione, Sistemi di tipi, Controlli statici e dinamici, Tipi scalari, Booleani, Caratteri, Interi, Reali, Virgola fissa, Complessi, Void, Enumerazioni, Intervalli, Tipi ordinali, Tipi composti, Record, Record varianti e unioni, Array, Insiemi, Puntatori, Tipi ricorsivi, Funzioni, Equivalenza: per nome, strutturale, Compatibilita' e conversione, Polimorfismo, Overloading, Polimorfismo universale parametrico, Polimorfismo universale di sottotipo, Cenni sull’implementazione, Controllo e inferenza di tipo, Sicurezza: Evitare i dangling reference: Tombstone, Lucchetti e chiavi, Garbage collection: Contatori dei riferimenti, Mark and sweep, rovesciare i puntatori, Mark and compact, Copia 9 Astrarre sui dati Tipi di dato astratti, Nascondere l’informazione, Indipendenza dalla rappresentazione, Moduli 10 Cenni sui linguaggi di programmazione in altri paradigmi di programmazione (dichiarativo, logico, funzionale)
...continua
Appunti di linguaggi di programmazione basati su appunti personali del publisher presi alle lezioni del prof. Fanizzi dell’università degli Studi di Bari - Uniba, facoltà di Scienze matematiche fisiche e naturali, Corso di laurea in informatica e tecnologie per la produzione del software. Scarica il file in formato PDF!
...continua