Langages de programmation et compilation 2026-2027

Jean-Christophe Filliâtre

Cours donné aux élèves de première année à l'École Normale Supérieure.

Cours

Séances : Un polycopié reprographié sera distribué avant la Toussaint.

TD

Il y a deux groupes de TD (en alternance avec les TD d'algo) :

Séances :

Projet

Cette année on compile un fragment de Zig.

Le sujet du projet sera donné plus tard.

Quelques tests sont fournis (les télécharger : tests-19-oct.tar.gz). Ce script shell peut être utilisé pour automatiser les tests, avec la syntaxe ./test -n binaire-compilo où n vaut 1 (tests parseur), 2 (tests typage) ou 3 (tests production de code).

Un module OCaml est fourni pour construire du code x86-64 : x86_64.ml / x86_64.mli / télécharger. Libre à vous de le compléter si besoin. (Si vous choisissez de faire votre projet en Rust, il existe un module similaire write_x86_64 écrit par Samuel Vivien, que je remercie.)

Le projet est à rendre en deux fois :

Examen

L'examen aura lieu le vendredi 29 janvier de 8h30 à 11h30 en salle E. Noether.

Archives : janvier 2026 (corrigé) / janvier 2025 (corrigé) / janvier 2024 (corrigé) / janvier 2023 (corrigé) / janvier 2022 (corrigé) / janvier 2021 (corrigé) /

Liens / Bibliographie

Outils

Cartes de référence

Ouvrages en rapport avec le cours

Ces trois ouvrages sont disponibles à la bibliothèque. Le cours ci-dessus ne suit pas vraiment ces ouvrages. Néanmoins, ce sont de très bons ouvrages, conseillés pour aller plus loin.

For foreign students not yet fluent in French


Remerciements : merci à Christine Paulin, François Pottier et Xavier Leroy pour leur aide dans la préparation de ce cours