"False"
Hoppa direkt till innehållet
printicon
Huvudmenyn dold.
Kursplan:

DV3: Kompilatorns första faser - automater och grammatik, 7,5 hp

Kursen är nedlagd

Engelskt namn: DV3: The first phases of compilers - automata and grammar

Denna kursplan gäller: 2014-05-12 och tillsvidare

Kurskod: 5DV156

Högskolepoäng: 7,5

Utbildningsnivå: Grundnivå

Huvudområden och successiv fördjupning: Datavetenskap: Grundnivå, har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav

Betygsskala: Med beröm godkänd, icke utan beröm godkänd, godkänd, väl godkänd, godkänd, underkänd

Ansvarig institution: Institutionen för datavetenskap

Beslutad av: Teknisk-naturvetenskapliga fakultetsnämnden, 2014-05-13

Reviderad av: Teknisk-naturvetenskapliga fakultetsnämnden, 2016-07-18

Innehåll

Kursen består av flera delar med gemensam kärna i automater och verktyg för formella språk. Kursen inleds med studier kring ändliga automater och reguljära språk samt stackautomater och kontextfria språk. Kursen fortsätter med översättarteknik där lexikal, syntaktisk och semantisk analys ingår. Verktyg som YACC och Lex introduceras i laborationsmomentet där en kompilator konstrueras för ett enkelt programspråk. En mellankod genereras som i en senare fas kan översättas till exekverbar kod. Kursen avslutas med studier kring beräkningsbarhet och komplexitet. Turingmaskiner diskuteras och olika klasser av komplexitet behandlas.

Kursen består av tre moment:

  • Moment 1, Formella språk och ändliga automater, 3 hp där FSR 1,  6 och 7 behandlas.
  • Moment 2, Parsning i Yacc och Lex, 3 hp där FSR 8 behandlas.
  • Moment 3, Berökningsbarhet och komplexitet, 1.5 hp där FSR 2-5 behandlas.

Förväntade studieresultat

Kunskap och förståelse
Efter avslutad kurs ska studenten kunna

  • Återge och exemplifiera pumping-lemman för reguljära och kontextfria språk. (FSR1)
  • Diskutera Church-Turing tesen samt begreppen avgörbarhet och beräkningsbarhet. (FSR2)
  • Diskutera haltproblemet och dess oavgörbarhet samt kunna återge och exemplifiera Rice teorem. (FSR3)
  • Definiera och förklara klasserna P och NP. (FSR4)
  • Definiera begreppen polynomtidsreduktion och NP-komplett förklara vad som är syftena med dessa. (FSR5)

Färdighet och förmåga
Efter avslutad kurs ska studenten kunna

  • Definiera, skapa och tolka olika representationer av reguljära och kontextfria språk samt översätta mellan dem. (FSR6)
  • Tillämpa syntaxstyrd översättning på enklare kontextfria grammatiker. (FSR7)
  • Använda verktyg för lexikal- och syntaxanalys för att skapa en parser. (FSR8)

Behörighetskrav

För tillträde till kursen krävs minst 15hp kurser i datavetenskap varav en kurs i Datastrukturer och algoritmer baserat på programspråket C, (5DV127/5DV149) eller motsvarande kunskaper.

Undervisningens upplägg

Undervisningen bedrivs i form av föreläsningar, arbete i datorlabb och övningar i mindre grupper. Utöver schemalagda aktiviteter krävs även individuellt arbete med materialet.

Examination

Examinationen på Moment 1 (Formella språk och ändliga automater), Moment 2 (Parsning i Yacc och Lex) och Moment 3 (Beräkningsbarhet och komplexitet) sker genom ett antal obligatoriska uppgifter. På momenten ges något av betygen Underkänd (U) eller Godkänd (G).

Examinationen på kursen som helhet sker genom obligatoriska inlämningsuppgifter i de tre momenten samt en frivillig skriftlig tentamen för högre betyg. För betyget Godkänd (G) på kursen krävs att samtliga moment 1-3 är godkända. På den skriftliga tentamen sätts något av betygen Underkänd (U), Godkänd (G), eller Väl godkänd (VG). Vid genomförd och godkänd skriftlig tentamen blir betyget för hela kursen det som erhållits på tentamen.

Studerande som godkänts i ett prov får inte undergå förnyat prov för att få ett högre betyg. I detta fall innebär det att studenten kan skriva den frivilliga skriftliga tentamen maximalt en gång.

För studerande som inte godkänns vid ordinarie provtillfälle anordnas ytterligare provtillfälle. En student som utan godkänt resultat har genomgått två prov för en kurs eller en del av en kurs, har rätt att få en annan examinator utsedd, om inte särskilda skäl talar emot det (HF 6 kap. 22 §). Begäran om ny examinator ställs till prefekten vid Institutionen för datavetenskap.
 

Övriga föreskrifter

TILLGODORÄKNANDE
I en examen får denna kurs ej ingå, helt eller delvis, samtidigt med en annan kurs med likartat innehåll. Vid tveksamheter bör den studerande rådfråga studievägledare vid Institutionen för datavetenskap och/eller programansvarig för sitt program.

Tillgodoräknande av studier prövas individuellt (se http://www.umu.se/utbildning/antagning/tillgodoraknande/).

Litteratur

Litteraturlistan är inte tillgänglig via den webbaserade utbildningskatalogen. Kontakta aktuell institution.