Go to file
2019-01-06 12:12:51 +01:00
examples Add example inputs 2019-01-06 12:11:47 +01:00
images Initial commit 2019-01-05 14:57:14 +01:00
example_input.md Initial commit 2019-01-05 14:57:14 +01:00
README.md Fix link in README 2019-01-06 12:12:51 +01:00
specification.md Initial commit 2019-01-05 14:57:14 +01:00
submission.md Initial commit 2019-01-05 14:57:14 +01:00

Compiler Construction

Date Deadline
2019-03-15 Example Input
2019-04-05 Milestone 1
2019-05-03 Milestone 2
2019-05-24 Milestone 3
2019-06-14 Milestone 4
2019-06-21 Milestone 5
2019-06-30 Final

Structure

The ultimate goal of this course is to build a working compiler according to the given specification.

You are not allowed to use code from other people participating in this course or code that has been submitted previously by somebody else. However, a getting started code-base is provided.

You will be able to work on your compiler during the lab. I'll be present for questions all the time, yet a big part of this course is to acquire the necessary knowledge yourself.

Please note that minor modifications may be made to the specification until 1 week before the final deadline. Therefore, double check for modifications before submitting — Git provides you the diff anyway.

Apart from this, there will be one required submissions near the beginning of the semester. You have to submit an additional example input, which may be added to the set of example inputs — this way the number of integration tests is extended.

Furthermore, there are five optional milestones. They provide a golden thread and enable you to receive feedback, plus you get a feel for my reviewing scheme.

You can work together in teams of 13 people. Teams may span across pro-seminar groups.

Grading

Your final grade is determined mostly by the final submission. A positive grade for your final submission is required to pass this course.

In addition to this, I'll do short QA sessions during the course which influence your final grade.

Other submissions are not graded.

Be sure to adhere to the specification, deviating from it (without stating a proper reason) will negatively impact your grade.

Evaluation System

I'll be using a virtualised, updated Ubuntu 18.04 LTS (64 bit) to examine your submissions. The submitted code has to compile and run on this system. This information tells you which software versions I'll be using.

Absence

You must not be absent more than three times to pass this course. You do not have to inform me of your absence.

Contacting Me

If you have questions or want to know more about a certain topic, I am always glad to help. You can find me in room 2W05 of the ICT building.

You can also contact me by email, just be sure to send it from your university account. Please keep your email informal and include the course number in the subject. Preferably use the following link.

📧 send email