The assignments should be turned in no later than 08:59 on the dates listed below:
Assignment | Date |
---|---|
1 | November 13
![]() |
2 | January 8
![]() |
For every day that you hand in your assignment late we will subtract 1 point.
The assignments should be accompanied by separate documentation, preferably in PDF format. The documentation should reflect on how you handled the assignment; report on your approach and link it to the general theory of compiler construction as provided by the book and lectures. For instance, for assignment 1 you could indicate where you applied left factoring to make the original Asterix grammar LL(1) and provide an example grammar rule. It is important that you are explicit about the particular problems that you encountered; you must clearly describe them, your solution, used algorithms, and so on. Nevertheless, the documentation must be to the point and concise, so limit your writing to around 4 pages. The documentation will also be graded.
At the beginning of this practical course, you will receive mail that will give you information about who will be your instructor. He will grade your solutions and provide feedback.
Person | Email address | Room |
---|---|---|
Gertjan Halkes | G.P.Halkes@ewi.tudelft.nl | HB 09.080 |
Bas Breijer | S.D.Breijer@student.tudelft.nl | |
Peterpaul Klein Haneveld | P.T.Kleinhaneveld@ewi.tudelft.nl | |
Leon Planken | L.R.Planken@student.tudelft.nl |
Two instructors will be present at the labs at Drebbelweg to answer questions and assist with practical problems (e.g., debugging code). Take advantage of this service!
Day (Sep 20 - Dec 21) | Time | Rooms |
---|---|---|
Wednesday | 8:45 - 12:45 | DW_1-010, DW_1-170 |
Thursday | 8:45 - 12:45 | DW_1-010, DW_1-170 |
For questions about assignment 2 (object-oriented Asterix) you can also request the on-line assistance of Panoramix. This Java applet takes an Asterix program and returns example C-code (cb.h & cb.c) produced by an extended version of the reference compiler. Thus, Panoramix will provide you with a flavor of the target code that your compiler could generate. In addition, you can consult Panoramix to resolve language semantics (``what should dynamic binding do in this test case?''). Enjoy.
Grading is done per assignment. According to the following table, points can be obtained for test results, documentation, and source code. The total amounts to a 70 points maximum; 30 points are reserved for the final written exam1.
Assignment | Test results | Documentation | Source code |
---|---|---|---|
1 | 16 | 7 | 7 |
2 | 26 | 7 | 7 |
make submit |
---|
which will pack the complete compiler into a file named submit.tgz. Warning: if you not only modified files, but also added new ones, be sure to add them at the appropriate place in the Makefile. Note: you may not modify the cbc script, because our grading tools depend on your compiler behaving ``nicely''.
tar xfz submit.tgz |
---|
make |
(Go to some temporary directory before unpacking the compiler.)
It is useless to turn in your solution far in advance of a deadline; your compiler will be tested and examined (shortly) after the deadline.
Frequently check the blackboard (in4020); announcements and updates to this course will be posted there.
K.G. Langendoen 2006-12-12