National Institute of Technology Rourkela

राष्ट्रीय प्रौद्योगिकी संस्थान राउरकेला

ଜାତୀୟ ପ୍ରଯୁକ୍ତି ପ୍ରତିଷ୍ଠାନ ରାଉରକେଲା

An Institute of National Importance

Syllabus

Course Details

Subject {L-T-P / C} : CS3007 : Compiler Design { 3-0-0 / 3}

Subject Nature : Theory

Coordinator : Prof. Ramesh Kumar Mohapatra

Syllabus

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 Objectives

  • This course aims to introduce the fundamental principles and techniques of compiler construction.
  • Emphasis will be on the practical aspects of designing and creating a custom-purpose compiler using appropriate tools.

Course Outcomes

Upon successful completion of this course, students should be able to: <br />Explain the principles behind compiler construction. <br />Apply the techniques learned in class to compiler construction. <br />Design, create and implement basic components of a custom purpose compiler for a simple language.

Essential Reading

  • A. V. Aho, Ravi Sethi & Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools, Pearson Education , 1st Ed, 2008
  • K. C. Louden, Compiler Construction Principles and Practice, Thomson Learning Inc. , 1st Ed, 2007

Supplementary Reading

  • W. A. Barrett, John D. Couch, C. Couch, Compiler Construction: Theory and Practice, Science Research Associates , 1979
  • A. W. Apple, Modern compiler implementation in C, Cambridge University Press , 1st Ed, 2003