ADA: una panoramica

Flavio De Paoli, Carlo Ghezzi, Dino Mandrioli

ADA: una panoramica

Edizione a stampa

29,50

Pagine: 180

ISBN: 9788820429690

Edizione: 1a edizione 1988

Codice editore: 272.9

Disponibilità: Limitata

Ada occupa un posto di notevole rilievo nel panorama dei linguaggi di programmazione, sia per le sue caratteristiche tecniche, sia per l'enorme investimento industriale ad esso associato. Per questo motivo la sua conoscenza è utile non solo a chi voglia o debba utilizzarlo direttamente per la propria attività, ma anche come bagaglio culturale fondamentale per chiunque operi nel settore del software.

Questo testo presenta una descrizione approfondita e critica di tutti gli aspetti salienti del linguaggio, da quelli a carattere tradizionale a quelli più innovativi, come la gestione della concorrenza e delle eccezioni ed i meccanismi di modularizzazione.

Esso è rivolto a lettori che abbiano già una certa dimestichezza con i linguaggi di programmazione più comuni, in particolare con il Pascal, da cui Ada è palesemente derivato. Può essere utilizzato sia come libro di testo nell'ambito di corsi universitari sui linguaggi di programmazione e sull'ingegneria del software, sia come monografia indipendente.

INDICE

PREFAZIONE
PERCHE' ADA?
1.1. Premessa
1.2. Motivazioni al progetto del linguaggio e storia
1.3. Ada e la programmazione in piccolo
1.4. Ada e l'affidabilità
1.4.1. Controlli statici
1.4.2. Gestione delle anomalie
1.5. Ada e la programmazione in grande
1.6. Ada e la programmazione concorrente
1.7. Direttive al compilatore e caratteristiche dipendenti dalla macchina
PROGRAMMAZIONE IN PICCOLO
2.1. Elementi lessicali
2.2. Dichiarazione di oggetti e tipi
2.3. Tipi scalari
2.3.1. Tipo intero
2.3.2. Tipo enumerazione
2.3.3. Attributi dei tipi discreti
2.3.4. Tipo reale
2.3.5. Attributi dei tipi reale
2.4. Tipi composti
2.4.1. Array
2.4.2. Attributi dei tipi array
2.5. Tipi puntatore
2.6. Sottotipi
2.7. Tipi derivati
2.9. Conversione tra tipi
2.10. Espressioni ed operatori
2.11. Istruzioni sequenziali
2.12. Istruzioni condizionali
2.13. Istruzioni iterative
2.14. Sottoprogrammi
2.14.1. Chiamate di sottoprogrammi
2.14.2. Overloading
2.15. La struttura a blocchi di una unità
MECCANISMI DI MODULARIZZAZIONE
3.1. Package
3.1.1. Interfaccia di un package
3.1.2. Tipi privati
3.1.3. Corpo di un package
3.2. Regole di visibilità
3.2.1. Costrutto use
3.2.2. Ridenominazione di una entità
3.3.1. Unità di libreria
3.3.2. Sottounità
3.4. Unità generiche
3.4.1. Definizione dì una unità generica
3.4.2. Istanziazione di una unità generica
3.4.3. Un esempio di unità generica
3.5. Esempi
3.5.1. Un gioco coi numeri
3.5.2. Un problema di sicurezza
3.6. Esercizi proposti
PROGRAMMAZIONE CONCORRENTE
4.1. Struttura dei task
4.2. Specifica dei task
4.3. Corpo dei task
4.3.1. Chiamata ad una entry
4.3.2. Istruzione accept
4.3.3. Istruzione delay
4.3.4. Istruzione select
4.3.5. Istruzione abort
4.4. Attributi dei task e delle entry
4.5. Interrupt
4.6. Sviluppo dettagliato di un esempio: i 5 filosofi..
4.7. Esercizi proposti
ECCEZIONI
5.1. Eccezioni predefinite
5.2. Definizione di nuove eccezioni e di gestori di eccezione
5.3. Provocazione esplicita di una eccezione
5.4. Attivazione del gestore di eccezione
5.5. Campo d'azione e visibilità delle eccezioni
5.6. Un semplice esempio
5.7. Esercizi proposti
CARATTERISTICHE DIPENDENTI
6.1. Input/Output
6.1.1. SEQUENTIAL_IO e DIRECT_IO
6.1.2. NEXT_IO
6.1.3. LOW_LEVEL_IO
6.2. Clausole di rappresentazione.:
6.2.1. Clausole sulle dimensioni
6.2.2. Clausole di rappresentazione dei tipi enumerazione
6.2.3. Clausole di rappresentazione dei record
6.2.4. Clausole di indirizzo
LA MACCHINA ASTRATTA DI ADA
7.1. Dalla macchina Pascal
7.2. ... a quella Ada
7.3. Un cenno ai problemi di implementazione su architetture distribuite
ATTRIBUTI PREDEFINITI
PRAGMA PREDEFINITI
BIBLIOGRAFIA


Collana: Crai