Graduate
Institute of Graduate Studies
Computer Engineering
Anlık RSS Bilgilendirmesi İçin Tıklayınız.Düzenli bilgilendirme E-Postaları almak için listemize kaydolabilirsiniz.

Computer Engineering Main Page / Program Curriculum / Compiler Design (Not offered.)

Compiler Design (Not offered.)

Course CodeSemester Course Name LE/RC/LA Course Type Language of Instruction ECTS
CSE0505 Compiler Design (Not offered.) 3/0/0 DE Turkish 9
Course Goals
Explaining the difference of compiler & interpreter by using T-diagrams, Definition of virtual machine for compiler : triples, quadruples, byte-codes. Basic parts of a compiler : preprocessor, scanner, syntax analyser, semantic analysis, code generation or code interpretation.. Example of simple one-pass compiler..definitions of student projects, techniques and some details of lexical analysis & syntax analysis..syntax directed compiling (ie semantic routine coupling, type checking, semantic analysis) & programmed type conversions, operator overloading), run time environments for separetly compiled modules, code generation as triples or quadruples Course will be supported with bi-weekly labs & project
Prerequisite(s) CSE0504
Corequisite(s) N/A
Special Requisite(s) The minimum qualifications that are expected from the students who want to attend the course.(Examples: Foreign language level, attendance, known theoretical pre-qualifications, etc.)
Instructor(s)
Course Assistant(s)
Schedule Day, hours, XXX Campus, classroom number.
Office Hour(s) Instructor name, day, hours, XXX Campus, office number.
Teaching Methods and Techniques -
Principle Sources 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  
Other Sources -
Course Schedules
Week Contents Learning Methods
1. Week Explaining the difference of compiler & interpreter by using T-diagrams,
2. Week Definition of virtual machine for compiler ( triples, quadruples, byte-codes).
3. Week Basic parts of a compiler : preprocessor, scanner, syntax analyser, - top down syntax analysis and bottom up syntax analysis definitions
4. Week semantic analysis, code generation or code interpretation..
5. Week Example of simple one-pass compiler..definitions of student projects,
6. Week techniques and some details of lexical analysis & syntax analysis..
7. Week syntax directed compiling (ie semantic routine coupling, type checking, semantic analysis) & programmed type conversions, operator overloading),
8. Week
9. Week run time environments for separately compiled modules,
10. Week code generation as triples or quadruples
11. Week Data flow analsis and Code optimization
12. Week Code generation – relocatable code
13. Week Code generation – relocatable code
14. Week Course will be supported with bi-weekly labs & project, this week is reserved for presentations and evaluation
15. Week
16. Week
17. Week
Assessments
Evaluation tools Quantity Weight(%)
Midterm(s) 1 27
Attendance 1 6
Laboratory 1 27
Final Exam 1 40


Program Outcomes
PO-1an ability to apply knowledge from undergraduate and graduate engineering and other disciplines to identify, formulate, and solve novel and complex electrical/computer engineering problems that require advanced knowledge within the field
PO-2knowledge of advanced topics within at least two subdisciplines of computer engineering
PO-3the ability to understand and integrate new knowledge within the field;
PO-4the ability to apply advanced technical knowledge in multiple contexts
PO-5a recognition of the need for, and an ability to engage in, life-long learning
PO-6the ability to plan and conduct an organized and systematic study on a significant topic within the field
PO-7an ability to convey technical material through formal written reports which satisfy accepted standards for writing style
PO-8the ability to analyze and use existing literature
PO-9the ability to demonstrate effective oral communication skills
PO-10the ability to stay abreast of advancements in the area of computer engineering
Learning Outcomes
LO-1Will understand Semantic Definitions under various combinations of operands that an operator has applied on,
LO-2Will able to write semantic analysis routines
LO-3Will be able to combine syntax analysis module and semantic analysis modules,
LO-4Will be able to design internal code ( pseudo codes: triples, quadruples, or simple internal language),
LO-5Will be able to understand virtual machine that various programming languages depend on,
LO-6Will be able to develop a specific relocatable machine code from pseudo code,
LO-7Will be able to understand various parts of the compiler including variable and constant table, internal data structures including vectors, multi dimensional vectors, records, activation record, etc
Course Assessment Matrix:
Program Outcomes - Learning Outcomes Matrix
 PO 1PO 2PO 3PO 4PO 5PO 6PO 7PO 8PO 9PO 10
LO 1
LO 2
LO 3
LO 4
LO 5
LO 6
LO 7