KTH

Skolan för datavetenskap och kommunikation

   
   

     
  arrow rigth  
     
     
     
     
     
     
     
     
     

 

   

2D1373 Artificiella språk och syntaxanalys

KursPM med schema

Ett officiellt kursPM delas ut separat.

Schema, Kursledare, Vem får läsa kursen, Mål, Kurslitteratur, Studentexpedition, Kursuppläggning, Examination, Konto vid Nada, Läsanvisningar

Ändringar i kursPM kommer att meddelas under nyheter.


Schema

Om detta schema avviker från det schema som schemageneratorn ger, är det detta som gäller. Blir det ändringar under kursens gång, kommer detta schema att uppdateras.

 F 13-15 v 4-9   Q33 
 F on 10-12 v 4-8   Q33 
 F on 10-12 v 9   Q34 
 L 13-15 v 10   Egen 
 L on 10-12 v 10   Egen 
 L to 15-17 v 4-8   Spel 
 L to 15-17 v 9   Konst/Musik 
 L fr 15-17 v 7   Egen 
 Tenta 08-13 v 11   D31-33 
 Tenta 08-13 v 16   D34 

topp>>

Kursledare

Mikael Goldmann, <migo@kth.se>, 790 6813, rum 1444, mottagningstid: måndagar 10.00-11.00 eller enligt överenskommelse.

Mikael nås enklast via epost.

topp>>

Vem får läsa kursen

Kursen är valfri och kan läsas på många inriktningar.Den förutsätter att man har förkunskaper motsvarande någon av kurserna 2D1320 Tillämpad datalogi, 2D1340 Introduktion till datalogi, 2D1343 Datalogi, 2D1344 Grundläggande datalogi.

topp>>

Kursens mål

Kursens mål är att

  • ge de teoretiska grunderna för definition och analys av programspråk och andra artificiella språk,
  • ge förmåga att utveckla lämpliga notationer för beskrivning av olika typer av problem,
  • ge förmåga att konstruera översättare från en notation till en annan,
för att eleverna
  • ska känna till kraftfullheten och begränsningarna hos automater och artificiella språk,
  • i praktiska situationer ska kunna specificera lämpliga inmatningsnotationer för datorprogram och konstruera analysatorer för dem.

Lämpliga fortsättningskurser är Programspråksimplementation, Språkteknologi och Kompilatorer och virtuella maskiner.

topp>>

Kurslitteratur

Bok

Det finns ett flertal böcker som kan fungera som kursbok på kursen:

  • T W Parsons: Introduction to compiler construction, Computer Science Press, New York, 1997, ISBN 0716782618. Det finns tyvärr ett antal tryckfel i boken, både i den första tryckningen (1992) och den andra tryckningen (1997).
  • Alfred V. Aho, Ravi Sethi och Jeffrey D. Ullman: Compilers: Principles, Techniques and Tools. Addison-Wesley, Reading, 1986 ISBN 0201100888.
  • Andrew Appel: Modern Compiler Implementation in Java, 2nd edition, Cambridge University Press, 2002, ISBN 052182060X. (Observera att den skiljer sig ganska mycket från första upplagan)
Parsons har använts under några år och fungerar bra som kursbok även om den ibland är lite slarvigt skriven. Aho et al är strukturerad som Parsons bok men grundligare i detaljerna. Appels bok till sist har den fördelen att den används på kurser som kan vara intressanta för den som vill lära sig mer om kompilatorer, men på den här kursen används bara drygt 100 sidor av den.

Labbuppgifterna kommer att tas ur Appels bok, men kommer naturligtvis att vara tillgängliga även för de som väljer en annan kursbok.

Observera att kursboken inte täcker hela kursen. En del teoretiskt material finns endast i exempelsamlingen i kursbunten!

Kursbunt

Kursbunten består av en exempelsamling som även innehåller en del teoretiskt material som saknas i böckerna ovan. Extentor, labbanvisningar och dokumentation av verktygen kommer att finnas tillgängligt via kurshemsidorna.

topp>>

Studentexpedition och Delfi

Nadas studerandeexpedition finns på Osquars backe 2 plan 2. Den har öppet må­fr 9.45­11.30 och må­to 12.45­14.15. Kursbunten säljs på studentexpeditionen. Där kan du också hämta ut din tenta.

Delfi är Nadas systemgrupps mottagning som har hand om konton och passerkort. Delfi har öppet må-fr 10-12 och må-to 13-15.

topp>>

Examination

Examinationen består av en tenta som täcker de teoretiska delarna av kursen och ett mindre projekt som täcker de praktiska delarna. Detaljer och bonussystem framgår av officielt kursPM.

För all examination vid Nada tillämpas en hederskodex.

Labbkurs

Det finns fyra frivilliga labbar (applex) i exempelsamlingen. De fungerar som en tutorial som gör det enklare att lära sig ett verktyg och de berör även delar av det teoretiska materialet.

Det finns också en större labb (eller ett mindre projekt) som är obligatoriskt. Läs mera i utdelad kurs-PM.

Konto vid Nada

Om du saknart konto på Nadas datorer ska du kontakta kuraledaren.

topp>>

Läsanvisningar

I officiellt kursPM finns en preliminär planering som anger vilka avsnitt av Parsons bok som är relevanta vid respektive föreläsning. Nedan finner du vilka avnsitt i de andra böckerna som motssvara vilka avsnitt i Parsons bok.

Kursboken

Tabellen kommer att kompletteras med några avsnitt från Parsing Techniques: A Practical Guide (PT) för er som använder Appels bok (se länkarna). Wirths artikel finns utanför Nadaexpeditionen (se även utdelade papper).
Avsnitt i Parsons Motsvarande i drakboken Motsvarande i Appel Komplement Nivå
kapitel 1 kapitel 1 kapitel 1 Ingår i detalj.
- kapitel 2 - Läs översiktligt, inga tentafrågor.
kapitel 2 kapitel 3 kapitel 2 Ingår i detalj.
kapitel 3-4 kapitel 4 kapitel 3 Wirth, PT 2.6 Ingår i detalj.
kapitel 5 kapitel 5 kapitel 4-5 PT 2.9 Ingår i detalj.
appendix B.1 (Lex) avsnitt 3.5 Dokumentation av sablecc / javacc / flex / jflex Läs översiktligt, inga tentafrågor.
appendix B.2 (Yacc) avsnitt 4.9 Dokumentation av sablecc / javacc / bison / cup Läs översiktligt, inga tentafrågor.
- kapitel 6-12 kapitel 6-12 Ingår inte alls.

Annat material

Kapitel 0 i exempelsamlingen ingår i teoridelen. Det preliminära föreläsningsschemat anger diverse relevanta övningsuppgifter.

Verktygen finns dokumenterade bland länkarna.

topp>>

Förändringar sedan förra läsåret

Det finns möjligheter att göra en labbkurs som ansluter till kursen 2D1375, Programspråksimplementation.

topp>>

 


 
Sidansvarig: Mikael Goldmann <migo@nada.kth.se>
Uppdaterad: 2004-02-23