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

Compiler Design

Uploaded by

yashwanth u
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

Compiler Design

Uploaded by

yashwanth u
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 7

COMPILER

DESIGN
Course Code : 6CS1013
Syllabus

Compiler Structure and Lexical Analysis: The evolution of Programming Languages, Analysis
of the source program, Phases of a compiler, grouping of phases, compiler writing tools –
Module -I
bootstrapping. The role of Lexical Analyzer, Input Buffering, Specification of Tokens using Regular
Expressions, Recognition of Tokens, Symbol Table.
Syntax Analysis: Role of the Syntax Analyzer – Syntax error handling. Review of Context Free
Module - Grammars - Parse Trees and Derivations, Eliminating Ambiguity. Basic parsing approaches -
II Eliminating left recursion, left factoring. Top-Down Parsing - Recursive Descent parsing, Predictive
Parsers, LL(1) Grammars.
Bottom-Up Parsing: Handle Pruning. Shift Reduce parsing – Operator precedence parsing
Module -
Concepts only. LR parsers – Constructing SLR parsing tables, Constructing Canonical LR parsing
III
tables and Constructing LALR parsing tables, Parser Generators.
Syntax Directed Translation, Intermediate Code Generation and Run-Time
Environments: Syntax directed definitions, S-attributed definitions, L-attributed definitions,
Module - Bottom-up evaluation of S-attributed definitions. Intermediate Code Generation - Intermediate
IV languages, Graphical representations, Three-Address code, Quadruples, Triples, Type Checking,
Run-Time Environments - Source Language issues, Storage organization, Storage-allocation
strategies, Introduction to Garbage Collection,
Code Generation and Code Optimization: Code Optimization - Principal sources of
Module - optimization, Machine dependent and machine independent optimizations, Local and global
Bloom’s
Course
CO Statement Taxonomy
Outcome
Level

Explain the concepts and different phases of compilation with


1 3
compile time error handling.

Design lexical analyzer for a language and represent language


2 3
tokens using regular expressions, context free grammar.

Compare top down with bottom-up parsers and develop appropriate


3 3
parser to produce parse tree representation of the input.

Design syntax directed translation schemes for a given context free


4 3
grammar.

Apply optimization techniques to intermediate code and generate


5 3
machine code for high level language program.
Textbooks
Aho A. Ravi Sethi and D Ullman. Compilers – Principles Techniques and Tools,
1. Addison Wesley, 2006.

Andrew W. Appel. Modern Compiler Implementation in C. Cambridge University


Press.
2.

Reference books

Kenneth C. Louden, Compiler Construction – Principles and Practice,


1.
Cengage Learning Indian Edition, 2006.
Allen I. Hollub, “Compiler Design in C”, PHI Learning, 2009. ISBN: 978-
2.
8120307780
Tremblay and Sorenson, The Theory and Practice of Compiler Writing,
3.
Tata McGraw Hill & Company,1984.
NPTEL - SWAYAM
• Course layout
• Week 1 : Introduction
Week 2 : Lexical Analysis
Week 3 : Parsing – Part I
Week 4 : Parsing – Part II
Week 5 : Parsing – Part III
Week 6 : Syntax Directed Translation
Week 7 : Type Checking and Symbol Tables
Week 8 : Runtime Environment Management – Part I
Week 9 : Runtime Environment Management – Part II
Week 10 : Intermediate Code Generation – Part I
Week 11 : Intermediate Code Generation – Part II
Week 12 : Intermediate Code Generation – Part III
Date and Time of Exams: May 4, 2025 Morning session 9am to
12 noon; Afternoon Session 2pm to 5pm.

• CRITERIA TO GET A CERTIFICATE

Average assignment score = 25% of average of best 8 assignments


out of the total 12 assignments given in the course.

Exam score = 75% of the proctored certification exam score out of


100

Final score = Average assignment score + Exam score


YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF
AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM
SCORE >= 30/75.

If one of the 2 criteria is not met, you will not get the
certificate even if the Final score >= 40/100.

You might also like