studiehandbok@lith   Länk till universitetets hemsida
 

Tekniska högskolan vid Linköpings universitet

Länk till universitetets hemsida
 
År : 2013
 
TDDD55 Kompilatorer och interpretatorer, 2,5 p / 4 hp
/Compilers and Interpreters/

För:   D   DI   I   Ii   IP   IT  

 

Prel. schemalagd tid: 36
Rek. självstudietid: 71

  Utbildningsområde: Teknik

Ämnesgrupp: Datalogi   Nivå (A-D):C

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

  Mål:
Målet med kursen är att ge en grundläggande introduction till teoretiska och praktiska aspekter för konstruktion av kompilatorer. Efter genomgången kurs ska du kunna:
  • förklara och tillämpa grundläggande principer och metoder för kompilatorkonstruktion
  • förklara och använda metoder för lexikalisk analys, top-down och bottom-up parsning
  • förklara och använda metoder för enklare semantisk analys och syntaxdriven översättning
  • designa och implementera en top-down parser för en given kontext-fri grammatik
  • använda generatorverktyg för att bygga en lexikalisk analysator och en parser.
  • implementera en enkel kodgenerering från abstrakta syntaxträd till intermediär kod.


  Förkunskaper: (gäller studerande antagna till program som kursen ges inom, se 'För:' ovan)
Kunskap om ett Pascal eller C-liknande programmeringsspråk. Interna lagringsformer t ex arrayer och listor. Abstrakta datatyper och dess implementeringsteknik.

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äsningar behandlas teorin enligt kursboken. På laborationerna skall några för en kompilator centrala komponenter, som t ex syntax och lexikalisk analysator, konstrueras.

  Kursinnehåll:
Olika typer av översättare, som t ex kompilatorer och preprocessorer. Grammatikor och formella språk. Lexikalisk och syntaktisk analys. Mellankod och representation av denna.
Under resten av kursen skall man få kännedom om: Minneshantering och runtime-system. Kodoptimering och kodgenerering. Verktyg för att framställa kompilatorer. Kriterier för språkdesign. Laborationerna ger övning att handimplementera och använda verktyg för att konstruera mindre delar av en kompilator som lexikalisk analysator, parser, samt generering av intermediärkod.


  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)
2 hp
2 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: Tommy Färnqvist
Examinator: Peter Fritzson
Ansvarig programnämnd: Data&Medie




Tekniska högskolan vid Linköpings universitet

Länk till sidans topp


Informationsansvarig: TFK , val@tfk.liu.se
Senast ändrad: 11/21/2011

Sidan slutar här