220x 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.