Principles of Compiler Design

Front Cover
Technical Publications, Jan 1, 2009 - 595 pages
10 Reviews
Compiler
Translator issues, why to write compiler, compilation process in brief, front end and backend model, compiler construction tools. Interpreter and the related issues, Cross compiler, Incremental compiler, Boot strapping, byte code compilers
Lexical Analysis
Review of lexical analysis : alphabet, token, lexical error, Block schematic of lexical analyser, Automatic construction of lexical analyser (LEX), LEX specification and features.
Syntax Analysis
Role to parsers, Top down - RD parser, predictive parsers, LL (k) parsers, Bottom up parsers - Operator precedence parsers, shift-reduce : SLR, LR (k), LALR etc. using ambiguous grammars, Error detection and recovery, Automatic construction of parsers (YACC), YACC specifications.
Semantic Analysis
Need of semantic analysis, type checking and type conversion.
Syntax Directed Translation
Syntax directed definitions, construction of syntax trees, bottom-up evaluation of S-attributed definitions, L-attributed definitions, Top-down translation, bottom-up evaluation of inherited attributes.
Intermediate Code Generation
Intermediate languages, declarations, assignment statements, iterative statements, case statements, arrays, structures, conditional statements, Boolean expressions, back patching, procedure calls, Intermediate code generation using YACC.
Run Time Storage Organisation
Source language issues, Storage organization and allocation strategies, for block structured and non block structured languages, Activation record, variable-length data, procedure parameters, nested procedures, access to non-local names, procedure call and return, static and dynamic scope, Symbol table organisation and management.
Code Generation
Issues in code generation, Target machine description, Basic blocks and flow graphs, next use information, Register allocation and assignment, Dag representation of basic blocks, Peephole optimisation, Generating code from a DAG, Dynamic programming, Code generator, generator concept.
Code Optimisation
Classification of optimisation, Principle Sources of optimisation, optimisation of basic blocks, Loops in flow graphs, Optimising transformations :compile time evaluation, Common sub-expression elimination, variable propagation, code movement, strength reduction, dead code elimination and loop optimisation, Local optimisation, DAG based local optimisation. Global optimisation : Control and data flow analysis, computing global data flow information : meet over paths, Data flow equations, Data flow analysis, Iterative data flow analysis : Available expressions, live range identification.
 

What people are saying - Write a review

User Review - Flag as inappropriate

pcd book

User Review - Flag as inappropriate

pcd book

All 10 reviews »

Contents

Solved Exercise 268
2-68
Review Questions 2
2-81
Chapter2 Lexical Analysis 21 to 282
2-82
Chapter4 Semantic Analysis 4 1 to 4 14
4-1
Chapter 5 Syntax Directed Translation 5 1 to 5
5-1
Chapter 4 Semantic Analysis 41 to 414
5-4
Chapter6 Intermediate Code Generation 6 1 to 6
6-1
Chapter 8 Code Generation 8 1 to 8
8-1
Chapter9 Code Optimization 91 to 970
9-70
References R1
P-1
Copyright

Other editions - View all

Common terms and phrases

Bibliographic information