ECE516: Compiler Design (Spring 2014)
Announcements
- (05/30) Final exam schedule
- Date & Time: Friday, June 13, 9:30 am ~ 11:30 am
- Place: EB2 511
- (05/14) Make-up class schedule
- Friday 05/30, 10:00 ~ 11:40
- Friday 05/30, 19:10 ~ 20:50
- Tuesday 06/03, 19:10 ~ 20:50
- (05/12) No class today (as already announced via email)
- (02/20) No class on Monday, March 3.
Course Overview
This course will cover i) basic compiler flow and compiler optimizations and ii) compiler front-end such as lexer and parser. To emphasize practical and nontechnical skills which are often as important in the field as technical knowledge, a project and paper seminar are also included in the course. Details are subject to change.
Meeting Times and Place
- Lecture: MW 10:30~11:45 @ EB2 511
Instructor
Textbook
- Compilers: Principles, Techniques, and Tools (2nd ed.), by A. Aho, M. Lam, R. Sethi, and J. Ullman, Prentice Hall, 2006.
References
- Advanced Compiler Design and Implementation, by S. Muchnick, Morgan Kaufmann, 1997.
Grading Policy (tentative)
- 20% seminar (paper presentation + summary + participation), 30% project, 40% final exam, 10% class participation
Lecture Notes
- Day 1
- Ch. 1
- Ch. 2
- Ch. 8 (updated 03/18)
- Ch. 9 (updated 04/06)
- Ch. 10 (updated 05/28, after class)
- Ch. 11 (updated 05/30)
HOMEWORK
- #1 (due April 14, before the lecture)
- Dragon book exercise 8.2.2 (a,c) on p.516
- Dragon book exercise 8.5.1 on p.541
- Dragon book exercise 8.5.2 on p.541
- Identify basic blocks from the three-address code of Figure 9.2 using the algorithm given in the text book, and make the flow graph.
Recommended Exercises
- Ch 1: (1.2) (1.4) (6.1) (6.3) (6.4)
- Ch 2: (2.1) (2.2) (2.3) (3.2) (4.1)
- Ch 8: (2.1) (2.2 a/c) (2.3) (2.6 a/c/e)
Participation Record
The instructor will keep a record of offline participation as defined below ("offline" means during class).
What is counted as offline participation
- Asking question(s) to the instructor
- Answering someone else's question
- Answering instructor's question may or may not be counted depending on the difficulty of the question and/or creativity of the answer
- Asking questions after/before the class is not counted (as it has little value to classmates)
- Participation before March 12 is not counted (as the system was not ready)
- Participation during make-up class is counted
- This list may be extended/updated
Record (for offline participation)
Date |
Notable Participation |
Special Note |
3/12 |
CBJeong |
(asking question during lecture) |
3/17 |
DNguyen |
(asking question during lecture) |
3/19 |
DNguyen |
(selected as Best Questioner, on March 26) |
3/24 |
HSLee |
(selected as Best Questioner, on March 26) |
3/26 |
CBJeong |
(selected as Best Questioner, on March 31) |
3/31 |
YMEom |
(selected as Best Questioner, on April 2) |
4/02 |
CBJeong |
(selected as Best Questioner, on April 7) |
4/09 |
CBJeong, HSLee |
(selected as Best Questioner, on April 14) |
4/16 |
DNguyen |
(sole questioner; automatically the Best Questioner) |
4/28 |
DNguyen |
(sole questioner; automatically the Best Questioner) |
5/30 |
JYYun |
(selected as Best Questioner, on May 30 -- in evening make-up classs) |
5/30 |
DNguyen |
(sole questioner of the evening class; automatically the Best Questioner) |
- Notes
- The record here is not meant to be very precise/quantitative; rather, its main purpose is to acknowledge and encourage participants
- The scope of record keeping may be extended later to discussions, project presentations, etc. (just an idea at this point)
- Voting results
- (04/02) 6 4 7 1 8 7 3 4 1 1
Student Presentations
- (04/09) Reaching Definitions (Dragon book 9.2.4) - DNguyen & HSLee
- (04/14) Live-variable analysis (Dragon book 9.2.5) - WHChoi & HSChoi
- (04/14) Available expressions (Dragon book 9.2.6) - JWKim & WHKim
- (05/30) Loops in Flow Graphs (Dragon book 9.6; section 9.6.7 is optional) - WBKim & YMEom
- (06/02) Basic-block scheduling (=list scheduling) (Dragon book 10.3) - EBJo & JYYun
- (06/03) Global code scheduling (Dragon book 10.4; section 10.4.5 and later are optional) - SMHong & GHLee
- (06/09) Software pipelining (Dragon book 10.5; section 10.5.10 and later are optional) - CBJeong & TKYoo
- Note: Students other than those giving a presentation must submit a summary of the topic. Handwriting is okay (but not required) for the summary. This applies to 5~7 in the above.
Calendar
Q&A Forum
- The Bb Q&A Forum is where students can ask and answer questions though it will also be moderated by TA and instructor.