CSE420

Compiler Design

CSE420: Compiler Design

Offered:

Pre-requisite: CSE321, CSE331, CSE340


Theory and Practice; An introduction to compiler and interpreter design, with emphasis on practical solutions using compiler writing tools such as Yacc in UNIX, and the C programming language, Topics covered include: lexical scanners, context free languages and pushdown automata, recursive descent parsing, bottom up parsing, attributed grammars, symbol table design, run time memory allocation, machine language, code generation and optimization.

Course Objectives

a. Introduce the fundamentals concepts of computer language processing system, different phases of a compiler, and analysis-synthesis model of compilation
b. Teach students regular expressions for recognizing tokens, building symbol table, and transforming the regular expressions to finite state machines for developing lexical analyzer.
c. Explain context-free-grammars and parsers for syntax analysis to validate string of tokens of a programming language.
d. Teach students to construct syntax-directed definitions, translation schemes, annotated parse trees, dependency graph for semantic analysis and type checking.
e. Help students to understand intermediate codes, and code optimization techniques for efficient compiler design.
f. Help students to learn about how to generate codes for target programming language considering memory, instruction cost, available registers and run-time memory allocation.

List of Books

1. Principles of Compiler Design, Alfred V. Aho, Jeffrey D. Ullman, 1977, 2nd, Addison-Wesley, 0-32 1-4868 1 – 1

2. Compiler Construction: Principles and Practice, Kenneth C. Louden, 1997, 1st, Cengage Learning, 13: 978-0534939724

Course Materials

Text and Reference Books

Course Outcome

# Description Weight Edit

Lab Coordinator

Prantik Paul


©2024 BracU CSE Department