INF7641 - Compilation
Session d’hiver 2025
Documents
Ressources
- Programmes vus en classes
- Compiler Explorer
- Mise à niveau : RISC-V (INF2171)
Échéancier approximatif
- 1: 7 janvier. Absent
- 2: 14 janvier. Introduction
- Exercice: Challenge Étoiles1
- 3: 21 janvier. Analyse lexicale et automates
- 4: 28 janvier. Grammaire et analyse syntaxique
- 5: 4 février. Visiteur et interpréteur simple
- Devoir 1: analyse lexicale et syntaxique
- 6: 11 février. Analyse sémantique et typage
- 7: 18 février. Compilation
- Devoir 2: analyse sémantique
- 8: 25 février. Examen
- R: 4 mars. Relâche
- 9: 11 mars. Présentation d’articles
- 10: 18 mars. Langages à objets
- Devoir 3: compilation
- 11: 25 mars. Représentation intermédiaire
- 12: 1 avril. SSA et flux de données
- Travaux: livrable 1
- 13: 9 avril. plus d’opmimisations
- 14: 16 avril. Automates LR
- 15: 22 avril. Travaux: présentation et livrable 2
Présentation d’articles (15%)
- Préparer une présentation orale avec support visuel (diapositives en pdf)
- 20 minutes + 10 minutes de questions
- Contenu :
- Mise en contexte : année, domaine de la conférence/ du journal
- Problématique générale, état de l’art
- Questions de recherche, cadre de la recherche (scope)
- Méthodologie, réalisation, expérimentation
- Validation
- Résultats et discussion
- Limites
- Remettre les diapositives imprimées (3x2 pour économiser du papier)
Travail de session (25%)
L’objectif du travail de session est de vous confronter avec des aspects pointus et récents des compilateurs (et interpréteurs). Un autre objectif est de vous initier un peu plus au travail de recherche.
Pour chaque travail, il est demandé de produire:
- une analyse de la problématique (indépendamment du langage) : on regarde ce qui existe, on discute ce qui est bien ou pas bien.
- une expérimentation qui consiste à utiliser/mettre en œuvre en pratique les propositions existantes pour se faire une idée plus précise.
- une implémentation (ou juste un prototype) de développement (d’extension) d’un interpréteur ou compilateur : on propose quelque chose et on montre pourquoi c’est un bon choix.
En fonction du sujet, l’emphase pourra être plus portée sur certains points que sur d’autres.
Livrable 1 (intermédiaire, 5%)
- Description du projet (une page)
- État de l’art (une page)
- État d’avancement (une page)
Livrable 2 (final, 10%)
- Une dizaine de pages reprenant et complétant le premier livrable.
Présentation orale (10%)
- 20 minutes + questions
- Remettre les diapositives imprimées (3x2 pour économiser du papier)