0% found this document useful (0 votes)
32 views3 pages

CS F363 Compiler Construction L1

The document outlines the course details for CS F363: Compiler Construction for the second semester of 2023-2024, including objectives, topics covered, and evaluation scheme. Students will learn about compiler design, including lexical analysis, parsing, code generation, and optimization, with hands-on experience using tools like Lex/Flex and Yacc. The evaluation consists of mid-semester exams, assignments, and a comprehensive exam, with a strong emphasis on academic honesty and integrity.

Uploaded by

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

CS F363 Compiler Construction L1

The document outlines the course details for CS F363: Compiler Construction for the second semester of 2023-2024, including objectives, topics covered, and evaluation scheme. Students will learn about compiler design, including lexical analysis, parsing, code generation, and optimization, with hands-on experience using tools like Lex/Flex and Yacc. The evaluation consists of mid-semester exams, assignments, and a comprehensive exam, with a strong emphasis on academic honesty and integrity.

Uploaded by

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

SECOND SEMESTER 2023-2024

Course Handout Part II


Date: 09-01-2024
In addition to part-I (General Handout for all courses appended to the time table) this portion gives further
specific details regarding the course.

Course No. : CS F363


Course Title : Compiler Construction
Instructor-in-Charge : Dr. Raghunath Reddy M
Instructors : Dr. Jabez Christopher, Dr.Sameera Muhamed Salam,
K Simran, Akella Amruta, and Sandeep Ravikanth
Scope and Objectives of the Course:
This course is an introductory course to compiler construction. In this course, students will learn the important
basic elements of compilation to use the techniques effectively to design and build a working compiler. Topics
include lexical analysis, parsing techniques, syntax-directed translation, symbol table, intermediate code
generation, data flow analysis, code generation, code optimization, error detection, and recovery. Students will
also participate in small teams to develop the building blocks of a compiler through a compiler project.This
course also includes a lab to provide hands-on experience on tools for implementing a compiler using Lex/Flex,
and Yacc.

 Gain an understanding of how compilers translate source code to machine executable code.
 Utilize tools to automate compiler construction.
 Comprehend how to perform parsing (top down and bottom up).
 Be familiar with techniques for simple code optimizations.
 Have the knowledge to design, implement, and test a compiler for a simple language, to include:
o Implementing efficient mechanisms for lexical analysis.
o Creating a parse table from a Context Free Grammar.
o Implementing an efficient symbol table during the parsing phase.
o Perform elementary semantic analysis checks on an abstract syntax tree.
o Generating code for a target assembly language

Textbooks:
T1. Aho, Sethi and Ullman.Compilers Principles, Techniques, and Tools. Pearson Education. Low Price
Edition. Second Edition, 2007.

Reference books:
R1. Andrew Appel, Modern Compiler Implementation in Java.Cambridge University Press. (Foundation Books,
New Delhi.) Rev. Ed. 2000.
R2. VINU V. DAS, Compiler Design Using FLEX and YACC,Prentice-Hall India
Course Plan:
Chapter in
Lecture
Learning objectives Topics to be covered the Text
No.
Book
Introduction to Course.
1 To understand the context and use of a compiler. Structure and Components of T1 Ch1(1.2)
a compiler.
To identify tokens and lexemesand also to implement a Tokens, Lexer functionality,
lexer given a context-free grammar and its implementation
T1 Ch. 3
2
To list and identify various data structures that can be Data Structures for Symbol T1 Ch 2
used in the implementation of the symbol table Table Organization 2.7
To be able to compare and identify the proper use of Parsing, Parser Generator
T1 Ch. 4
the parsers based on the grammar. functionality
To be able to identify the appropriate parser given a Grammar Transformations for
context-free grammar different types of parsers
Notes
Top Down Parser / Recursive
3-13 descent parser, LL(1) parser
T1 Ch4
LL(1) Grammar
LL(1) Parse algorithm (4.4)
Computing first and follow sets
Bottom Up parsers -LR(0), T1 Ch4
CLR(1), SLR,LALR (4.5)
14-16 To be able to formulate their semantic grammar based Inherited and Synthesized
T1 Ch. 5
on the task. Attributes
17-20 To apply the knowledge of semantic grammar to 3AC, Syntax Trees, Translation
generate 3AC for various programming language of Expressions, Type Checking, T1 Ch. 6
constructs like if statements, loops, functions, etc. Control Flow
21-23 To be able to perform optimization given a high-level T1 Ch.
language program. Basic blocks, Flow graphs
8.4,8.5.1
To be able to apply appropriateoptimization under Directed Acyclic Graphs
different conditions. (DAG)
T1 Ch. 8.5

Loop optimizations

Global data flow analysis T1 Ch. 8.5


To understand the implementation of the back end of a Basic Blocks and Traces, Issues
24-26 compiler - Code Generation and Register allocation. in code generation, Approach to T1 Ch. 8
code generation
Evaluation Scheme:
Weightage Nature of
Component Duration Date & Time
(%) Component
Mid-semester Exam 90 Mins 28% 16/03 - 4.00 - 5.30PM Closed
Take
Assignment-1 12% Before Mid-sem Open
home
Take
Assignment-2 18% After Mid-sem Open
home
Comprehensive
180 Mins 42% 20/05 AN Closed
Exam

Mid-Semester grading: Minimum 40% weightage will be considered for the mid-sem grading.

Chamber Consultation Hour:TBA

Notices:All notices related to the course will be displayed on CMS.

Make-up Policy:
Make-upwill be granted only to genuine cases with prior permission.

Academic Honesty and Integrity Policy: Academic honesty and integrity are to be maintained by all the students
throughout the semester, and no academic dishonesty is acceptable.

INSTRUCTOR-IN-CHARGE
CS F363

You might also like