0% found this document useful (0 votes)
58 views

School of Engineering & Technology Navrachana University, Vadodara, Gujarat, India-391 410 Website: Course Code: Course Title

The document outlines a course on compiler design that introduces students to the theory and implementation of programming language processors, covering topics like lexical analysis, syntax analysis, code generation, and optimization techniques through 9 units over a semester. The course objectives are to provide foundational knowledge of compiler design principles and techniques and enable students to design and implement a prototype compiler. Learning outcomes include demonstrating the functioning of a compiler, applying various optimization techniques, and using compiler construction tools.

Uploaded by

chirag malaviya
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views

School of Engineering & Technology Navrachana University, Vadodara, Gujarat, India-391 410 Website: Course Code: Course Title

The document outlines a course on compiler design that introduces students to the theory and implementation of programming language processors, covering topics like lexical analysis, syntax analysis, code generation, and optimization techniques through 9 units over a semester. The course objectives are to provide foundational knowledge of compiler design principles and techniques and enable students to design and implement a prototype compiler. Learning outcomes include demonstrating the functioning of a compiler, applying various optimization techniques, and using compiler construction tools.

Uploaded by

chirag malaviya
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

School of Engineering & Technology

Navrachana University, Vadodara, Gujarat, India-391 410

Website: http://www.nuv.ac.in
Course Code: CS322 Course Compiler Design
Title:
Page: 1 of 2
Lecture : 3
Course Year of Introduction:
Tutorial: 0 2019
Structure (L T Practical: 0 Semester : VI
P): Total Credits : 3.0
Level : B Tech III
Qualifies for Machine Learning and Deep Learning
Prerequisites Compiler Design
An introduction to the theory of programming language processors focusing on
Course
lexical analysis, syntax analysis, and compile-time mechanics, including code
Description
generation and optimization, execution of interpretive representations, and
management of data structures.
Student will try:
1. To provide foundation for study of high performance parallel compilers and
Course Objective 2. Compiler design implementation.
3. To make students familiar with lexical analysis and parsing techniques.
4. To understand the principles of code optimization techniques.
5. To provide fundamental knowledge of various language translators.

Student will be able to


1. Demonstrate the functioning of a Compiler.
Learning
Outcomes 2. Design and implement the prototype compiler.
3. Apply various optimization techniques.
4. Use different compiler construction tools.
Unit 1 Introduction To Compilation And Lexical Analysis 9 Hours
Introduction to programming language translators, classification of
programming languages, overview of various programming language
translators, Compiler Vs. Interpreter, cross compiler, bootstrap arrangement,
logical phases of compiler, pass Vs. phase-cousins of compilers, Lexical
Analysis phase: - Design issues-patterns, lexemes, Tokens-attributes-
specification of tokens, Regular expressions-Overview of automata- Thompson
construction NFA-DFA-minimized DFA-lexical errors- Lex.

Unit 2 Syntax Analysis 9 Hours


Role of parser- Formal definition of grammars; BNF and EBNF -Parse Tree-
Ambiguity- Elimination of ambiguity- Top down parsing: Recursive-Descent
parsing, Non- recursive predictive parsing; LL(1) grammars, Bottom-Up
parsing:- Shift-Reduce parsers, Operating precedence parsing: design of
operator precedence table, parsing –LR parsers:- Construction of SLR parser
tables and parsing , CLR parsing-LALR parsing- Syntax errors-YACC.

Unit 3 Semantics & Runtime Environments 9 Hours


Syntax Directed Translations: Syntax-directed definitions, Translation
Schemes, construction of syntax trees, DAG’S- bottom-up evaluation of s-
attributed definitions, l-attributed definitions; Run-time environments: Source
Course Outlines language issues, storage organization, storage-allocation strategies, symbol
tables: local and global operations; data types; type checking models; semantic
models of user -defined types; parametric polymorphism; subtype
polymorphism; type-checking algorithms.

Unit 4 Intermediate Code Generation & Optimization 9 Hours


Intermediate languages, Three Address code: declarations, assignment
statements, addressing array elements, Boolean expressions, case statements,
back patching. Code optimization: The principle source of optimization,
optimization of basic blocks, Loop optimizations.

Unit V Code Generation & Other Translations Issues 9 Hours


Issues in the design of a code generator, the target machine, Reducing the
memory access times by exploiting addressing modes- peephole optimizations,
basic blocks, DAG’s- Iterative vs. recursive interpretation; Elements of
Assembly language- assemblers- Passes of an assembler-Macros- design of
macro processors- passes of a macro processor.
Text Books:

1. A. V. Aho et al, Compilers: Principles, techniques, & tools, Second


Edition, Pearson Education, 2007.

Reference Books:

1. K. D. Cooper and L. Torczon, Engineering a compiler, Morgan Kaufmann,


2004.

Text books and 2. Steven S.Muchnick “Advanced Compiler design implementation”


Reference books Elsevier Science India.
3. D.M. Dhamdhere “Systems programming and operating systems” Tata
McGraw - Hill Pub.
4. Randy Allen, Ken Kennedy, “Optimizing Compilers for Modern
Architectures: A Dependence-based Approach”, Morgan Kaufmann
Publishers, 2002.
5. Charles N. Fischer, Richard. J. LeBlanc, “Crafting a Compiler with C”,
Pearson Education, 2008.

You might also like