This course will teach the basic concepts of compiler design and construction. The material overviews lexical and syntax analysis, scopes, type checking, intermediate code generation, assembly code generation, optimizations, and runtime considerations. It highlights main techniques and skills required to successfully implement a compiler for a C-like language.
PrerequisitesThe course 'Automata and Formal Languages' (236353) is a prerequisite for Theory of Compilation. You must pass at least one final exam of 236353 in order to be registered. If you passed Moed A but failed Moed B, contact the lecturer to get approval to register. If this is your last semester, you must include a letter from the secretariat confirming that when contacting the lecturer.
Grade policy - (Might change during first week of semester)
- 5% MAGEN: One dry and one wet homework assignment (2.5% each).
- 20% TAKEF: Three wet assignments:
- Lexical analysis and flex (2%)
- Introduction to Bison (6%)
- Translation to assembly (12%)
- 75%: final exam. You must pass the final exam to pass the course.
Individual extensions on homework assignments will be given only in case of MILUIM or hospitalization. To receive an extension you must contact the TA in charge of the assignment before its submission date. Late dry assignments should be turned in to the TA's mailbox, with an ISHUR MILUIM or hospitalization attached. Late wet assignments should be submitted via GR and the ishur by email to the TA.
Excepting MILUIM, late dry assignments will not be accepted.
Late wet assignments will be accepted with a penalty of 10 points per day late, for a maximum of 3 days . Friday + Saturday are counted as one day.
Individual extensions will not be granted for reasons of work, assignments in other courses, project deadlines, etc.
All extension/postponement requests should be submitted at least 4 hours before the submission deadline. Retro-active extensions will not be approved.
- Until the resubmission deadline published when grades are returned
- If the assignment has passed all tests provided with the exercise
- At a penalty of 15 points for resubmitting, and additional penalty by the size of the diff as follows:
- First 4 lines of diff are free
- Each additional line of diff: -3 points
Previous homework grades will NOT be transferred.
Previous homework grades
We highly recommend doing the homework as a mean of achieving a better understanding of the course material. Also, the homework grades may reduce the probability that the final grade will not properly reflect the student's knowledge of the course material.
Students who had taken the course in Spring 2018 or Winter 2018/9 and submitted all hw assignments, can ask for HW PTOR and get the final grade according to the exam only . Any student interested in this option should make sure that he/she has submitted all assignments and his/her grade for each one was at least 70, and should contact the TA in charge, within the first 2 weeks of the current semester, and state that he/she wants to choose this option.
MOED GIMMEL will only be given to those who did MILUIM, according to the guidance in the catalog. Those eligible who would like to have a special exam must notify the lecturer about it before MOED BET is held.