Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| formations:masters:ue:m1:com7 [2025/01/29 10:44] – ↷ Liens modifiés en raison d'un déplacement. admin | formations:masters:ue:m1:com7 [2025/01/29 10:46] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. admin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ~~NOTOC~~ | ||
| + | ====== Compilation ====== | ||
| + | |||
| + | ===== Description ===== | ||
| + | |||
| + | Ce module offre une introduction à l' | ||
| + | programmation ainsi qu'à la conception et réalisation de compilateurs. Il s'agit | ||
| + | d'un sujet vaste qui touche à de multiples sous-domaines de l' | ||
| + | depuis la théorie des automates jusqu' | ||
| + | passant par la programmation système ou encore la logique. | ||
| + | |||
| + | Les concepts du cours sont illustrés de façon concrète par la réalisation guidée | ||
| + | d’un compilateur de langage fonctionnel ciblant l’architecture x86-64. | ||
| + | |||
| + | ===== Syllabus ===== | ||
| + | |||
| + | ==== Sujets centraux ==== | ||
| + | |||
| + | - Analyse lexicale et syntaxique appliquée | ||
| + | - Syntaxe abstraite et interprètes | ||
| + | - Typage et vérification des types | ||
| + | - Explicitation des fermetures | ||
| + | - Élimination du flot de contrôle et des données structurées | ||
| + | - Linéarisation du flot de contrôle | ||
| + | - Assembleur x86-64 et convention d' | ||
| + | |||
| + | ==== Sujets potentiellement traités ==== | ||
| + | |||
| + | - Allocation de registre | ||
| + | - Analyse statique flots-de-données pour l' | ||
| + | - Optimisation du filtrage de motifs | ||
| + | |||
| + | ===== Pré-requis ===== | ||
| + | |||
| + | * Cours [[..: | ||
| + | * Programmation fonctionnelle en OCaml | ||
| + | * Manipulation des structures de données algébriques (arbres) | ||
| + | * Utilisation du système de modules | ||
| + | |||
| + | * Cours [[..: | ||
| + | * Familiarité générale avec le développement sous UNIX (Linux, macOS) | ||
| + | * Utilisation de Git | ||