The objective of these courses is to learn basic principles and advanced techniques of compiler design. Both the courses will focus lexical analysis, syntactic analysis, semantic analysis, abstract syntax tree and code-generation as well as basic optimizations.
The initial part of both the courses will focus on the classic techniques of lexical analysis and scanning/screening, syntactic analysis like bottom-up and top-down parsing techniques, semantic analysis, type-checking, abstract syntax tree and code generation. The latter part will focus on intermediate representations and simple optimizations like register allocation and instruction scheduling.
A significant focus of these courses would be on designing and implementing parts of compiler for a subset of C++/Java. The language of implementation would be in C/C++/Java languages. There would also be effort to study modern compilers like LLVM in the form of mini-assignments.This is a sister course to CS3320+CS3423 being offered to B.Techs. This beginning level M.Tech/PhD course would have additional project work, a paper presentation, and some research component.
1st-Aug-2016 | Organization & Logistics, An Overview of Compilers PDF Acknowledgements Readings: ALSU, Ch.1 |
Rest of Lectures | In Google Drive. |
Activity | Weight |
---|---|
Class Participation and Attendance | 10% |
Gradiance | 10% |
Final Exam | 50% |
Project (3+5+12+10) | 30% |
Activity | Weight |
---|---|
Class Participation and Attendance and Gradiance | 10% |
Mini Prog. Assignments (LLVM) (2) | 10% |
Programming Exam | 25% |
End Term Exam | 25% |
Project | 30% |
Activity | Weight |
---|---|
Programming Assignments (Project) | 60% |
Mini Prog. Assignments (LLVM) | 15% |
Programming Exam | 25% |
Activity | Weight |
---|---|
Mid Term Exam | 15% |
End Term Exam | 25% |
Project + Mini Prog. Assignments (LLVM) | 25+10=35% |
Gradiance Homeworks | 10% |
Paper Presentation + Writeup | 10+5=15% |
Activity | Weight |
---|---|
Mid Term Exam | 15% |
End Term Exam | 20% |
Project + BackEnd | 20%+10%=30% |
Mini Prog. Assignments (LLVM) | 10% |
Gradiance Homeworks | 10% |
Paper Presentation + Writeup | 10+5=15% |