Draft: Resolve "tc-2027 period preparation - Modernization"
Closes #168
The merge request aims to improve overall assignments pages. Some information has been extracted from assistants' slides and tc-base (2026).
It is worth mentioning (non-exhaustively) :
- Year, class & minor version update (2025, 2027, tc v1.94).
- Useful substitutions & links for sphinx (EPITA, managers, GitLab, etc.).
- Update recommended versions (keep them in sync: e.g. LLVM-18).
- Various typos fixes.
- Keep working & up-to-date links (LRDE/LRE, https, old papers, etc.).
- Format improvements (more prominence for some information, key words, etc.).
- Rename some unclear files.
Compiler Stages
- In my opinion, it is easy to get lost in the text and outputs of samples, which have the same shape. I have chosen to use more blocks (note, warning) and to separate test concepts with vertical bars.
- Review & rework given code & code to write sections, in the same mind as the
Source code
. Add a somehow clear separation between core & additional work. - Update relevant lectures from the new Ghiles's ones (front-end & extensions parts).
Source code
- Update/complete/fix the source code documentation (some others will come in additional MRs).
- Make pages more consistent with each other (same layout and shared information).
- Better separation of usual code (lib, Makefile, forward declarations, tasks), files (step by step) & unit tests.
Please note that some (mostly visual) changes are certainly subjective. They are the result of my own experience and that of a few classmates on the TC 2026 subject.
If any of them seem inappropriate, please let me know.
Personal Note:
Going through the documentation made me realize just how rich it is, and I think it's fair to say that we missed out on a lot. Due to stress, lack of time to devote to it, a new habit for us to get into, ...?
It's also a point that raises the possibility of a more in-depth review/refactor of this documentation, at least in the way the it is arranged and presented. There are quite a few different writing styles that have accumulated over time, and some parts (e.g. bibliography) are somewhat outdated in 2024.
Over the next few weeks, my work will be focused on OVM, LLVM (including version 18), TC-1-2?, adding points that are sorely lacking in my experience and some of issues mentioned in 2027 milestone.