You are on page 1of 1

COMPILER DESIGN

Course Code: Course Objective:


This course studies the principles of programming languages with an emphasis on programming language implementation and compiler design. This includes various techniques for describing and defining a language, as well as techniques for implementing compilers. The course is centered on a large programming project-the construction of a complete compiler for a small programming language.

MCA 502

Credit Units: 04

Course Contents:
Module I: Introduction Introduction to Compliers, Classification of grammars, Context free grammars, Regular grammars, Deterministic finite State Automata (DFA) & Non-DFA. Module II: Syntax Analysis Scanners, Top down parsing, LL grammars, Bottom up parsing, Polish expression Operator Precedence grammar, IR grammars, Comparison of parsing methods, Error handling. Module III: Symbol Table Symbol table handling techniques, Organization for non-block and block structured languages. Module IV: Code Generation/Intermediate Code Generation Run time storage administration, Static and dynamic allocation, Intermediate forms of source program, Polish Ntuple and syntax trees, Semantic analysis and code generation. Module V: Code Optimization Code optimization, Folding, redundant sub-expression evaluation, Optimization within iterative loops.

Examination Scheme:
Components Weightage (%) CT1 10 A/C/Q 15 Attd 5 EE 70

Text & References:


Text: Principles of Compiler Design, Alfred V. Aho, Jeffrey D. Ullman, Narosa Publishing House Compilers Principles, Techniques & Tools, Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Pearson Education (Singapore) References: The Theory and Practice of Compiler Writing, Tremblay, et. al., McGraw Hill, New York, 1985.

You might also like