La descrizione operazionale dei linguaggi di programmazione

Cosimo Laneve

La descrizione operazionale dei linguaggi di programmazione

Un'introduzione

Edizione a stampa

23,00

Pagine: 160

ISBN: 9788846407986

Edizione: 2a edizione 2000

Codice editore: 720.69

Disponibilità: Discreta

La semantica formale dei linguaggi di programmazione è di solito omessa nei manuali di riferimento per privilegiare le più semplici spiegazioni intuitive, sebbene sia indispensabile per chiunque voglia verificare proprietà di programmi o comprenderne il significato in modo rigoroso.

Questo libro offre un'introduzione completa alla descrizione della semantica operazionale dei linguaggi di programmazione secondo la quale un programma è inteso come la modifica che la sua esecuzione apporta ai dati da esso utilizzati.

Il testo copre gli aspetti principali di un linguaggio di programmazione ad alto livello come Pascal oppure C, spiegando chiaramente concetti quali variabile, dichiarazione, comando, procedura e ricorsione.

Oggetto di particolare enfasi è la verifica di proprietà dei programmi. Attraverso una serie di dimostrazioni il lettore è progressivamente introdotto ad ogni tecnica di prova di una teoria matematicamente rigorosa.

Pensato per un corso universitario, questo volume può sicuramente interessare tutti coloro che intendono addentrarsi per la prima volta nel campo dell'analisi e della verifica di programmi.

La presenza di esercizi alla fine di ogni capitolo, ordinati secondo una difficoltà crescente, consente di focalizzare gli aspetti più importanti ivi descritti e di apprendere le tecniche quotidianamente usate con successo degli esperti.

La prefazione è curata da Ugo Montanari, docente di Informatica Teorica dell'Università di Pisa.

Cosimo Laneve è ricercatore presso il Dipartimento di Scienze dell'Informazione dell'Università di Bologna, dove tiene i corsi di Programmazione e Laboratorio di Informatica 1.

Ugo Montanari, Prefazione
Introduzione
(Sintassi e semantica; La semantica formale; Semantica operazionale strutturale; Applicazioni della semantica)
Preliminari matematici
(Insiemi; Il principio di induzione; Relazioni induttive e alberi di prova; Induzione strutturale; Esercizi)
Sistemi di Transizione
(La macchina astratta; La macchina a 2 contatori; Equivalenza di programmi; La memoria; Esercizi)
Le espressioni
(La sintassi delle espressioni; Il sistema di transizione delle espressioni; Proprietà semantiche delle espressioni; Il caso generale; Esercizi)
I comandi
(Sintassi dei comandi; Il sistema di transizione dei comandi; La non terminazione; La terminazione; La correttezza; Confluenza del sistema di transizione dei comandi; Equivalenza di comandi; Esercizi)
I blocchi e le procedure
(La memoria strutturata; I blocchi; Le procedure senza parametri; L'ambiente dinamico; La ricorsione e il passaggio dei parametri; Esercizi)
L'ambiente statico
(Le locazioni; Le procedure senza ricorsione; Proprietà dell'ambiente statico; I parametri passati per variabile; Il problema della ricorsione; Esercizi)
Conclusioni
(Altri approcci operazionali; La semantica denotazionale; La semantica assiomatica; Captatio benevolentiae).

Collana: Informatica

Livello: Testi per professional