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 :
- Principles of compiler design -A.V. Aho . J.D.Ullman; Pearson Education.
- Modern Compiler Implementation in C- Andrew N. Appel, Cambridge University Press.
REFERENCES :
- lex & yacc – John R. Levine, Tony Mason, Doug Brown, O’reilly
- Modern Compiler Design- Dick Grune, Henry E. Bal, Cariel T. H. Jacobs, Wiley dreamtech.
- Engineering a Compiler-Cooper & Linda, Elsevier.
- 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.
-
CreatedMay 29, 2015
-
UpdatedMay 29, 2015
-
Views14,822