Upp till kursens hemsida.
Aktuell information om 2D1372, Artificiella språk och syntaxanalys, kursomgången 1995/1996
Senaste nytt
Restlabbar
Restlabbar kan redovisas när årets kursomgång
har ordinarie terminalövningar. Efter den 1 mars 1997 har det gått ett år sedan förra
kursomgången slutade. Kursledaren har därför rätt att kräva att du gör om hela
labbkursen enligt årets labbar om du har någon labb kvar från den gamla kursen.
Eftersom bara Flexlabben har ändrats sedan förra året så gäller följande regel 1997:
du får tillgodoräkna dig alla klarade labbar från 1996 utom labb 2
(Lexikal analys med Flex) som du alltså måste göra om enligt
labbanvisningen i årets kurs.
Labbresultat
Aktuella labbresultat finns här.
Wordspecifikationen har kommit!
Lagom till tentan har specifikationen av Wordformatet kommit.
Specifikationen är drygt 100 sidor lång och tämligen invecklad. Den
som fortfarande är intresserad kan köpa den för 20 kronor på Nadas
elevexpedition. Alla som köper Wordspecifikationen måste samtidigt skriva på
ett avtal som säger att program skrivna med hjälp av dokumentet bara får
användas i denna kurs och för eget bruk.
Resultat av kursutvärdering
Här finns resultaten från kursutvärderingen
och tentautvärderingen. En sammanfattning
av kursutvärderingarna tillsammans med Viggos synpunkter finns i
en kursanalys.
Ordinarie tenta 1996-03-04
Omtenta 1996-04-09
Omtenta 1996-08-30
Nästa tenta
Närmaste tenta är nästa kursomgångs ordinarietenta som går
- lördag den 1 mars 1997 klockan 8-13 i sal F31--F33.
Gamla nyheter
Den som har drakboken (som var kursbok i översättarteknikkursen) kan läsa
den istället.
Här finns en läsanvisning till drakboken.
Salsändring! Övningarna är i sal E2.
Viktiga nyheter kan läsas i kursens nyhetsgrupp
nada.kurser.syntax.
Lärare
Kursledare och föreläsare är
Viggo Kann,
viggo@nada.kth.se.
Mottagningstid tisdagar klockan 14.00-15.15.
Kurslitteratur
Kurslitteraturen ska läsas på egen hand parallellt med kursen. Föreläsningar,
övningar och laborationer täcker endast en del av kursmaterialet.
Det finns en läsanvisning inför tentan.
Kursbok
"T W Parsons: Introduction to compiler construction",
Computer Science Press, New York, 1992, ISBN 0-7167-8261-8.
Pris: 320 kronor i kårbokhandeln.
Kursbunt
- Kursprogram (i stort sett denna text).
- Laborationer.
- Häftet "Automata and BDDs - new tools in verification and optimization".
- Föreläsningsanteckningar (delas ut under kursens gång).
- En exempeltenta.
Kursbunten kan köpas på första föreläsningen och därefter på Nadas
elevexpedition
för 20 kr.
Papper som delas ut under kursens gång finns också på expeditionen.
Fördjupnings- och referenslitteratur
Följande litteratur är det inte nödvändigt att ha eftersom den finns
tillgänglig i Info i Emacs eller på kursens hemsida, men den som är
extra intresserad kan köpa den på Nadas
elevexpedition.
- Manual för Flex, version 2.5 (58 sidor). Pris: 15 kronor.
- Manual för Bison, version 1.24 (106 sidor). Pris: 25 kronor.
- Manual för Ox (58 sidor). Pris: 15 kronor.
Schema
Schemat är ändrat på en punkt. Övningarna är i sal E2 vecka 3-6,8-9 och i sal
K2 vecka 7.
Schema för vecka 3, 1996
| Tid | Måndag | Tisdag | Onsdag | Torsdag | Fredag |
| 8 | | | | | |
| 9 | | | | | |
| 10 | Föreläsning E3 | | | | |
| 11 | | | | | |
| 12 | | | | | |
| 13 | | | Föreläsning E3 | | |
| 14 | | | | | |
| 15 | | | Övning E2 | | |
| 16 | | | | |
| 17 | | | | | |
Schema för vecka 4-8, 1996
| Tid | Måndag | Tisdag | Onsdag | Torsdag | Fredag |
| 8 | | | | Terminalövning Svart,Lila | |
| 9 | | | | | |
| 10 | Föreläsning E3 | | | | |
| 11 | | | | | |
| 12 | | | | | |
| 13 | | | Föreläsning E3 | | |
| 14 | | | | | |
| 15 | | | Övning E2 (K2 vecka 7) | | |
| 16 | | | | |
| 17 | | | | | |
Schema för vecka 9, 1996
| Tid | Måndag | Tisdag | Onsdag | Torsdag | Fredag |
| 8 | | | | | |
| 9 | | | | | |
| 10 | Föreläsning E3 | | | | |
| 11 | | | | | |
| 12 | | | | | |
| 13 | Övning E2 | | Föreläsning E3 | | |
| 14 | | | | | |
| 15 | Terminalövning Svart,Lila | | | | |
| 16 | | | | |
| 17 | | | | | |
Detaljschema
Följande tabell visar vad som preliminärt kommer att behandlas
under föreläsningarna, övningarna och terminalövningarna.
- vecka 3
- F1 hur en kompilator fungerar i stort (1.1-1.10)
F2 ändliga automater, DFA=NFA, minimal DFA (2.1-2.5, appendix A)
Ö1 automater, KMP-automat för textsökning, BDD
- vecka 4
- F3 formella språk, reguljära uttryck, RE=DFA, reguljära uttryck i Unix. (2.6-2.10)
F4 Lex, hur Lex fungerar (appendix B.1)
Ö2 reguljära uttryck, Lex
TÖ1 labb 1: simulering av NFA
- vecka 5
- F5 grammatik, syntaxträd, BNF, grammatik för naturliga språk (3.1.1-3.1.5)
F6 stackautomat (PDA), Turingmaskin (TM), Chomskyhierarkin (3.1.6-3.1.8)
Ö3 grammatiker, PDA, TM
TÖ2 labb 2: lexikal analys med Flex
- vecka 6
- F7 uppifrån-och-ner-syntaxanalys, rekursiv medåkning (3.2-3.5)
F8 botten-och-upp-syntaxanalys, Yacc (4.1, appendix B.2)
Ö4 Yacc
TÖ3 labb 3: rekursiv medåkning
- vecka 7
- F9 Yacc, åtgärder (appendix B.2)
F10 hur Yacc fungerar, LR, LALR(k) (4.2-4.4)
Ö5 (i sal K2) Yacc, felhantering
TÖ4 labb 4: reguljära uttryck med Flex och Bison
- vecka 8
- F11 intern representation, kodgenerering, optimering (5.1-5.3)
F12 attributgrammatik, Ox (5.4-5.8)
Ö6 attributgrammatik, Ox
TÖ5 arbete med labb 5
- vecka 9
- F13 att konstruera egna språk, verktyg för översättning
Ö7 tentatal
TÖ6 labb 5: en valfri översättare
F14 sammanfattning
Kursregistrering
Alla som vill gå kursen måste registrera sej på den. Detta görs med
kommandot
res checkin syntax97
på någon av Nadas unixdatorer.
Registrera dej så snart som möjligt efter att kursen börjat!
Laborationer
Labbkursen består av fem laborationer (fyra små och en lite större)
som görs i grupper om högst två
personer. Enstaka labbar får inte sparas till annan kursomgång.
Om du inte fullgör alla fem labbarna inom ett år från kursens slut har
kursledaren rätt att kräva att du gör samtliga labbar i den nya
kursomgången.
Bonuspoäng
Vi tillämpar ett bonussystem för att uppmuntra eleverna att ligga i fas med
undervisningen. För varje labb som redovisas på rätt redovisningstillfälle
erhålls en bonuspoäng. Summan av dessa poäng adderas till den på tentan
uppnådda poängsumman. Detta gäller ett kalenderår räknat från kursstart.
Bonuspoäng kan endast fås det året som labbresultatet rapporteras.
När du är inloggad kan du se vilka labbar du är godkänd på genom att ge
kommandot
res show syntax97
Hederskodex
Grundregeln är att det jobb du gör i kursen (labbar, inlämningsuppgifter,
tentor m.m.) ska du göra själv, förutom att labbarna kan göras
i tvåmannagrupper.
Vid redovisning av labbar ska båda i gruppen kunna redogöra i detalj även för
vad labbkompisen skrivit.
Ibland, speciellt när man skriver program, kan det vara nödvändigt att fråga
någon annan (en kamrat eller en handledare) om hjälp med att hitta fel.
Detta är tillåtet förutsatt att du uppfyller följande villkor.
- Om du fått hjälp med mer än bara någon enstaka rad i programmet
ska du ge ett skriftligt erkännande till den som hjälpte
till, lämpligen i form av en kommentarrad överst i programmet,
som talar om vem som hjälpt dig med vad.
- Du måste förstå hela den färdiga lösningen, även de delar
du fått hjälp med.
Varje annan form av samarbete och utnyttjande av andras
lösningar betraktas som ett brott mot hederskodexen
och kan bestraffas, t ex genom att du förlorar alla bonuspoäng
eller får göra en ny uppgift.
Detta är en översatt och omarbetad version av den hederskodex som används i kursen Introduction to computer science vid Stanford University. Den tillämpas i ett flertal av Nadas kurser.
Tentamen
Tid och plats för ordinarietentan är måndag den 4 mars klockan 8-13 i
sal F42-F45. Första omtentatillfälle är tisdag den 9 april klockan 8-13
i sal E31.
Tentan består av en teoridel utan hjälpmedel och en problemdel med
kursboken som hjälpmedel. Hela skrivtiden är fem timmar. Efter två
timmar måste teoridelen ha lämnats in, men du får gärna göra det tidigare.
För godkänt krävs minst 25 poäng (inklusive maximala 5 poäng
labbonus) av 50 poäng.
Tentaresultatet anslås högst tre veckor efter tentan på institutionens
anslagstavla på plan 3 (rakt under elevexpeditionen).
Klagomål på rättning av tentan lämnas in skriftligen till kursledaren
inom tre veckor från det att tentaresultatet anslagits.
Anmälan till tentan
Du behöver inte anmäla dej till tentan.
(Tentaanmälan var tidigare obligatorisk för D- och E-teknologer
men Nada använder sej inte av detta anmälningssystem längre.)
Kurskatalog
Kursen har en katalog på Unixdatorerna:
/info/syntax.
På denna katalog finns textfiler, programskelett, program och liknande
som har med kursen att göra.
Köra hemma
Om du har en dator och ett modem hemma kan du
koppla upp dej med modem mot Nadas datorer hemifrån.
Information om hur du gör finns
här.
Synpunkter på kursen
Eftersom denna kurs kommer att ges för många elever under flera års
tid är vi tacksamma för synpunkter på kursen. En datorstödd
kursutvärdering håller på att göras.
Se vidare nyhetssammanfattningen i början av detta dokument.
Synpunkter kan också lämnas direkt till Viggo.
Diverse länkar
Upp till kursens hemsida.
Sidansvarig: <viggo@nada.kth.se>
Senast ändrad 21 februari 1997
Tekniskt stöd: <webmaster@nada.kth.se>