studiehandbok@lith   Länk till universitetets hemsida
 

Tekniska högskolan vid Linköpings universitet

Länk till universitetets hemsida
 
År : 2008
 
TDDB44 Kompilatorkonstruktion, 4 p / 6 hp
/Compiler Construction/

För:   C   COS   CS   D   IT   SOC   Y  


OBS!

Överlapp med TDDD16


 

Prel. schemalagd tid: 56
Rek. självstudietid: 104

  Utbildningsområde: Teknik

Ämnesgrupp: Datalogi, Datateknik   Nivå (A-D):D

Huvudområde: Datateknik, Datavetenskap,Informationsteknologi   Nivå (G1,G2,A): A

  Datavetenskap Datavetenskap, datalogi.

  Mål:
Att lära ut principerna för konstruktion av kompilatorer, att använda moderna redskap för konstruktion av en kompilator samt hur minnesutrymme administreras i samband med exekvering av program.

  Förkunskaper: (gäller studerande antagna till program som kursen ges inom, se 'För:' ovan)
Datastrukturer och algoritmer, Formella språk och automatateori. Kunskaper i C++.

OBS! Tillträdeskrav för icke programstudenter omfattar vanligen också tillträdeskrav för programmet och ev. tröskelkrav för progression inom programmet, eller motsvarande.

  Påbyggnadskurser
Compiler optimizations and code generation

  Organisation:
På föreläsningarna genomgås den teoretiska delen. Lektionerna syftar till att förbereda laborationerna. Laborationerna, där en fullständig kompilator implementeras för ett litet Pascal-liknande språk, ger en praktisk erfarenhet av kompilatorkonstruktion.

  Kursinnehåll:
Under föreläsningarna behandlas: Olika typer av översättare, som t ex kompilatorer och preprocessorer. Lexikalisk analys och metoder för syntaxspecifikation och syntaxanalys. Hantering av deklarativ information. Intern representation av program. Minneshantering och runtime-system. Kodgenerering och kodoptimering, speciellt för RISC-processorer. Olika metoder av felhantering. Verktyg för att framställa och generera kompilatorer. Kriterier för språkdesign. Kursen har en stark laborativ prägel där en hel kompilator för ett litet Pascalliknande språk skall konstrueras. Vissa moduler i denna kompilator genereras med hjälp av kompilatorverktyg medan andra delar konstrueras för hand i C++.

  Kurslitteratur:
Aho, Lam, Sethi, Ullman: Compilers Principles, techniques, and tools, Second edition, Addison-Wesley, 2006.
Kompendier, utges av institutionen för datavetenskap.


  Examination:
TEN1
LAB1
En skriftlig tentamen (U,3,4,5)
En laborationskurs (U,G)
3 hp
3 hp
 
Uppgifterna på tentamen testar hur väl studenten uppfyller kursens mål. För godkänt betyg kan brister i uppfyllande av vissa delar av målen i någon mån kompenseras med ett djupare kunnande inom andra delar.



Undervisningsspråk är Engelska.
Institution: IDA.
Studierektor: sas-sr@ida.liu.se
Examinator: Peter Fritzson
Länk till kurshemsida på kursgivande institution
Ansvarig programnämnd: Data&Medie

Engelsk kursplan

Kursen bedrivs på ett sådant sätt att både mäns och kvinnors erfarenhet och kunskaper synliggörs och utvecklas.

Planering och genomförande av kurs skall utgå från kursplanens formuleringar. Den kursvärdering som ingår i kursen skall därför genomföras med kursplanen som utgångspunkt.

Om inget annat anges ovan gäller betygsskala enligt avsnitt a8.5 i de gemensamma bestämmelserna.

Kursplanen gäller för 2008 enligt beslut av ansvarig programnämnd/fakultetstyrelse.

Tekniska högskolan vid Linköpings universitet

Länk till sidans topp


Informationsansvarig: TFK , val@tfk.liu.se
Senast ändrad: 10/27/2008