CS 3300 - Language Translators
Goal of the course:
At the end of the course, students will have a fair understanding of some standard passes in a general purpose compiler. Students will have hands on experience on implementing a compiler for a subset of Java.
Slides for the Lectures:
- Theory (CS 3300) Time and Place: Wed (11.00-11.50am), Thu (9.00-9.50am), Fri (8.00-8.50pm), F slot. Class room # CS 24.
- Lab (CS 3310) Time and Place: Tuesday (2.00-5.00pm), Q slot. Class room # CS 24, DCF
- Teachers : V. Krishna Nandivada
- Office hours / Doubt sessions : Monday 4-5PM
- Theory TAs : A Raghesh (raghesh AT cse.iitm.ac.in)
- Lab TAs : Suyash Gupta (suyash @ cse.iitm.ac.in), T Raja (trs @ cse.iitm.ac.in), Nitin Patil (ntini @ cse.iitm.ac.in) Vamshi Surabhi (svrao @ cse.iitm.ac.in), Manas Thakur (email@example.com), Aashima Bhatia (firstname.lastname@example.org); Abhilash Bhandari (overall coordination).
- TA Office hours / Doubt sessions : Fix a time by sending an email.
- Course outline.
- Theory Discussion website is here (access restricted).
- Book 1: Compilers: Principles, Techniques, and Tools, Alfred Aho, Monica Lam, Ravi Sethi, Jeffrey D. Ullman, Addison-Wesley, 2007
- Book 2: Modern compiler implementation in Java, Second Edition, Andrew W. Appel, Jens Palsberg, Cambridge University Press, 2002.
- Reference 1: Computer Organization and Design: The Hardware/Software Interface, David Patterson and John Hennessy, Morgan Kaufmann, 1998
- Reference 2: The Java programming language, Ken Arnold, James Gosling and David Holmes, Addison-Wesley, 2000.
Lab CS3310 : The 'N'Wizard Tournament
- --- all dates --- Acknowledgements
- July 31, Aug 1, 2 2013. Introduction and Lexical Analysis.
- Aug 7, 8, 12a, 12b, 14, 16, 28, 29, Sep 4 5 2013. Parsing.
- Aug 28, 29 2013. Symbol Tables and Type Checking.
- Sep 6, 11, 12, 13 2013. Syntax Directed Translation, Syntax tree generation by SDT
- Sep 17, 18, 19, 20 2013. IR and IR Generation
- Sep 25, 26, 27, Oct 01, 03 2013. Runtime management
- Oct 4, 11, 17 2013 - Basic blocks, Flow graphs and control flow analysis.
- Oct 8a, 8b, 9, 10 2013 - Register allocation. Paper on linear scan register allocation.
- Oct 18, 23, 24 2013 - Optimizaitons in Basic Blocks.
- Oct 30, 31 2013 - Code Generation (Instruction selection).
- Nov 1, 6, 7 2013 - Advanced topics in optimizations (including global optimizations, machine independent optimizations).
- Assignment 1 details (10%). Set date: Sep 02. Due date: Sep 16 (11.59am).
- Assignment 2 details (10%). Set date: Oct 26. Due date: Nov 8 (11.59am).
Thu Oct 24 16:13:53 IST 2013
- Midterm exam (40%) on Sep 21 2013. Closed book, closed notes, closed neighbor. sample solution.
- Final exam (40%) on Nov 26th 2013. Closed book, closed notes, closed neighbor. sample solution.