Ders Öğretim Planı

Ders Kodu Ders Adı Ders Türü Yıl Dönem AKTS
BİL464 Derleyici Tasarımı (TS 8) 927003 4 8 6

Dersin Amacı

Bu dersin amacı, öğrencilerin derleyici tasarımı ve geliştirme konularında bilgi ve becerilere sahip olmasını sağlamaktır.

Ön Koşul Dersleri

Yok

Önerilen Diğer Hususlar

Yok

Staj Durumu

Yok

Dersin İçeriği

Bu ders öğrencilere biçimsel bir dilden bir diğer biçimsel dile çeviri yapmak için kullanılan metodları açıklar. Ders, tarayıcı adımından başlayarak ayrıştırıcı tasarımı ve geliştirilmesine kadar kullanılan adımları açıklar. Ayrıca, ders anlamsal analiz ve lokal ve global derleyici optimizasyonu konularında bilgi verir. Ders sırasında, her öğrencinin lex ve yacc yazılım araçları kullanarak basit bir derleyici tasarlaması beklenir.

Ders İş Yükü Verisi

# Etkinlikler Adet Süresi(saat) Toplam İş Yükü(saat)
1 Ara Sınav 1 60 60
2 Final Sınavı 1 90 90

Haftalık Ders İçeriği

Hafta Teorik Uygulama Laboratuar Ders Notları
1 DERLEYİCİLERE GİRİŞ
2 TARAYICILAR I (DÜZENLİ DİLLER, SÖZCÜKSEL ÖZELLİKLER)
3 TARAYICILAR II (RE , NFA , DFA , minDFA GERÇEKLEME)
4 AYRIŞTIRICILAR I (CFGs, AYRIŞTIRMA AĞACI, YUKARIDAN-AŞAĞIYA.)
5 AYRIŞTIRICILAR II (ÖZYİNELEMELİ İNİŞ, TAHMİNSEL AYRIŞTIRMA)
6 AYRIŞTIRICILAR III (AŞAĞIDAN-YUKARI AYRIŞTIRICILAR)
7 AYRIŞTIRICILAR IV (KAYDIRMALI-İNDİRGEME, SLR, LR(K) AYRIŞ.)
8 BAĞLAM DUYARLI ANALİZ
9 ARA TEMSİLLER
10 PROSEDÜR SOYUTLAMA
11 KOD BİÇİMİ, OPTİMİZASYONLAR I (LOKAL OPTİMİZASYONLAR)
12 OPTİMİZASYONLAR II (GLOBAL OPTİMİZASYONLAR)
13
14
15
16

Dersin Öğrenme Çıktıları

# Öğrenme Çıktı Id Açıklama
1 1278241 Derleyici adımları hakkında temel bilgi; otomat teorisi ve biçimsel diller bilgisini kullanma becerisi.
2 1278242 Derleyiciler tarayıcı modüllerini tasarım ve geliştirme becerisi.
3 1278243 Derleyiciler için vakaya uygun ayrıştırıcı stratejilerini seçme becerisi. Alternatif metodlar konusunda bilgi (yukarıdan-aşağıya veya aşağıdan-yukarıya, vb.)
4 1278244 Derleyici tasarımı ve gerçeklenmesi için gerekli olan güncel teknolojiler konusunda bilgi ve bu teknolojileri etkin bir şekilde kullanabilme becerisi

Bölüm Program Çıktıları

# Program Çıktı Id Açıklama
1 64129 Temel matematik ve bilgisayar bilimleri bilgilerini bilgisayar mühendisliği problemlerine uygulama becerisi.
2 64130 Var olan bir dizgedeki problemleri saptama, tanımlama ve çözümleme becerisi.
3 64131 İstenen gereksinimleri yerine getirecek şekilde bir sistemi veya bir süreci modern tasarım araçları ile tasarlama becerisi.
4 64132 Gereksinimlere uygun donanım ve yazılım çözümlerinin belirlenmesi ve kullanılması becerisi.
5 64133 Deney, gözlem, uygulama ve akıl yürütmeye dayalı çözümleme ve yorumlama becerisi.
6 64134 Bireysel çalışma, disiplin içi ve disiplinler arası takımlarda çalışma becerisi.
7 64135 Türkçe yazılı ve sözlü iletişim kurma becerisi, meslekteki ilerlemeyi sağlayacak şekilde yabancı dil bilgisinin kazandırılması.
8 64136 Yaşam boyu öğrenmenin gerekliliğini kavrayarak yeniliklere açık olma bilinci ile kendini yenileme becerisi.
9 64137 Mesleki ve ahlaki sorumluluk bilincine sahip olma.
10 64138 Proje planlaması ve yönetimi yapabilme; iş hayatında girişimcilik, yenilikçilik vb. kavramların önemini kavrama becerisi.
11 64139 Çağımızın sosyal, ekonomik, çevresel vb. sorunları hakkında farkındalık ve mühendislik mesleğini bu farkındalığın getirdiği sorumluluk bilinci ile gerçekleştirme.
12 64127 Sorgulayıcı düşünerek yaratıcı ve özgün çözüm yolları bulabilme, alternatif çözüm yolları üretebilme
13 64128 Özgüven, zorluklardan yılmama, kararlılık, sabır gibi kişilik özelliklerinin geliştirilmesi.