At the end of this course, the students; 1) Knowledge about the compiler, and lexical analysis. 2) Learn the rules of syntax of programming languages. 3) Knows the basic parsing techniques. 4) Will have information about memory management. 5) Learn to code generation and optimization.
MODE OF DELIVERY
Face to face
PRE-REQUISITES OF THE COURSE
No
RECOMMENDED OPTIONAL PROGRAMME COMPONENT
None
COURSE DEFINITION
Introduction to compilers, finite automata and lexical analysis. Syntax definitions of programming languages. Basic parsing methods. Design of efficient parsers. Symbol tables. Run-time memory management. Code generation and optimization.
COURSE CONTENTS
WEEK
TOPICS
1st Week
Introduction to compilers, finite automata and lexical analysis.
2nd Week
Introduction to compilers, finite automata and lexical analysis.
3rd Week
Introduction to compilers, finite automata and lexical analysis.
4th Week
Syntax definitions of programming languages.
5th Week
Syntax definitions of programming languages.
6th Week
Basic parsing methods.
7th Week
Basic parsing methods.
8th Week
Mid-term
9th Week
Design of efficient parsers.
10th Week
Symbol tables.
11th Week
Run-time memory management.
12th Week
Run-time memory management.
13th Week
Code generation and optimization.
14th Week
Code generation and optimization.
RECOMENDED OR REQUIRED READING
1. M. Steven S., Advanced Compiler Design İmplementation, Morgan Kaufmann Publishers Inc., 1997 2. G. Dick, Modern Compiler Design, Wiley,2001 3. Levine, Mason, Brown, Lex and Yacc, O'Reilly & Associates, 1995.