0% found this document useful (0 votes)
23 views17 pages

2024 CSN352 Lec 1

This document summarizes the first lecture of a Compiler Design course. It provides information about the course structure, including that it is a 4 credit course meeting for 3 hours of lecture and 1 hour of tutorials per week. Performance will be evaluated based on classwork, midterm, and final exam. The syllabus and schedule are outlined. The document also introduces compilers and their role in translating between programming languages, as well as classifications of programming languages. It lists textbooks and outlines the topics to be covered in the first module on the translation process and phases of a compiler.

Uploaded by

Abhinav Singh
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)
23 views17 pages

2024 CSN352 Lec 1

This document summarizes the first lecture of a Compiler Design course. It provides information about the course structure, including that it is a 4 credit course meeting for 3 hours of lecture and 1 hour of tutorials per week. Performance will be evaluated based on classwork, midterm, and final exam. The syllabus and schedule are outlined. The document also introduces compilers and their role in translating between programming languages, as well as classifications of programming languages. It lists textbooks and outlines the topics to be covered in the first module on the translation process and phases of a compiler.

Uploaded by

Abhinav Singh
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/ 17

INDIAN INSTITUTE OF TECHNOLOGY ROORKEE

CSN-352: Compiler Design

Lecture 1: Introduction

Dr. Sudip Roy (a.k.a., SR)


Department of Computer Science & Engineering
Course Information:
• This is a course of Four (4) credit. It consists of Three (3) lecture hours
per week and One (1) hour tutorial.

• To introduce students to the techniques used in designing and writing


compilers. There will be coding projects for in-depth understanding of the
techniques towards software development involving compilers and cross-
compilers.

• We will try to stick to the basic course outline as given in Syllabus but
may deviate a bit.

• Prerequisite: Nil

• Performance Evaluation: Class Work Sessional (CWS) = 25%, Mid-Term


Exam (MTE) = 25%, End-Term Exam (ETE) = 50%. CWS (25% marks)
will be computed by a weighted sum of different components.
2
Syllabus:

3
Course Information:
• Three components of CWS (25% marks):
1. Tutorial Classes (TC):
a. Every week a Tutorial Sheet will be given on the topics covered in the lecture classes
in the previous week.
b. To be solved in tutorial class and weekly performances will be recorded.
c. These are not tests or quizzes. So, if you miss any tutorial class, then no
rescheduling is possible. On average your performances in all the tutorial classes will
be recorded and total weightage of this component will be ≤ 4%.
2. Coding Projects (CP):
a. There will be two coding projects in the whole semester. Some coding problems will
be given to be solved as homework. One will be based on your creative thinking.
b. A short report on using that software and solving that problem will be required to
submit.
c. Create a group of maximum of 3 members to complete these CPs.
2. Quizzes (QZ):
a. Quizzes will be conducted throughout the semester, which may be of “surprise
quizzes” nature.
b. To be solved during that class only.
a. CWS will be computed by a weighted sum of different components like (TC, CP and QZ).

4
Online Course Management:
• Course Website:
http://faculty.iitr.ac.in/~sudiproy.fcs/teaching.html

• MS Teams Course site:


– [Spring 2023] CSN352: Compiler Design
– Team code: f580xq3

• Any Assignment Submission should be made through MS Teams course


site only.

For any kind of doubt clearing (communication):


• Contact me over MS Teams or Email
• Take an appointment for a discussion

5
Textbooks:

• Keith D. Cooper and Linda Torczon, Engineering a Compiler, 2nd Edition,


Morgan Kaufmann, 2012.

• Reinhard Wilhelm, Helmut Seidl and Sebastian Hack, Compiler Design:


Syntactic and Semantic Analysis, Springer-Verlag Berlin Heidelberg, 2013.

• O.G. Kakde, Compiler Design, 4th Edition, University Science Press, 2014.

6
Other books:

• S. Muchnick, Advanced Compiler Design and Implementation, Morgan


Kaufman, 1997.

• A. Aho, R. Sethi and J. Ullman, Compilers: Principles, Techniques and


Tools (The Dragon Book), Addison Wesley, 1988.

7
Outline of Module 1:

● Introduction to the translation process


● Phases of the compiler
● Compiler tools

8
Language is for Communication:

9
Compiler:

10
Jobs of a Compiler:

11
Evolution of Programming Languages:

12
Evolution of Programming Languages:

13
Programming Languages:

14
Programming Languages Classification:

15
What is a Compiler?

• A program that reads a program written in one language and


translates it into another language.

Source language Target language

• Traditionally, compilers go from high-level languages to low-


level languages.

16
Next Class…

17

You might also like