PROGRAMI
DERS TANITIM VE UYGULAMA BİLGİLERİ

Ders AdıKoduVerildiği YılVerildiği YarıyılSüresi (T+U)Yerel KredisiAKTS Kredisi
Derleyici TasarımıCENG 3463 + 035,00
 
Ders Bilgileri
Dersin Öğretim Diliİngilizce
Dersin SeviyesiLisans
Dersin TürüSeçmeli
Dersin Veriliş BiçimiYüz Yüze
 
Dersin Öğrenme Kazanımları:

Bu dersi başarı ile tamamlayan öğrenciler:
1. 1. Derleyici uygulamasının teori ve pratiğini anlamak 2. Sonlu durum makinelerini ve sözcüksel taramayı öğrenmek 3. Bağlamdan bağımsız gramerleri, derleyici ayrıştırma tekniklerini, soyut sözdizimi ağaçlarının yapımını, sembol tablolarını, ara makine temsillerini ve gerçek kod üretimini öğrenmek
 
Dersin Önkoşulları ve Birlikte Alınması Gereken DerslerYok
Daha Önce Alınmış Olması Önerilen DerslerYok
 
Dersin Tanımı:

The principles, algorithms, and data structures involved in the design and construction of compilers. Finite-state machines, lexical analysis, context-free grammars, push-down parsers, LR and LALR parsers, other parsing techniques, symbol tables, error recovery, an introduction to intermediate code generation.
 
Dersin İçeriği (Haftalık Konu Dağılımı):
 
HaftaKonu
1Derse genel giriş, ilgili kavramlara genel bakış
2Sözcük Analiz – FSM'ler ile belirteç tanıma
3Sözcük Analizi – Sözcük analizi için otomatik araçlar (Flex)
4Sözdizimsel Analiz – Yukarıdan aşağıya derleme
5Sözdizimsel Analiz – Tahmine dayalı yukarıdan aşağıya derleme
6Sözdizimsel Analiz – Aşağıdan yukarıya derleme
7Sözdizimsel Analiz – Nitelik gramerleri
8Sözdizimsel Analiz – Soyut sözdizimi ve sözdizimi ağaçları
9Ara Sınav
10Sözdizimsel Analiz – Ayrıştırıcı Oluşturucular (Bison)
11Semantik Analiz ve Kod Oluşturma – Sözdizimine yönelik çeviri
12Semantik Analiz ve Kod Üretimi – Tür kontrolü
13Semantik Analiz ve Kod Üretimi – Ara kod ve soyut/sanal makineler
14Semantik Analiz ve Kod Üretimi – Kod üretimi
 
Kaynaklar:
Aho, Sethi, Ullman: Compilers: Principles, Techniques and Tools, Addison Wesley, 1986, 978-0201100884
 
Diğer Kaynaklar:
Michael L. Scott: Programming Language Pragmatics, Morgan Kaufmann, 2009, 978-0123745149.
 
Öğretim Yöntem ve Teknikleri:
3 hours of lecturing per week. No Lab Work, but self-study and code generation to create a compiler for a toy language. Flex shall be used as lexical analysis tool; Bison shall be used as parser generators.
 
Değerlendirme Sistemi:
YöntemAdetKatkı (%)
Ara sınav1%30
Proje1%40
Final sınavı1%30
 
Ders İşbaşı Eğitimi (iş yerinde eğitim) Gerektiriyor mu?
Gerektirmiyor