Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nepfaff/icc-compiler
A compiler from C to MIPS assembly
https://github.com/nepfaff/icc-compiler
Last synced: 10 days ago
JSON representation
A compiler from C to MIPS assembly
- Host: GitHub
- URL: https://github.com/nepfaff/icc-compiler
- Owner: nepfaff
- Created: 2021-05-16T22:37:15.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-05-16T22:40:13.000Z (over 3 years ago)
- Last Synced: 2024-11-19T03:19:59.545Z (2 months ago)
- Language: C++
- Homepage:
- Size: 2.69 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
2020/2021 Compilers Coursework
==============================There is a single assessed code deliverable, which is due on Friday 26 March 2021 at 23:59. This deliverable contains two components:
- [*C-compiler*](c_compiler.md) (90%): a compiler from C to MIPS assembly. The source language is pre-processed C90. The target environment is Ubuntu 16.04, so the lab Ubuntu distribution, or equivalently an Ubuntu 16.04 VM as configured in the attached Vagrantfile.
- [time-tracking/project management component](management.md) (10%), which will be assessed orally at the start of Summer term.
Repositories
============Each group gets a bare private repository. It is up to you if you want to clone the master specification, or to start from scratch.
Submission
==========Submission will be via GitHub (code) and Teams (commit hash), as in the labs.
All submissions will be tested functionally -- there is no expectation for your compiler to *optimise* its input. Moreover, your compiler will only be tested on *valid* inputs, so you do not need to handle faulty inputs in a graceful way.
Changelog
=========* New for 2020/2021:
* In previous years, students were additionally required to submit a C-to-Python translator, as a "ramping up" task. This extra deliverable has been removed, as the labs provide plenty of "ramping up" practice.
* We have provided a really basic compiler that simply ignores its input and produces a fixed, valid MIPS assembly program. This should help you to get started a bit more rapidly. (Thanks to Archie Crichton for writing this.)
* New for 2019/2020:
* In previous years, students were additionally required to submit a set of testcases. This deliverable has been removed; instead, a large collection of testcases has been provided for you, as this was judged to be more useful.
* In previous years, the compiler component counted for 42.8% of the module; it now counts for 55%. It was felt that this weighting more accurately reflects the effort that students put in to building a working compiler.