Dear Students,
Welcome to the course CSE331+332 (Compiler Design Theory+Lab) !! Myself Md. Sabab Zulfiker. I am looking forward to the opportunity so we will have to learn and grow together in this course. I always believe that your success is most important to me as a teacher. Please don’t hesitate to contact me in case of having difficulties with the course materials and any other academic problems. To smooth this operation, general questions related to the courses should be posted on the Discussion Forum. If you have any question for which you are not interested to post in Forum, then you can send your query via email for a quick response. My contact information is mentioned below. Success in an online class requires just as much work and effort as success in a traditional classroom. Lastly, I am expecting much cooperation from all of you. Hope we will enjoy this journey joyfully.
Stay safe and healthy. Thanks all of you for joining with this course.
Best Regards,
Md. Sabab Zulfiker
Instructor:
Name: Md. Sabab Zulfiker
Designation: Lecturer
Office: Room: 509-AB4, Department of CSE, DIU-PC
Phone: 01716033198
Email: sabab.cse@diu.edu.bd
Course Rationale:
The course is intended to teach the students the basic techniques that underlie the practice of Compiler Construction. The course will introduce the theory and tools that can be standard employed in order to perform syntax-directed translation of a high-level programming language into an executable code.These techniques can also be employed in wider areas of application, whenever we need a syntax-directed analysis of symbolic expressions and languages and their translation into a lower-level description. They have multiple applications for man-machine interaction, including verification and program analysis.
Course Objective:
The main objective of this course is to introduce the major concept areas of language translation and compiler design and to develop an awareness of the function and complexity of modern compilers. This course is a study of the theory and practice required for the design and implementation of interpreters and compilers for programming languages.
Course Outcomes (CO’s): After successful completion of this course, the students should be able to
Theory Course
Lab Course
Class Attendance: 7%
Class Attendance: 10%
Class Tests/Quizes: 15%
Lab Submissions: 40%
Assignment: 5%
Lab Performance: 25%
Presentation: 8%
Report Submission: 25%
Midterm Examination: 25%
Final Examination: 40%
OBE Based Theory Course Outline [View]
OBE Based Lab Course Outline [View]
Text Book:
1. Compiler Principles, Techniques and Tools By Aho, Ullman, Sethi [Download]
Reference Books:
1. Implementations of Compiler, A new approach to Compilers including the algebraic methods By Yunlin su, Song Y. Yan. [Download]
2. Compiler construction, Principles and Practice, By Kenneth C Louden. [Download]
3. Basics of Compiler Design by Torben. [Download]
Discussion Topics:
Expected Learning Outcomes:
Resources of Learning:
Lecture Slide (Phase of a Compiler)
Write the code for implementing strtok() using LOOPs
2.
Derive the string "abracadra" using LMD and RMD and show whether it is ambiguous or not.3. Derive the string "baaabbabba" using LMD and RMD and show whether it is ambiguous or not.
3.
Remove Extra whitespace from the input source code, consider ' '-single space character and '\t'- Tab character both
Remove both BLock Comment and Line Comment from a source Code
Topics Covered for Midterm Examination
(1) Download the Question paper (pdf) and answer script template (doc) from DIU BLC
(2) Write responses in the answer script template either typed or handwritten
(3) Save the answer script template as pdf e.g. CSE331-PC-C-111-15-1234-mid.pdf (Course Code-Section-Student ID-mid)
Download the question
Topics Covered for Final Examination