Lisansüstü
Lisansüstü Eğitim Enstitüsü
Bilgisayar Mühendisliği
Anlık RSS Bilgilendirmesi İçin Tıklayınız.Düzenli bilgilendirme E-Postaları almak için listemize kaydolabilirsiniz.

Bilgisayar Mühendisliği Programı Ana Sayfası / Program Ders Planı / Derleyici Tasarımı (Ders bu dönem açılmayacktır.)

Derleyici Tasarımı (Ders bu dönem açılmayacktır.)

Ders KoduYarıyıl Ders Adı T/U/L Türü Öğrenim Dili AKTS
CSE0505 Derleyici Tasarımı (Ders bu dönem açılmayacktır.) 3/0/0 SA Türkçe 9
Dersin Amacı
 Derleyici (compiler) ve yorumlayıcı (interpreter) farkının T-diagramları ile açıklanması, sanal makina (virtual machine), üçlüler (triples) ve dörtlüler (quadruples) ile sanal makina tasarımı. Derleyicinin temel bölümlerinin (önişleyici, tarayıcı, sözdizim çözümleyici, anlamsal çözümleme, kod üretme ya da kod yorumlama ) gözden geçirilmesi, basit bir tek geçişli derleyici (simple one-pass compiler) örneği, öğrenci projelerinin tanımlanması, tarayıcı (lexical analysis) & sözdizim çözümleme teknikleri (syntax analysis techniques), sözdizim ile yönlendirilen çözümleme (syntax directed compiling), tür denetimi (type checking), anlamsal çözümleme (semantic analysis) & programlanmış tür dönüşümleri (programmed type conversions), işleç ek yüklemeleri (operator overloading), bağımsız derlenen bölümler için işletim zamanı ortam tanımları (run time environments), üçlüler ya da dörtlüler biçiminde ara kod üretimi Ders iki haftada bir yapılacak laboratuar ve proje ile desteklenecektir. 
Ön Koşullar CSE0504
Eş Koşullar Yok
Özel Koşullar C Programlama Dili ya da aynı gruptan bir programlama dilini iyi bilmek
Öğretim Üyeleri
Asistanlar
Ders Gün,Saat ve Yeri Gün, XX.XX:XX.XX, XXXX Yerleşkesi XXX nolu derslik
Görüşme Saatleri ve Yeri Öğretim Üyesinin ismi, Gün, XX.XX-XX.XX, xxx Yerleşkesi Ofis no
Öğretim Yöntem ve Teknikleri -
Temel Kaynaklar
1- Alfred Aho, Ravi Sethi & Jeffrey D. Ullman ; Compilers : Principles, Techniques & Tools ; 1986 Bell Labs or Addison wesley march 1988 corrected edition, ISBN 0-201-10088-6 (main text )  
 
2- Dr. Rafa E. Al-Qutaish; Compiler Construction: With Software Measurement Capability ; Publisher: LAP LAMBERT Academic Publishing (February 4, 2011); Paperback: 156 pages; ISBN-10: 3844306382; ISBN-13: 978-3844306385 
 
 
3- F.L.Bauer, J.Eickel (editors) ; Compiler Construction : An advanced Course ; Spinger verlag 1976, ISNB 0-540-08046-5 OR 0-387-08046-0  (for T-diagrams, also you may find them in various web cites)
 
 
4- Peter H. Salus (series editor) ; handbook of programming languages, vol III : Little Languages & Tools; MacMillan Technical Publishing 1998; ISBN 1-57870-010-8 (for defining course projects )   
 
5- D. Grune, H. Bal, C. Jacobs, K. Langendoen ; Modern Compiler Design ; John Wiley & Sons; 2000; ISBN: 0471976970 ; Paperback: 754 pages   Amazon Sales Rank : #67,370
 
6- Y.N.Srikant, Priti Shankar; The Compiler Design Handbook: Optimizations & Machine Code Generation ; CRC Press; 2002,  ISBN: 084931240X,   928 pages ,      Amazon Sales Rank : #171,350
 
