Forslag til de 3 sidste forelæsninger
Her er en list over forskellige emner, som jeg kunne forestille
mig vi kunne beskæftige os med i de sidste 3 forelæsninger. Forslagene
er hvad jeg sådan umiddelbart kunne komme på, så hvis I har andre
forslag, så er I velkomne til at kontakte mig. Da nogle af emner
kræver en del forberedelse er det vigtigt, at jeg forholdsvis hurtigt
for noget respons til hvad I kunne tænke jer (eller så vælger jeg bare
selv).
- Garabage-collection er efterhånden blevet et krav til moderne
run-time systemer. Vi kan se på forskellige teknikker til
garbage-collection.
- Implementation af objekt-orienterede sprog kræver nogle
ekstra tricks udover dem vi indtil nu har beskæftiget os med i
kurset.
- Typesystemer for objekt-orienterede sprog kan være en
del bedre end dem vi ser i sprog som C++ og Java. Vi skal se på hvad
problemerne med de typesystemer C++ og Java har, og hvad alternative
typesystemer kan gøre ved det.
- Sæt det hele sammen! Nu har vi set alle elementerne i
opbygningen af en compiler, hvorfor så ikke tage et lille
legetøjssprog og vise den konkrete implementation af en compiler.
- Kode optimering har vi ikke beskæftiget os med i kurset.
Hvorfor ikke se på nogle af de optimeringsteknikker, der i visse
tilfælde kan gøre den genererede maskinkode flere hundrede gange
hurtige end uoptimeret kode.
- Caching. Det syn vi har haft på hukommelsen i kurset har
været at vi har haft registre og main-memory. Men sådan ser en moderne
maskine ikke ud, den har op til 3 lag cache mellem CPU'en og
main-memory. Det har faktisk betydning for hvordan man bør oversætte
programmer.
- Klasseløse objekt-orienterede sprog. De eneste
objekt-orienterede sprog I har mødt har været
klasse baserede - Men sådan behøver det ikke være. Vi kan bruge en
forelæsning på at se på objekt-baserede objekt-orienterede sprog.
- Undtagelseshåndtering er noget som man forventer af
moderne sprog. Hvilke designkrav har vi til undtagelsesmekanismer
og hvordan skal de implementeres.
Til SPO hjemmesiden |
Til DAT2 hjemmesiden
Josva Kleist
<kleist@cs.auc.dk>
Last modified: Tue Jan 18 10:50:05 2000