Compiler Construction
This is the course homepage for the Chalmers course Compiler Construction (TDA283/DIT300) given in study period 4, 2017.
Latest news
- November 24. There is going to be a re-sit oral exam. See the examination page.
- May 22. Please book a slot for the oral exam using this doodle.
- May 17. We moved the last (guest) lecture to Wednesday 24 May at 10:00.
Older news…
- November 24. There is going to be a re-sit oral exam. See the examination page.
- May 22. Please book a slot for the oral exam using this doodle.
- May 17. We moved the last (guest) lecture to Wednesday 24 May at 10:00.
- May 15. The notes of the midterm meeting are now available on the course evaluation page.
- May 15. We moved next week’s guest lecture to Monday 22 May at 13:00, due to collisions with other teaching for both the guest lecturer (Magnus Myreen) and me.
- May 9. We have updated the test suite. We experienced some trouble with newer Debian based operating systems. They have increased a number of security aspects that cause compilation to fail. This can be fixed with an extra flag for GCC during linking. If you experience trouble with this, you can give the
-g-no-pie
flag to the test suite, which passes it on to GCC.
- April 28. No office hours on Thursday 4 May (I am abroad).
- April 26. The deadline of part B has been extended with a week.
- April 25. Extra lecture on Friday 28 April, catching up from last week.
- April 20. No lecture on Friday 21 April. (lecturer is sick)
- March 20. We will start the course this week on Friday from 13:15 to 15:00. All welcome!
- March 17. Birth of the new course homepage - it now looks fabulous on mobile devices!
Less news…
Course essentials
-
The course consists of a single project: constructing a compiler for a small, Java-like programming language in groups of one to two students. Groups of two are recommended.
-
To pass the course, you must pass three hand-ins via the Fire system, and a short oral exam during the exam week. See “examination” for details, dates and deadlines.
-
The hand-ins test your ability to produce a working compiler, and determine your grade for this course. Make sure that your compiler passes the test suite before submitting. Deadlines are strict; extensions will only be granted under exceptional circumstances, and even then only if requested before the deadline in question has passed.
-
The individual oral exam tests that all group members have been actively involved in the project and share a full understanding of the compiler. You will be asked to present your compiler to the examiner, who will then ask you some questions about it. Someone else did X, I worked on Y instead is not considered a valid answer.
-
You must hand in your final submission before being allowed to take the oral exam. No exceptions to this rule will be considered.
-
Your grade is determined by the extensions you implement. Your performance on the oral exam will not affect your grade other than passing or failing.
-
The course has a Google group where you can find a group partner, ask general questions pertaining to the course, etc. Detailed questions about your own code are better asked by email to your supervisor or in person during office hours.
-
Relevant litterature, software tools, and the
runtime.ll
file containing the I/O
routines for your Javalette programs can be found in the resources section.