JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY HYDERABAD 
III Year B.Tech. CSE - I Sem  L T/P/D C 
4 -/-/- 4
(A50514) COMPILER DESIGN


Objectives:

  • To describe the steps and algorithms used by language translators.
  • To discuss the effectiveness of optimization.
  • To explain the machine dependent aspects of Compilation

UNIT – I 

Overview of Compilation: Phases of Compilation – Lexical Analysis, Regular Grammar and regular expression for common programming language features, pass and Phases of translation, interpretation, bootstrapping, data structures in compilation – LEX lexical analyzer generator. 

Top down Parsing: Context free grammars, Top down parsing – Backtracking, LL (1), recursive descent parsing, Predictive parsing, Preprocessing steps required for predictive parsing.

UNIT – II

Bottom up parsing : Shift Reduce parsing, LR and LALR parsing, Error recovery in parsing , handling ambiguous grammar, YACC – automatic parser generator. 

UNIT – III

Semantic analysis : Intermediate forms of source Programs – abstract syntax tree, polish notation and three address codes. Attributed grammars, Syntax directed translation, Conversion of popular Programming languages language Constructs into Intermediate code forms, Type checker.

Symbol Tables : Symbol table format, organization for block structures languages, hashing, tree structures representation of scope information. Block structures and non block structure storage allocation: static, Runtime stack and heap storage allocation, storage allocation for arrays, strings and records.

UNIT – IV

Code optimization : Consideration for Optimization, Scope of Optimization, local optimization, loop optimization, frequency reduction, folding, DAG representation.
Data flow analysis : Flow graph, data flow equation, global optimization, redundant sub expression elimination, Induction variable elements, Live variable analysis, Copy propagation. 

UNIT – V

Object code generation : Object code forms, machine dependent code optimization, register allocation and assignment generic code generation algorithms, DAG for register allocation. 

TEXT BOOKS : 

  1. Principles of compiler design -A.V. Aho . J.D.Ullman; Pearson Education. 
  2. Modern Compiler Implementation in C- Andrew N. Appel, Cambridge  University Press. 

REFERENCES : 

  1. lex & yacc – John R. Levine, Tony Mason, Doug Brown, O’reilly 
  2. Modern Compiler Design- Dick Grune, Henry E. Bal, Cariel T. H. Jacobs,  Wiley dreamtech.
  3. Engineering a Compiler-Cooper & Linda, Elsevier. 
  4. Compiler Construction, Louden, Thomson.

Outcomes:

  • Ability to undestand the the design of a compiler given features of the languages.
  • Ability to implement practical aspects of automata theory.
  • Gain Knowledge of powerful compiler generation tools.
  • Created
    May 29, 2015
  • Updated
    May 29, 2015
  • Views
    14,552