/MIF08

Primary LanguagePython

Avancée / Planning du cours de MIF08 (Compilation)

Année 2021-2022

Communication et nouvelles du cours

  • NEWS.md contient les nouvelles du cours (envoyées par email également).
  • Pour rejoindre les canaux de discussions sur chat-info, cliquez sur les liens suivants :
    • compil-2021 pour les discussions générales sur le cours. Vous pouvez utiliser ce canal pour discuter entre vous et pour poser des questions aux enseignants. Nous ouvrirons plus de canaux si nécessaire. Merci d'utiliser le canal commun et non les messages directs ou le mail pour poser vos questions, comme ça tout le monde en profite.

Intervenants

  • Groupe A : Matthieu Moy (+ Guillaume Bouchard pour les TPs groupe A2)
  • Groupe B : Elise Jeanneau (+ Gabriel Radanne pour les TPs groupe B2)
  • Groupe C : Gregoire Pichon (+ Nicolas Louvet pour les TPs groupe C2)
  • Groupe D : Joris Picot (+ Hugo Thievenaz pour les TPs groupe D2)

Vidéos des CM

Toutes les vidéos sont disponibles dès maintenant :

La playlist Youtube MIF08

Le contenu des vidéos (réalisées en 2020) est sensiblement le même que celui des CM présentiels. Il est recommandé de venir en présentiel.

Infrastructure technique, logiciels à installer

Les TP utilisent la chaîne d'outils RiscV, un peu lourde à installer. Voir INSTALL.md pour les consignes. À faire avant les TPs si vous voulez travailler sur vos machines personnelles.

Si vous n'arrivez pas à installer les outils sur vos machines, vous pourrez travailler sur les ordinateurs de la fac, et nous fournissons aussi des machines virtuelles pré-installées : VM.md.

Planning

Mercredi 15/09/2021

  • 📖 14h: Cours 1: Introduction, machine cible (RISCV), lexing :

  • ✏️ 15h45: TD1 : Architecture RISCV, Lexing, Parsing

    • Salles :
      • Groupe A : Nautibus TD1 (Matthieu Moy)
      • Groupe B : Nautibus TD2 (Elise Jeanneau)
      • Groupe C : Nautibus TD3 (Grégoire Pichon)
      • Groupe D : Nautibus TD10 (Joris Picot)
    • Énoncé du TD1
    • Rappel, extrait de la documentation RISCV : riscv_isa.pdf
    • Lexing et parsing avec ANTLR en 2 slides : td1-slides.pdf
  • 🔨 17h30: TP1 : Python et RiscV

    • Salles :
      • Groupe A1 : Nautibus TP10 (Matthieu Moy)
      • Groupe A2 : Nautibus TP11 (Guillaume Bouchard)
      • Groupe B1 : Nautibus TP5 (Elise Jeanneau)
      • Groupe B2 : Nautibus TP6 (Gabriel Radanne)
      • Groupe C1 : Nautibus TP1 (Gregoire Pichon)
      • Groupe C2 : Nautibus TP2 (Nicolas Louvet)
      • Groupe D1 : Nautibus TP12 (Joris Picot)
      • Groupe D2 : Nautibus TP13 (Hugo Thievenaz)
    • Énoncé : TP1 python/archi
    • Fichiers du TP1 : TP01/.

Mercredi 6/10/2021

  • 📖 8h: Cours 2: Lexing, Parsing, interprétation

  • 💯 QCM noté sur TOMUSS, à faire avant lundi 11/10/2021, 23:59.

  • ✏️ 9h45: TD, Arbres abstraits, attributions, types

    • Salles :
      • Groupe A : Nautibus TD 1
      • Groupe B : Nautibus TD 2
      • Groupe C : Nautibus TD 3
      • Groupe D : Nautibus TD 10
    • Énoncé du TD2
  • 🔨 14h-17h15: TP2, ANTLR

    • Salles :
      • Groupe A1 : Nautibus TP10
      • Groupe A2 : Nautibus TP11
      • Groupe B1 : Nautibus TP5
      • Groupe B2 : Nautibus TP6
      • Groupe C1 : Nautibus TP1
      • Groupe C2 : Nautibus TP2
      • Groupe D1 : Nautibus TP13
      • Groupe D2 : Nautibus TP12
    • Transparents de présentation : capmif_labs.pdf
    • Si besoin : des VM pour vous dépanner en cas de problème sur machine perso : VM.md
    • Énoncé : TP2 antlr
    • Fichiers du TP2 : TP02/.
    • Date limite pour le rendu (noté) : mardi 12/10/2021, 23h59.

