2024-09-09 13:09:53 +02:00
# Planning of the compilation course (CAP, Compilation and Program Analysis)
_Academic first semester 2024-2025_
# Week 1:
- :book: Course: Monday 09/09/2024, 13h30-15h30. Amphi K (Gabriel Radanne)
* Introduction: [transparents ](course/capmif_cours01_intro_et_archi.pdf ).
* ISA [ref pdf RISCV ](course/riscv_isa.pdf ).
* [Demo Assembly ](course/demo20.s ).
* Lexing, Parsing, [slides ](course/capmif_cours02_lexing_parsing.pdf ).
* [Demo Parsing ](course/ANTLRExamples.tar.xz ).
2024-09-10 11:22:02 +02:00
- :hammer: Lab 1: Thursday 12/09/2024, 10h15-12h15. Room E001 (Samuel
Humeau & Emma Nardino)
2024-09-09 13:09:53 +02:00
2024-09-16 10:32:47 +02:00
- :rocket: Additional ressources (mainly in english)
* A nice YT video on [structural induction ](https://www.youtube.com/watch?v=2o3EzvfgTiQ ) by F. Pereira.
* Fernando Pereira's other videos on operational semantics : [video1 ](https://www.youtube.com/watch?v=bOzbRhXvtlY ), [video2 ](https://www.youtube.com/watch?v=aiBKOuM5iEA ).
2024-09-16 10:31:29 +02:00
# Week 2:
- :book: Course: Monday 16/09/2024, 13h30-15h30. Amphi SVT (Bio) (Yannick Zakowski)
* Semantics: [transparents ](course/capmif_cours_03_semantics.pdf ).
2024-09-19 09:24:25 +02:00
- :book: Course: Thursday 19/09/2024, 10h15-12h15. Amphi B (Yannick Zakowski)
2024-09-23 15:49:47 +02:00
* Typing: [transparents ](course/capmif_cours_04_typing.pdf ).
# Week 3:
2024-11-24 18:21:47 +01:00
- :hammer: Lab 2: Thursday 23/09/2024, 13h30-15h30. Room E001 103 & -138 (Grenat) (Samuel Humeau & Emma Nardino)
2024-09-23 15:49:47 +02:00
* Lexing & Parsing with ANTLR4 [TP02 ](TP02/tp2.pdf ).
* Code in [TP02/ ](TP02/ ).
2024-09-25 12:44:29 +02:00
- :book: Course: Thursday 26/09/2024, 10h15-12h15. Amphi B (Gabriel Radanne)
* Interpreters: [transparents ](course/capmif_cours03_interpreters.pdf ).
* 3 Address code generation: [transparents ](course/capmif_cours05_3ad_codegen.pdf ).
2024-09-30 13:37:55 +02:00
# Week 4:
2024-10-06 19:58:11 +02:00
- :hammer: Lab 3: Monday 30/09/2024, 13h30-15h30. Room E001 (Samuel Humeau & Emma Nardino)
2024-09-30 13:37:55 +02:00
* Interpreter & Typer [TP03 ](TP03/tp3.pdf ).
* Code in [TP03/ ](TP03/ ) and [MiniC/TP03/ ](MiniC/TP03/ ).
2024-10-02 15:59:54 +02:00
- :book: Course: Thursday 3/10/2024, 10h15-12h15. Amphi B (Gabriel Radanne)
* CFG [slides in english ](course/capmif_cours06_irs.pdf ).
2024-10-06 19:58:11 +02:00
# Week 5:
- :hammer: Lab 4a: Monday 07/10/2024, 13h30-15h30. Room E001 (Samuel Humeau & Emma Nardino)
* Syntax directed code generation [TP04 ](TP04/tp4a.pdf ).
* Code in [MiniC/TP04/ ](MiniC/TP04/ ).
* Documentation [here ](docs/html/index.html ).
2024-10-09 11:15:27 +02:00
- :book: Course: Thursday 10/10/2024, 10h15-12h15. Amphi B (Gabriel Radanne)
* SSA [slides in english ](course/capmif_cours06a_ssa.pdf ).
2024-10-13 18:40:22 +02:00
# Week 6:
2024-10-20 19:16:16 +02:00
- :hammer: Lab 4b: Monday 14/10/2024, 13h30-15h30. Room E001 (Samuel Humeau & Emma Nardino)
2024-10-13 18:40:22 +02:00
* Control Flow Graph [TP04b ](TP04/tp4b.pdf ).
* Code in [MiniC/TP04/ ](MiniC/TP04/ ).
* Documentation (updated) [here ](docs/html/index.html ).
2024-10-16 16:54:48 +02:00
- :book: Course: Thursday 17/10/2024, 10h15-12h15. Amphi L (Gabriel Radanne)
* Register allocation [slides in english ](course/cap_cours07_regalloc.pdf ).
2024-10-20 19:16:16 +02:00
# Week 7:
- :hammer: Lab 5a: Monday 21/10/2024, 13h30-15h30. Room E001 (Samuel Humeau & Emma Nardino)
* Control Flow Graph under SSA Form [TP05a ](TP05/tp5a.pdf ).
* Code in [MiniC/TP05/ ](MiniC/TP05/ ).
* Documentation (updated) [here ](docs/html/index.html ).
2024-11-03 18:04:44 +01:00
2024-10-24 00:04:08 +02:00
- :book: Course: Thursday 25/10/2024, 10h15-12h15. Amphi B (Gabriel Radanne)
* SSA Optims [slides in english ](course/cap_cours06b_ssa_optim.pdf ).
2024-11-03 18:05:42 +01:00
2024-11-03 18:04:44 +01:00
# Week 8:
2024-11-24 18:21:47 +01:00
- :hammer: Lab 5b (1/2): Monday 04/11/2024, 13h30-15h30. Room E001 (Samuel Humeau & Emma Nardino)
2024-11-03 18:04:44 +01:00
* Smart Register Allocation [TP05b ](TP05/tp5b.pdf ).
2024-11-03 18:05:42 +01:00
* Code in [MiniC/TP04/ ](MiniC/TP05/ ).
2024-11-06 16:55:12 +01:00
- :book: Course: Thursday 7/11/2024, 10h15-12h15. Amphi B (Gabriel Radanne)
* Beyond Imperative [slides in english ](course/cap_cours_bonuscomp.pdf ).
2024-11-17 18:00:02 +01:00
# Week 9:
- :hammer: Lab 5b (2/2): Monday 18/11/2024, 13h30-15h30. Room E001 (Samuel Humeau & Emma Nardino)
2024-11-24 18:21:47 +01:00
# Week 10:
2024-12-01 16:25:18 +01:00
- :notebook: TD: Monday 25/11/2024, 13h30-15h30. Room E001 (Samuel Humeau & Emma Nardino)
# Week 11:
- :hammer: Choice Lab (1/3): Monday 02/12/2024, 8h00-13h30. Room E001 (Samuel Humeau & Emma Nardino)
* Optimisations under SSA form [TP5c ](TP05/tp5c.pdf ), code in [MiniC/TPoptim/ ](MiniC/TPoptim/ ).
2024-12-02 13:33:33 +01:00
* Parsing and typechecking functions [TP06a ](TP06/tp6a.pdf ), code in [MiniC/ ](MiniC/ ).
* Code generation for functions [TP06b ](TP06/tp6b.pdf ), code in [MiniC/ ](MiniC/ ).