Course Details
Subject {L-T-P / C} : CS3007 : Compiler Design { 3-0-0 / 3}
Subject Nature : Theory
Coordinator : Ramesh Kumar Mohapatra
Syllabus
Module 1 : |
Introduction and overview of the compilation process, Model of a compiler, translators, interpreters, assemblers. Compilation of simple expressions and statements, Organization of a compiler, Compiler design tools, Computer architecture vs. compiler design Lexical Analyser (scanner) DFA NFA Context-Free Grammar. Syntax analysis, LEX tool, parsing: Top-Down and Bottom Up parsing, general parsing strategies. Brute-force approach, recursive descent parser and algorithms, simple LL(1) grammar, LL(1) with null and without null rules grammars, Bottom-up parsing- Handle of a right sentential form, Shift-reduce parsers, operator precedence parsing, LR, SLR, Canonical LR and LALR grammar and parsers YACC tool, Symbol table contents, organization and Management. Syntax-directed translation schemes, Intermediates code generation, Translation schemes for programming language constructs. Code optimization, Code generation, Error handling. |
Course Objective
1 . |
This course aims to introduce the fundamental principles and techniques of compiler construction. |
2 . |
Emphasis will be on the practical aspects of designing and creating a custom-purpose compiler using appropriate tools. |
Course Outcome
1 . |
Upon successful completion of this course, students should be able to:
|
Essential Reading
1 . |
A. V. Aho, Ravi Sethi & Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools, Pearson Education , 1st Ed, 2008 |
2 . |
K. C. Louden, Compiler Construction Principles and Practice, Thomson Learning Inc. , 1st Ed, 2007 |
Supplementary Reading
1 . |
W. A. Barrett, John D. Couch, C. Couch, Compiler Construction: Theory and Practice, Science Research Associates , 1979 |
2 . |
A. W. Apple, Modern compiler implementation in C, Cambridge University Press , 1st Ed, 2003 |