383x Filetype PDF File size 0.06 MB Source: www.nmc.ac.in
CC 21 – Principles of Compiler Design 11CA529
Objectives:
To introduce the various phases of a compiler and also to develop skills in designing
a compiler
Unit–I:
Introduction to compilers – compilers and translators – assembly language – macros
– structure of compiler – compiler writing tools – bootstrapping. Lexical analysis –
role of lexical analyser – regular expression – finite automata – implementation of
lexical analyser – context free grammars – derivation and parse trees.
Unit-II:
Parsers – shift reduce parsing – operator precedence parsing – top down parsing –
predictive parsers – simple precedence parser – LR parsers – constructing SLR
parsing tables – constructing canonical LR parsing table – constructing LALR
parsing tables – using ambiguous grammars.
Unit–III:
Syntax directed translation schemes – implementation of syntax directed translation
schemes – intermediate code – postfix notation – parse trees and syntax trees –
three address code, quadruples and tuples – translation of assignment statements –
Boolean expression – postfix translation.
Unit–IV:
Symbol table – the contents of a symbol table – data structures for symbol tables –
representing scope information – implementation of a simple stack allocation
scheme – implementation of block structured language – Storage allocation Errors –
lexical phase errors – syntactic phase errors – Semantic errors.
Unit–V:
Code optimization – principle sources of optimization – loop optimization – machine
dependent optimization – DAG representation in basic blocks. Code generation –
problems in code generation – a simple code generator – register allocations and
assignment – Code generation from DAG’s – Peep hole optimization.
Book for Study:
A.V.Aho and J D Ullman, “The Principles of Compiler Design” , Narosa Publishing
House, 1987, ISBN: 81-85015-61-9. (Chapters: 1, 3, 4, 5, 6, 7, 9, 10, 11, 12, 15)
no reviews yet
Please Login to review.