7- Steven S. Muchnick ; Advanced Compiler Design and Implementation ; Morgan Kaufmann; 1997) ; ISBN: 1558603204,   Hardcover: 856 pages  Amazon Sales Rank : #73,574
 
8- Kenneth C. Louden ; Compiler Construction: Principles and Practice;   Publ.: Course Technology;   1997 ; ISBN: 0534939724,    Hardcover: 592 pages  Amazon Sales Rank : #107,877
 
9- William M. Waite,  Lief H. Carter, Lynn R. Carter  ; Compiler Construction: Principles and Practice ; Addison-Wesley 1997 , ISBN:0673398226 ?  ISBN:0534939724 
 
10- Randy Allen, Ken Kennedy ; Optimizing Compilers for Modern Architectures: A Dependence-based Approach; Morgan Kaufmann; 2001 ,  ISBN: 1558602860, Amazon Sales Rank : #141,027
 
11- Randy M. Kaplan ; Constructing Language Processors for Little Languages ; Wiley; 1 edition (August 9, 1994) , ISBN: 0471597538,  paperback: 464 pages , Amazon Sales Rank : #359,401 
 
12- Evelyn Duesterwald (Editor), Compiler Construction ; Springer Verlag 2004, ISBN: 3540212973,  Paperback: 313 pages ,   $68.00   
 
13- Gorel Hedin (editor), Compiler Construction: 12th International Conference, 2003 Held As Part of the Joint  European Conferences on Theory and Practice  of Software, Lecture Notes in Computer Science, 2622,  Springer-Verlag  2003, ISBN: 3540009043, $56.00  Paperback: 334 pages 
 
14- R. Nigel Horspool (editor) ; Compiler Construction: 11th International  Conference, 2002 Held As Part of the Joint European Conferences on Theory and Practice of Software, Springer-Verlag  2002, ISBN: 3540433694 (Lecture Notes in Computer Science, 2304),   $69.95,  Paperback: 341 pages,    Amazon Sales Rank : #2,207,810 
 
15- R. Wilhelm (editor), Compiler Construction: 10th International Conference, Held As Part of the Joint  European Conferences on Theory and Practiceof Software, Springer-Verlag 2001, ISBN: 354041861X (Lecture Notes in  Computer Science, 2027   Amazon Sales Rank : #1,726,483 
 
16- William M. Waite, Lynn R. Carter  ; An Introduction to Compiler Construction; Publ. Harpercollins College Div 1993 , ISBN: 0673398226, Paperback: 438 pages ,  Amazon Sales Rank : #1,473,648 
 
17- Thomas W Parsons ; Introduction to Compiler Construction ; Publ. W. H. Freeman, 1992, ISBN: 0716782618,   Hardcover: 359 pages , Amazon Sales Rank : #51,114 
 
18 -Robert Morgan; Building an Optimizing Compiler; Digital Press, 1998);  ISBN: 155558179X     paperback: 450 pages, Amazon Sales Rank : #746,423
 
