Rajiv Gupta
CS 152: Compiler Design
Instructor: Professor Rajiv Gupta
Office: WCH, Room 408
Email: gupta@cs.ucr.edu
Office Hours: Available by appointment
TA: Chengshuo Xu
Office: WCH, Room 463
Email: cxu009@ucr.edu
Office hours: Available by appointment
Meeting Times:
- (Lectures) MWF, 3:00pm - 3:50pm
- (LAB) Thursday, 11:00am-1:50pm; Friday, 8:00am-10:50am
Class Homepage: http://www.cs.ucr.edu/~gupta/teaching/152-21w/
- Lexical Analyzer (1/08/21 -- 1/22/21)
- Syntax Analyzer (1/22/21 -- 2/19/21)
- Code Generator (2/19/21 -- 3/12/21)
|
Course Description
This course covers the fundamentals of compiler design, including lexical analysis, parsing, semantic analysis, compile-time memory organization, run-time memory organization, code generation, and compiler portability issues. Laboratory work involves a project and exercises covering various aspects of compilers. For detailed syllabus click here.
Text book
- Kenneth C. Louden. Compiler Construction: Principles and Practice. PWS Publishing Co., 1997.
References
- Aho, Lam, Sethi, and Ullman. Compilers: Principles, Techniques, and Tools, 2/E. Addison-Wesley Publishing Co.
- Cooper and Torczon. Engineering a Compiler. Second Edition. Morgan Kaufmann Publishers.
- Fischer and LeBlanc. Crafting A Compiler With C. Benjamin/Cummings Publishing Co.
Course Requirements
- Project - 35% (Lex: 10%; Parser: 12%; CodeGen: 13%)
- Midterm - 30% (2/05/2021, 3:00pm - 3:50pm)
- Final - 35% (3/15/2021, 7:00pm - 10:00pm)
Policies
- You are responsible for all material covered in the lectures and labs.
- Cheating, fabrication, plagiarism, and unauthorized collaboration (or facilitating any of these) will result in severe penalties and sanctions.
- Examinations must be taken on the date they are given. There will be no exceptions unless you have a very good reason and have received permission well in advance of the date of the
examination.