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

6CS1013_CompilerDesign_Syllabus

The Compiler Design course (6CS1013) aims to teach students the fundamental techniques of compiler construction, covering topics such as lexical analysis, parsing, syntax-directed translation, and code generation. It includes a comprehensive syllabus with modules on compiler structure, syntax analysis, intermediate code generation, and optimization techniques. The course is designed for students with prerequisites in programming languages and formal languages, and it includes both theoretical and practical components to enhance understanding of compiler design.

Uploaded by

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

6CS1013_CompilerDesign_Syllabus

The Compiler Design course (6CS1013) aims to teach students the fundamental techniques of compiler construction, covering topics such as lexical analysis, parsing, syntax-directed translation, and code generation. It includes a comprehensive syllabus with modules on compiler structure, syntax analysis, intermediate code generation, and optimization techniques. The course is designed for students with prerequisites in programming languages and formal languages, and it includes both theoretical and practical components to enhance understanding of compiler design.

Uploaded by

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

Course Title Compiler Design CREDITS 4

2-1-2-
L T P S C CH
Course Code 6CS1013 Course Category Core 0-4
2 1 2 0 4 5

Version 1.1 Approval Details ACM LEARNING LEVEL – BTL3

Discrete Mathematics, Data


Structures, Programming Language
Co-requisite Nil Pre-requisite
in C/C++/Java, Formal Languages
& Automata Theory.
Course
Dr. Anoop Kumar Srivastava
Coordinator
The course is intended to teach the students the basic techniques that underlie the practice
of Compiler Construction. This course will introduce the theory to perform syntax-directed
translation of a high-level programming language into an executable code. This course will
discuss the major ideas used today in the implementation of programming language
Course
compilers, including lexical analysis, parsing, syntax-directed translation, abstract syntax
Description
trees, types and type checking, intermediate languages, program optimization, code
generation, and runtime systems. As a result, students will learn how a program written in a
high-level language designed for humans is systematically translated into a program written
in low-level assembly more suited to machines.
 To provide a thorough understanding of the internals of Compiler Design.
Course  To develop the skills to systematically translate high-level language programs into
Objectives low-level assembly code, understanding the transition from human-readable code to
machine-executable code.
Bloom’s
Course
CO Statement(MAX 5 OUTCOMES) Taxonomy
Outcome
Level
Explain the concepts and different phases of compilation with compile
1 3
time error handling.
Design lexical analyzer for a language and represent language tokens
2 3
using regular expressions, context free grammar.
Compare top down with bottom-up parsers and develop appropriate parser
3 3
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 machine
5 3
code for high level language program.
Course Syllabus
Module Name Contact Hours: 45
Compiler Structure and Lexical Analysis: The evolution of Programming
Module -I Languages, Analysis of the source program, Phases of a compiler, grouping of phases,
compiler writing tools – 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 Grammars - Parse Trees and Derivations, Eliminating Ambiguity. Basic
Module -II parsing approaches - 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
Module -III parsing Concepts only. LR parsers – Constructing SLR parsing tables, Constructing
Canonical LR parsing 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, Bottom-up evaluation of S-attributed definitions. Intermediate Code
Module -IV Generation - Intermediate 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
optimization, Machine dependent and machine independent optimizations, Local and
Module -V global optimizations. Code generation - Issues in the design of a code generator, Target
Language, A simple code generator.
Self-Study topics for Advanced Learners
1. Just-In-Time (JIT) Compilation and Optimizations.
2. Compiler Support for Parallelism and Heterogeneous Computing.
Textbooks
Aho A. Ravi Sethi and D Ullman. Compilers – Principles Techniques and Tools, Addison
1.
Wesley, 2006.
Andrew W. Appel. Modern Compiler Implementation in C. Cambridge University Press.
2.

Reference books
Kenneth C. Louden, Compiler Construction – Principles and Practice, Cengage Learning
1.
Indian Edition, 2006.
2. Allen I. Hollub, “Compiler Design in C”, PHI Learning, 2009. ISBN: 978-8120307780
Tremblay and Sorenson, The Theory and Practice of Compiler Writing, Tata McGraw Hill
3.
& Company,1984.
E Books
https://theswissbay.ch/pdf/Gentoomen%20Library/Programming/Compiler/Aho%20-
1.
%20Compilers%20-%20Principles%2C%20Techniques%2C%20and%20Tools%202e.pdf
Coursera Credit Course
1. https://www.coursera.org/learn/nand2tetris2
Online Resources
1. https://archive.nptel.ac.in/courses/106/105/106105190/
Case Studies
Analyze and evaluate the optimization techniques used in compilers like GCC, LLVM, or
Java Virtual Machine.Applications: Understanding how compilers reduce execution time
1.
and memory usage, making them critical for performance-intensive systems like gaming or
AI-based applications (BTL4).
Investigate how JIT compilers like the V8 Engine (used in Google Chrome) translate
JavaScript into machine code at runtime.Applications: Demonstrates the practical role of
2.
compilers in improving web performance and responsiveness in applications like Gmail or
Google Maps(BTL4).

CO-PO MAPPING
COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3
CO1 2 2 3 3 3 - 2 2 - - 3 3 2 2 3
CO2 3 3 3 2 2 3 3 3 2 3 2 2 2 -
CO3 1 2 3 3 2 3 2 2 3 3 1 3 1 3 3
CO4 3 2 2 - 3 2 2 3 2 2 3 2 3 2 1
CO5 - 2 2 2 3 2 3 2 1 1 - 2 3 3 2

CO-SO MAPPING:
Course Student Outcomes(EAC) Student Outcomes (CAC)
Outcomes SO1 SO2 SO3 SO4 SO5 SO6 SO7 SO1 SO2 SO3 SO4 SO5
CO1 2 - 1 1 - - - 1 2 - -
CO2 3 - - 2 - 2 1 2 2 - 3
CO3 2 1 1 1 2 2 3 2 1 2
CO4 2 - - 2 - 2 1 3 2 2 - 3
CO5 3 1 - 2 - 2 2 3 2 - 2

DSA Components:
Component Marks Frequency
Mid Semester Lab Exam (MSE Lab) 15 1
Attendance 5 1

Verified by the Course Coordinator


Name:
Signature
Date:

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy