Kursplan

Kompilatorer och interpretatorer, 7,5 högskolepoäng

Compilers and Interpreters, 7,5 Credits

Kurskod: DT135G Högskolepoäng: 7,5
Huvudområde: Datateknik Fördjupning: G1F
Senast ändrad: 2024-03-14    
Utbildningsnivå: Grundnivå Beslutad av: Prefekt
Inrättad: 2019-12-02 Litteraturlista fastställd: 2024-03-14
Giltig fr.o.m.: Höstterminen 2024 Revision: 2

Mål

Kursens mål är att studenten efter avslutad kurs ska ha

  • förståelse för de grundläggande principerna för hur program tolkas, översätts och exekveras,
  • kunskap om olika typer av interpretatorer och kompilatorer samt deras användningsområden,
  • kunskap om kompilatorns faser,
  • kunskap om verktyg för att underlätta utvecklingen av kompilatorer och interpretatorer,
  • förståelse för hur kompilatorer och interpretatorer är uppbyggda och fungerar,
  • förståelse för hur data och minnesutrymme administreras i samband med exekvering av program,
  • förståelse för hur man i praktiken bygger en enkel interpretator eller kompilator för ett enkelt språk,
  • förmåga och praktiska färdigheter att konstruera delar av en kompilator och andra program som använder teknik från kompilatorer, särskilt en lexikalisk analysator och en enkel syntaktisk analysator, såväl i vanlig programkod som med särskilda verktyg, och
  • ett professionellt förhållningssätt till programmering, vilket innefattar problemanalys, testning och dokumentation.

Innehåll

Följande moment behandlas i kursen

  • olika typer av översättare, som t ex kompilatorer och preprocessorer,
  • kompilatorns uppbyggnad och arbetssätt,
  • lexikalisk analys (scanning),
  • syntaktisk analys (parsing), metoder för syntaxspecifikation,
  • typsystem och typkontroll,
  • intern representation av program,
  • runtime-system,
  • minneshantering, skräpsamling,
  • kodgenerering och kodoptimering,
  • kompilering för fysiska och virtuella maskiner,
  • olika metoder för felhantering,
  • verktyg för att framställa och generera kompilatorer,
  • kriterier för språkkonstruktion, och
  • studenterna bygger några viktiga delar av en kompilator, både i C++ och med hjälp av olika verktyg.

Examinationer och betyg

Teori, 3 högskolepoäng (Provkod: A001)
Som betyg används Underkänd (U) eller Godkänd (G).

Projektuppgifter, 4,5 högskolepoäng (Provkod: A002)
Som betyg används Underkänd (F), Tillräcklig (E), Tillfredsställande (D), Bra (C), Mycket bra (B) eller Utmärkt (A).


Enligt 6 kap. 18 § högskoleförordningen ska betyg sättas på en genomgången kurs om inte universitetet föreskriver något annat. Universitetet får föreskriva vilket betygssystem som ska användas. Betyget ska beslutas av en av universitetet särskilt utsedd lärare (examinator).

Enligt universitetets föreskrifter om betygssystem för utbildning på grundnivå och avancerad nivå (beslut ORU 2018/00929) ska något av uttrycken underkänd, godkänd eller väl godkänd användas som betyg. För utbildning som ingår i en internationell magister- eller masterutbildning eller i universitetets kursutbud för utbytesstudenter ska betygsskalan A-F användas. Rektor, eller den rektorn bestämmer, får besluta om undantag från denna bestämmelse för en viss kurs om det finns särskilda skäl.

Som betyg på kursen används Underkänd (F), Tillräcklig (E), Tillfredsställande (D), Bra (C), Mycket bra (B) eller Utmärkt (A).

Kommentar till betyg

Som betyg på kursen ges betyget från prov A002, givet att prov A001 är godkänt.

Examinationsformer

  • Teori (provkod A001): Skriftlig tentamen
  • Projektuppgifter (provkod A002): Skriftlig inlämningsuppgift och muntlig examination

Omtentamen infaller inom elva veckor efter ordinarie tentamen.

För studenter med dokumenterad funktionsnedsättning kan universitetet besluta om anpassning av examination eller annan examinationsform.

För ytterligare information se universitetets regler för examination inom utbildning på grundnivå och avancerad nivå.

Särskild behörighet och andra villkor

Datastrukturer och algoritmer, 7,5 högskolepoäng och Objektorienterad programmering, 7,5 högskolepoäng.

För ytterligare information se universitetets antagningsordning.

Övriga föreskrifter

Kursen kan komma att ges på engelska.

Den som antagits till och registrerats på en kurs har rätt att erhålla undervisning och/eller handledning under den tid som angavs för kurstillfället som den sökande blivit antagen till (se universitetets antagningsordning). Därefter upphör rätten till undervisning och/eller handledning.

Litteratur och övriga lärresurser

Obligatorisk litteratur
Aho, Alfred V, Lam, Monica. S, Sethi, Ravi och Ullman, Jeffery D
Compilers - Principles Techniques and Tools (senaste upplagan)
Addison-Vesley