Langages de programmation et compilation 2023-2024

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 Purescript.

Sujet (version 5 - 14 décembre 2023)

Quelques tests sont fournis (les télécharger : tests-7-dec.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 :

Il est fortement conseillé de procéder construction par construction que ce soit pour le typage ou pour la production de code, dans cet ordre : affichage, arithmétique, variables, instructions (if, case, do), fonctions, classes de types.

Le rapport rendu avec le projet doit notamment aider à la compréhension du code du projet.

Il n'y a pas de soutenance de projet.

Examen

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

Les notes de cours manuscrites ou reprographiées sont les seuls documents autorisés.

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