lu.se

Forskar­utbildnings­kurser

Lunds tekniska högskola | Lunds universitet

Detaljer för kursplan för kurs EDAN65F giltig från och med HT 2017

Utskriftsvänlig visning

Allmänt
Syfte
  • De grundläggande teorier och metoder som används inom kompilatorteknik är centrala för hela det datavetenskapliga ämnet och brett tillämpningsbara inom såväl forskning som mjukvaruutveckling.

    Kursen syftar till att ge kunskaper om den principiella uppbyggnaden av en kompilator och om de grundläggande teorier och metoder som används för implementering av kompilatorns olika delar. Målet är dessutom att få en förståelse för hur de olika teorierna och metoderna kan användas för relaterade tillämpningsområden, till exempel översättning mellan olika källspråk, analys av programegenskaper, interpretering, översättning och analys av andra artificiella språk. I kursen ingår också hur avancerade objektorienterade tekniker som designmönster och aspektorienterad programmering kan tillämpas i kompilatorkonstruktion.
Innehåll
  • I kursen ingår följande: Kompilatorns arkitektur. Definition av programspråk: reguljära uttryck, kontextfria grammatiker, abstrakta grammatiker, attributgrammatiker. Metoder: scanning, parsing, statisk-semantisk analys, kodgenerering. Exekveringssystem: minnesallokering, automatisk minneshantering (garbage collection). Verktyg: Scanner-generatorer, parser-generatorer, generatorer för abstrakta syntaxträd, generatorer för attributevaluering. Designmönster (visitor, interpreter). Tillämpningsområden för kompilatorteknik.
Kunskap och förståelse
  • För godkänd kurs skall doktoranden
  • förstå formalismer för syntaktiska beskrivningar: reguljära uttryck, kontextfria grammatiker, och abstrakta grammatiker
    förstå formalismer för programanalys: attributgrammatiker
    kunna beskriva kompilatorfaser, exekveringssystem, och olika typer av interna representationer
Färdighet och förmåga
  • För godkänd kurs skall doktoranden
  • kunna implementera parsers för programspråk med hjälp av parser-generatorer
    kunna implementera semantisk analys och kodgenerering med hjälp av attributgrammatikeroch imperativ programmering
    kunna implementera exekveringssystem genom interpretering
Värderingsförmåga och förhållningssätt
  • För godkänd kurs skall doktoranden
  • visa förmåga att kritiskt utvärdera olika kompileringsmetoder och deras tillämpningar på olika områden.
Undervisningsformer
  • Föreläsningar
  • Laborationer
Examinationsformer
  • Skriftlig tentamen
  • Underkänd, godkänd
Förkunskapskrav
  • EDAA01 Programmeringsteknik - fördjupningskurs
Förutsatta förkunskaper
Urvalskriterier
Litteratur
  • Appel, A.: Modern Compiler Implementation in Java. Cambridge University Press, 2002. ISBN 052182060X.
Övrig information
Kurskod
  • EDAN65F
Administrativ information
  •  -03-22
  • Professor Thomas Johansson

Alla publicerade kurstillfällen för kursplanen

Inga matchande kurstillfällen hittades.

0 kurstillfällen.


Utskriftsvänlig visning