Mercredi 13/10/2021

  • 📖 Cours 3, Typage : 14h-15h30

  • 💯 QCM noté sur TOMUSS, à faire avant dimanche 17/10/2021, 23:59

  • 🔨 TP3, interprète MiniC : 15h45-17h15

    • Salles :
      • Groupe A1 : Nautibus TP10
      • Groupe A2 : Nautibus TP11
      • Groupe B1 : Nautibus TP5
      • Groupe B2 : Nautibus TP6
      • Groupe C1 : Nautibus TP9 (Attention, bug de groupe sur ADE)
      • Groupe C2 : Nautibus TP14 (Attention, bug de groupe sur ADE)
      • Groupe D1 : Nautibus TP13
      • Groupe D2 : Nautibus TP12
    • Énoncé : TP3 frontend, interprète
    • Fichiers du TP3 : TP03/ puis MiniC/.
    • Date limite de rendu du TP3 : dimanche 7 novembre 2021, 23h59 (vous aurez une séance d'1h30 pour finir le TP le 3/11/2021).

Mercredi 3/11/2021

  • 🔨 TP3, interprète MiniC (suite) : 14h00-15h30

    • Salles :
      • Groupe A1 : Nautibus TP10
      • Groupe A2 : Nautibus TP11
      • Groupe B1 : Nautibus TP5
      • Groupe B2 : Nautibus TP6
      • Groupe C1 : Nautibus TP7
      • Groupe C2 : Nautibus TP8
      • Groupe D1 : Nautibus TP13
      • Groupe D2 : Nautibus TP12
  • 📖 Cours 4 : 15h45-17h15

  • 💯 QCM noté sur TOMUSS, à faire avant Dimanche 7/11/2021, 23:59.

Mercredi 10/11/2021

  • ✏️ TD 3 : 14h00-15h30 :

    • Salles :
      • Groupe A : Nautibus TD 1
      • Groupe B : Nautibus TD 2
      • Groupe C : Nautibus TD 3
      • Groupe D : Nautibus TD 10
    • Sujet : TD3 génération de code
  • 🔨 TP, 15h45-17h15

    • Salles :
      • Groupe A1 : Nautibus TP10
      • Groupe A2 : Nautibus TP11
      • Groupe B1 : Nautibus TP5
      • Groupe B2 : Nautibus TP6
      • Groupe C1 : Nautibus TP7
      • Groupe C2 : Nautibus TP8
      • Groupe D1 : Nautibus TP13
      • Groupe D2 : Nautibus TP12
    • Transparents de présentation : capmif_labs.pdf
    • Rappel : des VM pour vous dépanner en cas de problème sur machine perso : VM.md
    • Énoncé : TP4 génération de code
    • Fichiers du TP4 : MiniC/TP04/.
    • Date limite pour le rendu (noté) : 17 décembre 2021, 23h59. Si vous rendez après la deadline mais avant le 2 janvier 2022, 23h59, un malus d'un point sur 20 est appliqué, puis un point de malus par jour de retard supplémentaire. Aucun TP ne sera accepté après le mardi 4 janvier 2022, 23h59.

Mercredi 1/12/2021

  • 🔨 TP 4 (suite), 14h-17h15 : cf. ci-dessus pour les supports et les salles (mêmes que le 10/11)

Mercredi 8/12/2021

  • 📖 Cours 5 : 14h-15h30, allocation de registres

  • ✏️ 15h45-17h15 :

    • Énoncé : TD4 liveness
    • Salles :
      • Groupe A : Nautibus TD 1
      • Groupe B : Nautibus TD 2
      • Groupe C : Nautibus TD 3
      • Groupe D : Nautibus TD 10

Mercredi 5/01/2022

  • ✏️ 14h-15h30

    • Énoncé : TD5 regalloc
    • Salles :
      • Groupe A : Nautibus TD 1
      • Groupe B : Nautibus TD 2
      • Groupe C : Nautibus TD 3
      • Groupe D : Nautibus TD 10
  • 🔨 15h45-17h15 : TP5

    • Énoncé : TP5 allocation de registres
    • Fichiers du TP5 : MiniC/TP05/.
    • Salles :
      • Groupe A1 : Nautibus TP10
      • Groupe A2 : Nautibus TP11
      • Groupe B1 : Nautibus TP5
      • Groupe B2 : Nautibus TP6
      • Groupe C1 : Nautibus TP7
      • Groupe C2 : Nautibus TP8
      • Groupe D1 : Nautibus TP13
      • Groupe D2 : Nautibus TP12
    • Date limite pour le rendu (noté) : mercredi 12/01/2022, 23h59.

Mercredi 12/01/2022

  • 🔨 15h45-17h15 : TP5, suite
    • Même sujet et organisation que la semaine d'avant en TP.

Mercredi 19/01/2022

  • Examen, 14h.

Pondération des notes (indicative pour l'instant sauf l'examen final qui sera forcément 50%)

  • QCM : 10% (2% chacun)
  • TP2 parsing et évaluation d'expression : 5%
  • TP3 interprète : 10%
  • TP4 génération de code : 12.5%
  • TP5 allocation de registres : 12.5%
  • Examen final : 50 %

La session 2 remplace la note d'examen final.

Annales et consignes pour l'examen