LINGUAGGI DI PROGRAMMAZIONE: PARADIGMI E MACCHINE ASTRATTE
IL LINGUAGGIO CAMPIONE
Funzionale
Funzioni con un parametro
Scoping statico
LE SEMANTICHE "ESEGUIBILI"
Arricchimento dei costrutti (dalle espressioni pure al letrec)
Raffinamento delle semantiche (dalla denotazionale all'interprete
dettagliato)
IL FRAMMENTO CON ESPRESSIONI PURE
Semantica denotazionale
Semantica operazionale (prim'ordine)
Interprete (operazionale iterativa)
UN FRAMMENTO DI LINGUAGGIO IMPERATIVO
(Opera e proprieta' di studenti)
Semantica denotazionale ed operazionale
Semantica denotazionale con procedure
ricorsive
IL FRAMMENTO CON FUNZIONI
Semantica denotazionale
Semantica operazionale
Interprete
IL LINGUAGGIO COMPLETO (con Let e Letrec)
Si puo' usare una semantica concreta OCAML, racchiudendo le applicazioni
tra parentesi:
i programmi possono essere eseguiti sia direttamente in CAML, che attraverso le semantiche che seguono,
dopo aver generato la sintassi astratta opportuna.
Parser e pretty-printer
Semantica denotazionale
Semantica operazionale
Interprete
Implementazione al prim'ordine
dell'ambiente (catena statica)
L'ESTENSIONE CON IL PASSAGGIO PER NOME
Semantica denotazionale
Semantica operazionale
IL LINGUAGGIO COMPLETO CON SCOPING DINAMICO (senza Letrec)
Semantica denotazionale
Semantica operazionale
Interprete
Implementazione al prim'ordine
dell'ambiente (deep binding)
TIPI DI DATO ASTRATTI IN CAML (Moduli e classi)
Specifica e implementazione degli stack
mutabili con i moduli
Implementazione degli stack
mutabili con le classi
ANALISI STATICHE
PROGRAMMI ESEMPIO
Esempi
LA SEMANTICA COLLECTING
Domini sintattici
Domini semantici (concreti)
Strutture a run time
Interprete collecting
L'INTERPRETE ASTRATTO PER L'ANALISI DEI NOMI
Domini semantici (astratti)
Interprete astratto
Interprete astratto completo
L'INTERPRETE ASTRATTO PER L'ANALISI DEI TIPI
L'unificazione
I tipi
Domini semantici (astratti)
Interprete astratto
Interprete astratto completo
L'INTERPRETE ASTRATTO PER DETERMINARE LA DIMENSIONE DELLE PILE DI
TEMPORANEI LOCALI
Domini astratti ed interprete
astratto
L'INTERPRETE COMPLETO CON ANALISI
Interprete
L'INTERPRETE DA SPECIALIZZARE
Interprete
IL RISULTATO DELLA SPECIALIZZAZIONE
Run-time support
Il codice compilato per fact