University of Haifa
Theory of Compilation
Spring 2012
Announcements
- 01/06/12: updated grades of MOED B and final grades as well
- 01/06/12: MOED B grading policy: policy
- 01/06/12: published final grades after exam B
- 01/06/12: published final grades of assignments
- 01/06/12: MOED A grading policy: policy
- 01/06/12: published grades for assignment 3 (grading policy: policy, benchmarks tests)
- 01/07/12: hw3 submission date postponed to 09/07/2012
- 17/06/12: hw3 submission date postponed to 30/06/2012
- 16/06/12: guidelines for hw3 txt
- 11/06/12: hw3 submission date was postponed to 24/06/2012
- 01/06/12: published grades for assignment 2 (grading policy: policy, benchmarks tests)
- 26/05/12: published grades for assignment 1
- 24/05/12: FYI, added a useful link to an online compiler (applet) with couple of source code examples (see 'Tools' section)
- 16/05/12: assignment 3 is published, good luck
- 02/05/12: slight modification to requirement 8 (page 2) hw2.pdf
- 02/05/12: hw2 submission date was postponed to 13/05/2012
- 29/04/12: for your convenience provided P-emulator to test your compiler's output (read activation instructions). Additionally, you can enable the WRITE command of mini-pascal as described here
- 23/04/12: a reception hour is scheduled on Tue 24/04/12 at 15:00 (102 Jacobs)
- 23/04/12: regarding HW2, use "ldo x;" instead of "ldc x;ind;". And use "CodeR(e);sro x;" instead of "CodeL(x);CodeR(e);sto;"
- 19/04/12: this is how CASE statement represented in AST: Figure
- 15/04/12: PAY ATTENTION assignment 2 has been modified, please download it once again. The code didn't change, so you can keep working on your previous Eclipse workspace
- 04/04/12: assignments 1, 2 are published
Staff
Lecturer: Prof. Yosi Ben Asher
TA: Bilal Saleh
Times & Locations
Lectures: Sunday 12-14, Main 715 -AND- Wednesday 08-10, Main 712
Tutorials: Sunday 14:00-16:00, Main 712 -OR- Tuesday 16-18, Main 611
Reception hour: Tuesday 18:00-19:00 at Jacobs 102 (please coordinate by email with the TA)
Regulations
- The final grade will be 30% homework assignments, 70% final exam
- Failing the exam (51) is failing the course, regardless of homework grades
- The grade for late submissions will be reduced by 15% per week
- Homework submission must be in triples or pairs, and sent by email to the TA
- All submitted files must be in one ZIP file named comp#_id1_id2_id3.zip where # is the homework number,
and id1/id2/id3 are the submitters ID numbers. The subject of the email should be the same (without the .zip).
For example: if my ID is 1234 and my partner's ID is 9999, and we are submitting the second assignment,
our file name will be comp2_1234_9999.zip and the subject will be comp2_1234_9999
- Homework bonuses account only for the homework grade, not the grade of the exam
Material & Links
Syllabus: here
Sample exam: here
Some examples from class: here
Lecture slides:
- Introduction and Optimizations
- Grammar
- Compiling Simple Assignments
- Compiling Control Flow Statements
- Memory Allocation
- Handling Procedures
- Instructions Scheduling: ppt
Tutorial slides:
Note: please print a lot of slides per page, double sided - to avoid waste of paper! Thank you.
- Introduction and Optimization: 4pp, 1pp, Optimization Riddles
- Formal languages: 4pp, 1pp
- Grammers: 4pp, 1pp
- Working with JLex & CUP: 1pp
- Assignments code-generation (rehearsal)
- Control-flow (if, while, case) code-generation
- Static arrays
- Arrays Bound Checking, Dynamic arrays, Records, Pointers, Complex Pointers Expressions
- Procedures/Functions
Additional material:
- Code generation
- P-machine specification
- Instruction scheduling
- List scheduling
- HW2
- HW3
- solutions for the test-example (by Ofir)
Links:
Tools
Homework Assignments
- Assignment 1: doc, pdf. To be submitted until 29/04/2012 at 14:00. By snail mail, Jacobs, floor2, box 32
- Assignment 2: To be submitted until 13/05/2012 at 14:00. By e-mail
- Assignment 3: To be submitted until 17/06/2012 at 14:00. By e-mail
Grades