IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Programmeringssprog: fortolkere og oversættere 
Kursusnavn (engelsk):Programming languages: interpreters and compilers 
Semester:Forår 2001 
Udbydes under:cand. it, softwareudvikling (swu) 
Omfang i ECTS:7,50 
Kursussprog:Dansk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:
Forventet antal deltagere:
Maks. antal deltagere:
Formelle forudsætninger:Grundlæggende programming; gerne kendskab til to programmeringssprog 
Læringsmål:Gennemførelse af kurset skal give dig disse kvalifikationer:


  • Du skal kunne læse og konstruere leksikalske og syntaktiske beskrivelser af kildesprog. Du skal kende til regulære udtryk og grammatikker.

  • Du skal kunne konstruere en syntaksanalysator ud fra en grammatik ved hjælp af givne værktøjer. Du skal kende til abstrakt syntaks (dvs. intern repræsentation af kildeteksten) og kunne udvide
    syntaksanalysatorer til at konstruere abstrakte syntakstræer.

  • Du skal kunne beskrive programudførelse (dynamisk semantik) ved hjælp af begreberne omgivelse, værdi, continuation og undtagelse (exception).

  • Du skal kunne formalisere programudførelse ved konstruktion af en fortolker.

  • Du skal kunne beskrive programmers velformethed (statisk semantik) ved hjælp af begreberne typesystem og typetjek.

  • Du skal kunne beskrive simple abstrakte datamaskiner med begreberne instruktion, register, evalueringsstak, omvendt polsk notation, returstak og aktiveringsposter (kontekststak).

  • Du skal kunne oversætte programmer til maskinkode for en simpel abstrakt datamaskine.


Kursets <A HREF="http://www.dina.kvl.dk/~sestoft/ppif2001/">hjemmeside er http://www.dina.kvl.dk/~sestoft/ppif2001/ 
Fagligt indhold:

I teknologisk innovative projekter skal man undertiden opfinde,
beskrive og håndtere ikke-trivielle dataformater, f.eks.
specialiserede web-skripts, konfigureringsdata og lignende. Jo mere
betydning man lægger ind i sådan et dataformat, jo mere ligner det et
specialiseret programmeringssprog, ofte kaldet et domæne-specifikt
sprog. Første del af dette kursus forklarer hvordan man bruger
grammatikker og syntaksanalyse til at beskrive og håndtere
domæne-specifikke sprog.

Der findes forskellige paradigmer for programmeringssprog:
imperative (f.eks. C), objekt-orienterede (f.eks. Java),
funktionssprog (f.eks. Standard ML), logiksprog (f.eks. Prolog).
Anden del af kurset belyser forskellene mellem disse paradigmer ved
hjælp af såkaldte fortolkere.

Et program skrevet i f.eks. C, Java eller Standard ML skal
oversættes til maskinkode før det kan udføres på datamaskinen.
Oversættelsen har tre hovedfaser: syntaksanalyse, statiske tjek, og
generering af maskinkode. Tredje del af kurset viser hvordan man kan
foretage statiske tjek og generere maskinkode for en abstrakt maskine. 

Læringsaktiviteter:

Seminarer 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 13-skala, Intern censur

Opgaveløsning, mini-projekt, mundtlig eksamen  

Litteratur udover forskningsartikler:Noter.