Langages de programmation et compilation 2020-2021

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

Sujet (version 2 - 19 octobre 2020)

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-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 / documentation / télécharger.
Libre à vous de le compléter si besoin.

Le projet est à rendre en deux fois :

Il est 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 globales, instructions (if, for, while), fonctions, structures.

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

La date de l'examen n'est pas encore fixée.

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

Archives : 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