Langages de programmation et compilation 2024-2025

Jean-Christophe Filliâtre

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

Cours

Séances :

TD

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

Séances :

Projet

Cette année, on compile un sous-ensemble du langage Koka.

Sujet (version 2 - 29 octobre 2024)

Quelques tests sont fournis (les télécharger : tests-29-oct.tar.gz). Ce script shell peut être utilisé pour automatiser les tests, avec la syntaxe ./test -n binaire-compilon 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 24 janvier de 8h30 à 11h30 en salle E. Noether.

Archives : janvier 2024 (corrigé) / janvier 2023 (corrigé) / janvier 2022 (corrigé) / janvier 2021 (corrigé) / janvier 2020 (corrigé) / janvier 2019 (corrigé) / janvier 2018 (corrigé) / janvier 2017 (corrigé) / janvier 2016 (corrigé) / janvier 2015 (corrigé) / janvier 2014 (corrigé) / janvier 2013 (corrigé) / janvier 2012 (corrigé) / janvier 2011 (corrigé) / janvier 2010 (corrigé) / janvier 2009 (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