Diğer Kaynaklar -
Haftalık Ders Programı
Hafta Dersin İçeriği Öğretim Yöntem ve Teknikleri
1. Hafta T-diagramları kullanarak derleyici (compiler ) ve yorumlayıcı ( interpreter ) farkının anlatımı ,
2. Hafta Derleyicinin ara basamağı olarak tanımlanacak görüntü makinanın ( virtual machine ) tanımı; üçlüler ( triples) ,dörtlüler ( quadruples) ve byte kodları (byte-codes).
3. Hafta Derleyicinin temel parçaları ; ön-işleyişi, tarayıcı (scanner), ve sözdizim çözümleyici ( syntax analyser), yukarıdan aşağıya sözdizim çözümleme( top down syntax analysis ) ve aşağıdan yukarıya sözdizim çözümleme) tanımları
4. Hafta Anlamsal çözümleme (semantic analysis), kod üretme ( code generation) ya da kod yorumlama (code interpretation)..
5. Hafta Tek geçişli, basit bir derleyici örneği için başlangıç (Example of simple one-pass compiler)..öğrenci projelerinin tanımlanması
6. Hafta Tarayıcı ve sözdizim çözümleme için yöntemler ve ayrıntılar .
7. Hafta Sözdizim ile yönetilen derleme (syntax directed compiling), işlenenlerin tür denetimi (type checking of the operands), anlamsal modüllerin tanımı ve bütünleştirilmesi ,Programlanmış tür dönüşümü (programmed type conversions) ve işleç ekyüklemesi ( operator overloading),
8. Hafta Tahmini Ara sınav zamanı
9. Hafta Ayrı derlenmiş bölümlerin işletim zamanı ortamı (run time environments for separately compiled modules),
10. Hafta Üçlüler ya da dörtlüler halinde kod üretimi
11. Hafta Veri akış çözümlemesi (Data flow analsis) ve kod iyileştirme (Code optimization)
12. Hafta Kod üretimi (Code generation) – yerdeğiştirebilir kod (relocatable code)
13. Hafta Kod üretimi (Code generation) – yerdeğiştirebilir kod (relocatable code)
14. Hafta Ders iki haftada bir yapılacak laboratuar ve öğrenci projeleri ile desteklenecektir . Bu hafta öğrenci sunumları ve değerlendirme içindir
15. Hafta
16. Hafta
17. Hafta
Değerlendirme Ölçütleri
Ölçüt Tipleri Adet Yüzdesi(%)
Ara sınav(lar) 1 27
Derse Devam / Katılım 1 6
Laboratuvar 1 27
Final 1 40


ÖÇ-1Semantik Tanımlar ın operatörlerin uygulanmasındaki çeşitli kombinasyonlar altında anlaşılması
ÖÇ-2Semantik analiz rutinleri yazabilme
ÖÇ-3Sözdizimi analiz modülü ve semantik analiz modülleri birleştirmek yapabilme
ÖÇ-4Kodlarını tasarlayabilme(pseudo codes: triples, quadruples, or simple internal language) mümkün olacaktır,
ÖÇ-5Çeşitli programlama dilleri bağlı olduğu sanal makine anlamak mümkün olacaktır.
ÖÇ-6Belirli bir yer değiştirebilen makine koduna sahte kod geliştirmek mümkün olacak
ÖÇ-7Vektörler, çok boyutlu vektörler,kayıtları, aktivasyon kaydı, vb de dahil olmak üzere iç veri yapılarını derleyici ve sabit bir tablo da dahil olmak üzere çeşitli bölgelerinde anlamak mümkün olacak,
Program Çıktıları
PÇ-1lisans ve lisansüstü mühendislik ve diğer disiplinlerden edinilen bilgiyi belirleme, ifade etme ve uzmanlık alanında ileri seviye bilgi gerektiren yeni ve karmaşık bilgisayar mühendisliği problemlerini çözme becerisi
PÇ-2bilgisayar mühendisliğinin en az iki alt-disiplininde ileri konularda bilgi
PÇ-3uzmanlık alanındaki yeni bilgiyi anlama ve birleştirme becerisi
PÇ-4çoklu bağlamlarda ileri teknik bilgileri uygulama becerisi
PÇ-5 hayat boyu öğrenmenin önemini kavrama ve hayat boyu öğrenmeyi uygulama becerisi
PÇ-6uzmanlık alanındaki önemli bir konuda düzenli ve sistematik çalışma planlama ve uygulama becerisi
PÇ-7teknik materyalleri kabul gören standartlara uygun yazılmış resmi raporlar ile nakletme becerisi
PÇ-8varolan literatürü analiz etme ve kullanma becerisi
PÇ-9etkin sözlü komünikasyon becerisi
PÇ-10bilgisayar mühendisliği alanındaki gelişmelere ayak uydurma becerisi
Alan Yeterlilikleri Matrisi
Program Çıktıları - Öğrenim Çıktıları Matrisi
--
 PÇ 1PÇ 2PÇ 3PÇ 4PÇ 5PÇ 6PÇ 7PÇ 8PÇ 9PÇ 10
ÖÇ 1          
ÖÇ 2          
ÖÇ 3          
ÖÇ 4          
ÖÇ 5          
ÖÇ 6          
ÖÇ 7