| TDP007 | 
    
      
        Konstruktion av datorspråk, 4 p  
         /  
         6 hp
         /Computer Language Construction/
      
      
      För:  
      IP  
      
  
       
     | 
  
  
    |   | 
    Prel. schemalagd tid:  Rek. självstudietid: 160
 
   | 
  
  
    |   | 
    Utbildningsområde: Teknik Ämnesgrupp: Datateknik Huvudområde: Programmering
 
  | 
  
  
    |   | 
    Fördjupningsnivå (A-D): -
 
  | 
  
  
    |   | 
    Utbildningsnivå (G1,G2,A): G1
 
  | 
  
  
    |   | 
    Mål:  Efter genomgången kurs ska studenten kunna:
- förstå olika beräkningsmodeller för datorspråk
 
- resonera kring design av datorspråk och andra metanotationer
 
- implementera ett eget datorspråk för ett givet ändamål
 
- använda och modifiera en tolk för språksyntax
 
- redogöra för och använda reguljära uttryck
 
- använda XML för att definera data- och metadataformat
 
 
      
 
  | 
  
  
    |   | 
    Förkunskaper:  Objektorienterad programmering
 
  | 
  
  
    |   | 
    Organisation:  Föreläsningar, laborationer och egen övning. Föreläsningarna tar upp kursens ämnen och tekniker.
 
  | 
  
  
    |   | 
    Kursinnehåll: 
Hantverk: Förmåga att designa en notation för en given typ av användning/system. Förmåga att definiera och implementera egna notationer för att underlätta för utvecklare och användare av system, t ex metadata och skriptnotation.
 Ämnen: Att arbeta med stack och stackmaskin. Järnvägsalgoritmen. Hantering av rekursion. Principerna för uppbyggnad och implementation av programspråk. Abstraktion och dess roll i datorspråk. Principerna för en kompilators uppbyggnad. Reguljära uttryck och ändliga automater. Syntaktisk parsning. Abstrakta syntaxträd. Översikt över olika typer av datorspråk.
 Teknik: Ruby, Emacs, GCC, JVM. 
    
 
  | 
  
  
    |   | 
    Kurslitteratur:  Fastställs senare
 
  | 
  
  
    |   | 
    Examination: | 
  
  
    DAT1 LAB1
  | 
    Datortentamen (U,3,4,5) Laboration (U,G)   | 
      4 hp    2 hp 
  | 
  
  
    |   | 
  
  
     | 
     |