Türkçe | English
OF TEKNOLOJİ FAKÜLTESİ / YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ
( I. ÖĞRETİM)
Ders Bilgi Paketi
http://www.ktu.edu.tr/ofyazilim
Tel: +90 0462 3778353
OFTF
OF TEKNOLOJİ FAKÜLTESİ / YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ / ( I. ÖĞRETİM)
Katalog Ana Sayfa
  Katalog Ana Sayfa  KTÜ Ana Sayfa   Katalog Ana Sayfa
 
 

YZM3000Derleyici Tasarımı2+0+0AKTS:4
Yıl / YarıyılBahar Dönemi
Ders DuzeyiLisans
Yazılım Şekli Seçmeli
BölümüYAZILIM MÜHENDİSLİĞİ BÖLÜMÜ
Ön KoşulYok
Eğitim SistemiYüz yüze
Dersin Süresi14 hafta - haftada 2 saat teorik
Öğretim ÜyesiÖğr. Gör. Dr Celal ATALAR
Diğer Öğretim Üyesi
Öğretim DiliTürkçe
StajYok
 
Dersin Amacı:
Kelimesel analiz, aşağıya ve yukarı yönlü ayrıştırma, soyut sözdizim ağaçları, tip denetimi, ara kod dönüşümü, temel bloklar ve kod üretimi gibi çeşitli derleme süreci aşamalarını anlatmayı ve bu derleme aşamalarının Java programlama dilinde kaynak kod üretebilen JavaCC ve JTB gibi derleyici-derleyici araçları ile nasıl gerçeklenebileceğini öğretmektir.
 
Öğrenim KazanımlarıBPKKÖY
Bu dersi başarı ile tamamlayan öğrenciler :
ÖK - 1 : Derleme süreci aşamaları kavrayabilme.1,3,81,
ÖK - 2 : Programlama dili yapıları için sonlu otomata ve gramerler yazabilir.1,3,81,
ÖK - 3 : Basit bir programlama dili için tarayıcı, ayrıştırıcı, ve tip kontrolörü yazabilir ve çalıştırabilir..1,3,81,
ÖK - 4 : Basit programlama dili yorumlayıcıları geliştirebilme.1,3,81,
ÖK - 5 : Basit bir programlama dili için ara kod üretebilme.1,3,81,
ÖK - 6 : Yeni bir programlama dili tasarlayabilir ve gerçekleyebilir.1,3,81,
BPKK :Bölüm program kazanımlarına katkı, ÖY : Ölçme ve değerlendirme yöntemi (1: Yazılı Sınav, 2: Sözlü Sınav, 3: Ev Ödevi, 4: Laboratuvar Çalışması/Sınavı, 5: Seminer / Sunum, 6: Dönem Ödevi / Proje),ÖK : Öğrenim Kazanımı
 
Ders İçeriği
1. Derleyici ve Yorumlayıcı, Derleme Aşamaları 2. Basit Düz Bir Programın Ağaç Gösterimi 3. Kelimesel Analiz 4. Düzenli İfadeler ve Tokenların Düzenli İfadelerle Gösterimi 5. Lookahead , Belirsizlikler ve Hata Yakalama 6. Derleyici Derleme, JavaCC Dosya Yapısı, JavaCC ile Tarayıcı Üretimi 7. Sözdizimsel Analiz , Ayrıştırmaya Giriş 8. Context- Free Grammer (CFG), Sağa ve Sola Dayalı Türetim 9. Ayrıştırma Ağacı ve Belirsiz Gramer 10. Recursive-Descent Ayrıştırma 11. First ve Follow Setleri ve Sol Faktörleme 12. LL ve LR Ayrıştırma 13. Anlamsal Analiz, Visitor Paterni, instanceof Operatörü 14. Soyut Sözdizim Ağacı
 
Haftalık Detaylı Ders İçeriği
 HaftaDetaylı İçerikÖnerilen Kaynak
 Hafta 1Derleyici ve Yorumlayıcı, Derleme Aşamaları
 Hafta 2Basit Düz Bir Programın Ağaç Gösterimi
 Hafta 3Kelimesel Analiz
 Hafta 4Düzenli İfadeler ve Tokenların Düzenli İfadelerle Gösterimi
 Hafta 5Lookahead , Belirsizlikler ve Hata Yakalama
 Hafta 6Derleyici Derleme, JavaCC Dosya Yapısı, JavaCC ile Tarayıcı Üretimi
 Hafta 7Sözdizimsel Analiz , Ayrıştırmaya Giriş
 Hafta 8Context- Free Grammer (CFG), Sağa ve Sola Dayalı Türetim
 Hafta 9Arasınav
 Hafta 10Ayrıştırma Ağacı ve Belirsiz Gramer
 Hafta 11Recursive-Descent Ayrıştırma
 Hafta 12First ve Follow Setleri ve Sol Faktörleme
 Hafta 13LL ve LR Ayrıştırma
 Hafta 14Anlamsal Analiz, Visitor Paterni, instanceof Operatörü
 Hafta 15Soyut Sözdizim Ağacı
 Hafta 16Dönem Sonu Sınavı
 
Ders Kitabı / Malzemesi
1Appel, A. W., 2002; Modern Compiler Implementation in Java, 2nd ed., Cambridge University Press, 501 p.
 
İlave Kaynak
1Cooper, K., Torczon, L. 2003; Engineering a Compiler, 1st ed., Morgan Kaufmann, 801 p.
2Grune, D., Bal, H., Jacobs, C., Langendoen, K. 2000; Modern Compiler Design, Wiley, 736 p.
 
Ölçme Yöntemi
YöntemHaftaTarih

Süre (Saat)Katkı (%)
Arasınav 9 1 50
Dönem sonu sınavı 16 2 50
 
Öğrenci Çalışma Yükü
İşlem adıHaftalık süre (saat)

Hafta sayısı

Dönem toplamı
Yüz yüze eğitim 2 14 28
Sınıf dışı çalışma 3 12 36
Arasınav için hazırlık 2 8 16
Arasınav 1 1 1
Dönem sonu sınavı için hazırlık 3 8 24
Dönem sonu sınavı 2 1 2
Toplam Çalışma Yükü107