Documents
Ouverture
Qu'est-ce qui définit un langage de programmation ?
Voici le code de la séance,
à télécharger et à ouvrir en UTF8.
Suggestions de travail dans les commentaires en tête du fichier.
Acte I
Dans cette première étape, on va se concentrer sur un langage d'entrée rudimentaire. Les deux premières séances visent à produire pour ce langage un compilateur simple mais fonctionnel, et les deux séances suivantes vont enrichir le compilateur avec des phases d'optimisation.
Acte II
L'objectif de cette deuxième étape est d'étendre le langage source de votre compilateur, de sorte à y intégrer quelques éléments incontournables des langages de programmation impératifs : fonctions, tableaux, structures de données. Vous aurez également l'occasion d'utiliser le langage même que vous êtes en train d'implémenter pour des tâches de programmation non triviales.
Acte III
Cet acte final vous propose d'étendre encore le langage source, pour y incorporer des éléments charactéristiques de langages de haut niveau : exceptions, programmation fonctionnelle, classes et objets, inférence de types.
Archives
- Sujet d'examen 2016 : pdf.
Organisation
Encadrement
- Cours : Thibaut Balabonski.
- TD/TP : Mattias Roux, Thibaut Balabonski.
Évaluation
- Les TP seront régulièrement évalués et compteront pour la moitié de la note finale.
- Un examen de fin de semestre formera l'autre moitié.
- (pas de partiel de mi-semestre)