Submission via GitLab
This commit is contained in:
parent
9d1e140c01
commit
02e695959f
35
README.md
35
README.md
@ -5,7 +5,7 @@
|
||||
| 2021-03-05 | *Introduction* |
|
||||
| 2021-03-12 | *Explaining lexer & parser code* |
|
||||
| 2021-03-19 | Lexer complete |
|
||||
| 2021-03-26 | |
|
||||
| 2021-03-26 | Team composition |
|
||||
| 2021-04-16 | Parser complete |
|
||||
| 2021-04-23 | |
|
||||
| 2021-04-30 | Semantic checks complete |
|
||||
@ -16,12 +16,11 @@
|
||||
| 2021-06-04 | |
|
||||
| 2021-06-11 | TAC → ASM (with function calls) complete |
|
||||
| 2021-06-18 | CFG generation complete |
|
||||
| 2021-06-25 | Build Test Submission deadline |
|
||||
| 2021-06-25 | |
|
||||
| 2021-07-16 | Final Submission deadline (no extensions) |
|
||||
|
||||
- [mC Compiler Specification](specification.md)
|
||||
- [Getting Started Code-base](https://git.uibk.ac.at/c7031162/mcc)
|
||||
- [Submission Guidelines](submission.md)
|
||||
|
||||
## Structure
|
||||
|
||||
@ -38,8 +37,12 @@ Teams may span across proseminar groups.
|
||||
|
||||
The proseminar takes place online [over at Twitch](https://www.twitch.tv/AlexWarhawk), attendance is not mandatory.
|
||||
|
||||
I recommend sending me snapshots of your code-base, I'll provide feedback on stream.
|
||||
Please follow the submission guidelines.
|
||||
### Repository
|
||||
|
||||
Host your code on the University GitLab and add me as developer to your repository.
|
||||
|
||||
Furthermore, it is required to set up GitLab CI to automatically build and test your code.
|
||||
The getting started code-base comes with a basic [`.gitlab-ci.yml`](https://git.uibk.ac.at/c7031162/mcc/blob/master/.gitlab-ci.yml).
|
||||
|
||||
### Programming Language
|
||||
|
||||
@ -55,6 +58,26 @@ Go easy on external dependencies and obscure language extensions — yes, I'm lo
|
||||
Code readability is paramount.
|
||||
Using overly complex or cryptic concepts may negatively impact the evaluation process — again, looking at you, Haskell and your voodoo magic lenses.
|
||||
|
||||
## Submission
|
||||
|
||||
### Team Composition
|
||||
|
||||
Send me a mail (one per team) with the names of your team members and a link to your repository.
|
||||
Don't forget to add me as developer to your repository.
|
||||
|
||||
### Feedback Request
|
||||
|
||||
Just message me whenever you want to receive feedback on your code.
|
||||
Tell me which commit to look at.
|
||||
|
||||
Ensure that the repository does not contain any personal information like names or student IDs as I'll be going over it on stream.
|
||||
|
||||
### Final Submission
|
||||
|
||||
Add the tag `final` to the revision you want me to look at for the final evaluation.
|
||||
|
||||
I'll only evaluate your solution if the corresponding CI job builds and tests your code successfully.
|
||||
|
||||
## Grading
|
||||
|
||||
The final grade is computed solely from the final submission.
|
||||
@ -68,3 +91,5 @@ Just message me on Discord if you need anything.
|
||||
Alternatively, you can send me an email using the following link.
|
||||
|
||||
📧 [send email](mailto:alexander.hirsch@uibk.ac.at?subject=703602%20-%20)
|
||||
|
||||
You can also open issue on GitLab, please message me if I do not respond within 24 hours; I might not have received a notification.
|
||||
|
@ -27,7 +27,6 @@ This includes things like:
|
||||
- Contains list of prerequisites
|
||||
- Contains build instructions
|
||||
- Contains *Known Issues* section
|
||||
- Submitted code builds successfully.
|
||||
- `mcc` executable operates as demanded by the specification.
|
||||
- A respective executable can be built and run for the *mandelbrot* test input.
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
As stated by the curriculum, your task is to build a simple compiler for a small procedural programming language.
|
||||
It's quite hard to fit this goal into the 5 ECTS budget of this module (lecture included), nevertheless I think I found the right trade-offs with the given specification.
|
||||
|
||||
Still, it is highly recommended to work in teams and that you start early - always trying to be ahead of schedule.
|
||||
Still, it is highly recommended to work in teams and that you start early — always trying to be ahead of schedule.
|
||||
</aside>
|
||||
|
||||
## Prerequisites
|
||||
@ -31,7 +31,7 @@ While I don't care whether you have officially finished your bachelor, you shoul
|
||||
- - -
|
||||
|
||||
- Fluent in C (or C++, or Go, or Rust, or Haskell)
|
||||
- General programmer mindset
|
||||
- General programming mindset
|
||||
- Knowing your tools
|
||||
|
||||
- Algorithms and data structures
|
||||
@ -44,9 +44,9 @@ While I don't care whether you have officially finished your bachelor, you shoul
|
||||
|
||||
<aside class="notes">
|
||||
Since this course is very programming intensive, you need to be fluent in one of these languages.
|
||||
If choose C and think strings are compared using `==` you'll have a very hard time.
|
||||
If you choose C and think strings are compared using `==` you'll have a very hard time.
|
||||
|
||||
For OS, if you think calling `exec` without `fork` while implementing a library is a good idea, maybe revisiting the OS course would be a good idea.
|
||||
For OS, if you think calling `exec` without `fork` while implementing a library is a good idea, maybe consider revisiting the OS course.
|
||||
</aside>
|
||||
|
||||
- - -
|
||||
@ -81,10 +81,6 @@ The lecture and proseminar assumes that you are familiar with the basics of gram
|
||||
- Specification provided
|
||||
- Evaluation scheme provided
|
||||
|
||||
## Requirements
|
||||
|
||||
- Working compiler
|
||||
|
||||
## Recommended Schedule
|
||||
|
||||
- See README
|
||||
@ -93,11 +89,6 @@ The lecture and proseminar assumes that you are familiar with the basics of gram
|
||||
You are free to deviate from this schedule.
|
||||
</aside>
|
||||
|
||||
## Submissions
|
||||
|
||||
- End of June: build test submission (optional)
|
||||
- Mid of July: final submission (no extensions)
|
||||
|
||||
## Teams
|
||||
|
||||
- 1–3 people
|
||||
|
@ -1,52 +0,0 @@
|
||||
# Submission Guideline
|
||||
|
||||
- Replace `XX` with your team number with leading zero (e.g. `02`).
|
||||
- One submission *per team*.
|
||||
- Familiarise yourself with the `git archive` command.
|
||||
|
||||
## Feedback Request
|
||||
|
||||
1. Run the following command, assuming you want to submit the currently checked out version:
|
||||
|
||||
$ git archive --prefix=feedback_request/ --format=zip HEAD > feedback_request.zip
|
||||
|
||||
2. Verify that the resulting archive contains everything you want to submit and nothing more.
|
||||
3. Ensure that the resulting archive does not contain any personal information like names or student IDs.
|
||||
4. Submit the archive via mail using the following line as subject (or link below).
|
||||
|
||||
703602 - Feedback Request
|
||||
|
||||
📧 [send email](mailto:alexander.hirsch@uibk.ac.at?subject=703602%20-%20Feedback%20Request)
|
||||
|
||||
## Build Test Submission
|
||||
|
||||
1. Run the following command, assuming you want to submit the currently checked out version:
|
||||
|
||||
$ git archive --prefix=team_XX_build_test/ --format=zip HEAD > team_XX_build_test.zip
|
||||
|
||||
2. Verify that the resulting archive contains everything you want to submit and nothing more.
|
||||
3. Submit the archive via mail using the following line as subject (or link below).
|
||||
|
||||
703602 - Team XX Build Test Submission
|
||||
|
||||
📧 [send email](mailto:alexander.hirsch@uibk.ac.at?subject=703602%20-%20Team%20XX%20Build%20Test%20Submission)
|
||||
|
||||
## Final Submission
|
||||
|
||||
1. Run the following command, assuming you want to submit the currently checked out version:
|
||||
|
||||
$ git archive --prefix=team_XX_final/ --format=zip HEAD > team_XX_final.zip
|
||||
|
||||
2. Verify that the resulting archive contains everything you want to submit and nothing more.
|
||||
3. Ensure everything works.
|
||||
- Everything builds
|
||||
- No (unjustified) warnings
|
||||
- All unit tests succeed
|
||||
- All integration tests succeed
|
||||
- No memory is leaked
|
||||
- Known issues is present and up-to-date
|
||||
4. Submit the archive via mail using the following line as subject (or link below).
|
||||
|
||||
703602 - Team XX Final Submission
|
||||
|
||||
📧 [send email](mailto:alexander.hirsch@uibk.ac.at?subject=703602%20-%20Team%20XX%20Final%20Submission)
|
Loading…
Reference in New Issue
Block a user