Compiler Technology (2017)

Submission (for grading)
of a compiler project

Be sure to read these submission instructions carefully! Check this page for changes when you are about to submit.

Note that these instructions apply to you only if you cannot read Finnish. For the Finnish language instructions, see here.

You can present your project to other students and the teachers on Monday, 29 August 2017 at 12–14 in AgC233. Presenting is optional.

Deadline

You must submit your compiler project following these instructions on Tuesday, 29 August 2017, at 9:00, or earlier.

This deadline can be extended on an individual basis, if there is a rational reason and this extension has been requested before the deadline expires.

An overdue submission will be rejected, unless there is exceptional reason to excuse the missed deadline. For example, a good excuse is if you were prevented from submitting your project by an unforeseen event that you were not expected to be prepared for and that you could not properly work around (force majeure). It is your responsibility to provide a sufficient explanation of what happened.

Content of a submission

The submission must include in its top directory a README file discussing

  • which students took part in a significant way in producing this compiler

  • a short explanation of what each did in the project

  • what software is needed to compile and run the compiler (specify also any operating system dependencies, such as if only Windows works)

  • what software (such as a virtual machine) is required to run the output of the compiler

  • instructions for compiling the compiler

  • instructions for using the compiler

  • the names of other required files

The following things must be discussed with the submission (either in the README or in the submission email):

  • which students should get get study credit for this project (full name and birth date for each)

  • if other students participated, discuss why they should not get study credit

  • how many credits is the project worth, in your opinion

  • any individual deadlines or timetables approved by AJK

  • any external time constraints (such as the approaching expiration of a study right)

The submission must also include

  • a file describing the source language in broad strokes

  • at least one (preferably more than one) example program that the compiler ought to compiler correctly

  • all the source code for the project

Your submission may not contain anything precompiled (.exe etc).

Submission instructions

Submission is done using a git repository.

It is recommended that you let the development history of your project be accessible in your git history.

Tag your submitted version:

  git tag NAME-OF-TAG
  git push --tags

Send Antti-Juhani Kaijanaho an email mentioning the name of your tag and one of the following:

  • the URL of your git repository (make sure AJK has read access to it)
  • a zip, tar.gz, or tar.bz2 archive of your git repository (make sure that the .git subdirectory is included)

You must CC any fellow students who participated in making this project.

Note that your attachment may not include any precompiled files (.exe, .jar, etc.). If gmail does not allow you to send your email, this is usually the problem.

Timetable of assessment and resubmission

Any projects submitted before Juhannus will be assessed during June. Projects submitted later will be assessed in August. AJK will not be reachable in July.

You have the right, per university regulations, to resubmit a failed project twice within a year of initial submission.

You have the right, per university regulations, to resubmit a passed project twice within a year of your first passing submission.

The date of completion will be the date of your final, approved submission. This will be normally determined by the email timestamp. You must have an active right of study covering this course and you must be registered as an attending student at JYU on the date of submission.

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.