Minimodul 6

Data & Typer 1

New 21/2-00
På CPU niveau er alt bits og bytes, men hvis vores programmerinssprog kun tillod os at arbejde med data som bits og bytes, så ville vores programmer stadig blive ret uforståelige. Det leder os til at se på typer. Typer spiller flere roller i programmeringssprog. For det første bruger vi, som programmører, typer til at forstå hvad et program gør. At en variabel er erklæret til at være en streng fortæller os at indholdet (som på maskin niveau blot er en sekvens af bytes) betegner en (tekst)streng. Det fortæller også compileren, at det nok ikke giver god mening at sammenligne indholdet af variablen med en integer. Endeligt fortæller typer også at assignment fra en strengvariabel til en anden skal implementeres som kopiering af hele strengen - ikke kun det første tegn.

Groft sagt tjener typer som i) beskrivelses værktøj for os, ii) fanger fejl i programmer, iii) beskriver det interne layout af data for compileren. I denne forlæsning skal vi se på punkt i og iii.

Tid

Tirsdag den 22. februar, klokken 10.15-12.00.

Sted

B3-104.

Litteratur

Sethi kapitel 4 (dog ikke 4.9).

Opgaver

Updated 24/2-00
Hvilke typer (basale og brugerdefinerbare) findes der i jeres favorit programmerinssprog?

De fleste sprog tillader ikke hetrogene arrays, dvs. arrays der kan indeholde elementer af forskellig type. Hvilke egenskaber skal et sprog have for at sådan en konstruktion er brugbar, og hvordan skal den implementeres?

Sethi 4.5, 4.9.


Næste kursusgang: Torsdag den 24. februar.
Det sidste vi mangler at se på omkring typer er punkt ii. Næste forelæsninger handler om hvordan vi implementerer typecheck for imperative sprog.
Til SPO hjemmesiden | Til Dat2/F6S hjemmesiden
Josva Kleist <kleist@cs.auc.dk>
Last modified: Thu Feb 24 09:34:29 2000