Türkçe|English  
  KTU Course Catalogue  
Arama Yapmak İstediğiniz Anahtar Kelimeyi Giriniz :       
OF TEKNOLOJİ FAKÜLTESİ / YAZILIM MÜHENDİSLİĞİ
  Genel Bilgiler
  Yönetim
  Amaç ve Öğrenme Çıktıları
  Akademik Personel
  Ders Programı
     1. Yıl
     2. Yıl
     3. Yıl
     4. Yıl
   Öğrenme Çıktıları Matrisi
 
  Doktora Programları
  Yüksek Lisans Programları
  Lisans Programları
  Meslek Yüksek Okulları
 
  Geri
  Ana Sayfa
  KTÜ Ana Sayfa

YZM3000 DERLEYİCİ TASARIMI 2+0+0 ECTS:4
Yıl / Yarıyıl3. Yıl / Bahar Dönemi
Ders DuzeyiLisans
Yazılım ŞekliSeçmeli
BolumuYazılım Mühendisliği Bölümü
Ön KoşulYok
Öğretim SistemiYüz yüze , Grup çalışması
Dersin suresi14 hafta - haftada 2 saat teorik
Öğretim ÜyesiÖĞR. GÖR. Celal ATALAR
Diğer Öğretim Üyesi / ÜyeleriÖĞR. GÖR CELAL ATALAR
Öğretim Dili Tü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.
 

Öğrenme Çıktıları

BPÇK

ÖY

Bu dersi başarı ile tamamlayan öğrenciler :

ÖÇ - 1 :

Derleme süreci aşamaları kavrayabilme.

ÖÇ - 2 :

Programlama dili yapıları için sonlu otomata ve gramerler yazabilir.

ÖÇ - 3 :

Basit bir programlama dili için tarayıcı, ayrıştırıcı, ve tip kontrolörü yazabilir ve çalıştırabilir..

ÖÇ - 4 :

Basit programlama dili yorumlayıcıları geliştirebilme.

ÖÇ - 5 :

Basit bir programlama dili için ara kod üretebilme.

ÖÇ - 6 :

Yeni bir programlama dili tasarlayabilir ve gerçekleyebilir.

BPÇK : Bölüm program çıktıları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), ÖÇ : Öğrenme Çıktısı

 

Dersin İç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

 Hafta

Detaylı İçerik

Önerilen Kaynak

 Hafta 1

Derleyici ve Yorumlayıcı, Derleme Aşamaları

 Hafta 2

Basit Düz Bir Programın Ağaç Gösterimi

 Hafta 3

Kelimesel Analiz

 Hafta 4

Düzenli İfadeler ve Tokenların Düzenli İfadelerle Gösterimi

 Hafta 5

Lookahead , Belirsizlikler ve Hata Yakalama

 Hafta 6

Derleyici Derleme, JavaCC Dosya Yapısı, JavaCC ile Tarayıcı Üretimi

 Hafta 7

Sözdizimsel Analiz , Ayrıştırmaya Giriş

 Hafta 8

Context- Free Grammer (CFG), Sağa ve Sola Dayalı Türetim

 Hafta 9

Arasınav

 Hafta 10

Ayrıştırma Ağacı ve Belirsiz Gramer

 Hafta 11

Recursive-Descent Ayrıştırma

 Hafta 12

First ve Follow Setleri ve Sol Faktörleme

 Hafta 13

LL ve LR Ayrıştırma

 Hafta 14

Anlamsal Analiz, Visitor Paterni, instanceof Operatörü

 Hafta 15

Soyut Sözdizim Ağacı

 Hafta 16

Dö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öntem

Hafta

Tarih

Süre (Saat)

Katkı (%)

Arasınav

9

2

50

Dönem sonu sınavı

16

2

50

 

Öğrenci İş 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

1

14

14

Arasınav için hazırlık

1

8

8

Arasınav

2

1

2

Ödev

2

10

20

Dönem sonu sınavı için hazırlık

2

4

8

Dönem sonu sınavı

2

1

2

Toplam iş yükü

82