Cours en salle C307.

Le but de ce cours est de comprendre comment les langages de programmation s'articulent autour de la notion de sémantique, et d'illustrer ceci au travers de la réalisation en projet d'un mini-compilateur pour un langage-jouet, vers le langage machine.

Voici un guide de référence de l'assembleur Pentium, qui vous sera utile dans le projet.

1  Architecture

Ou: qu'est-ce que c'est et comment ça marche, un ordinateur?

2  Un aperçu de deux langages

2.1  Le langage C

C est l'un des langages les plus utilisés aujourd'hui, vous verrez ici sa syntaxe...

Mais le point important c'est que C est essentiellement une syntaxe portable pour la sémantique que vous aurez déjà vue pour le langage machine.

2.2  Le langage Caml

Caml est l'exemple typique d'un langage fonctionnel, c'est-à-dire fondé sur la notion de fonction. Il présente une sémantique plus évoluée que les langages précédents.

Le but est aussi d'apprendre ou de rappeler des concepts permettant d'écrire le compilateur du projet, qu'il est conseillé d'écrire en Caml.

3  Compilation et sémantique

4  Partiel

Devoir à la maison, distribué le mercredi 13 novembre, 10h30 (aussi en version PostScript). À rendre au plus tard le mercredi 20 novembre, soit dans ma case courrier au LSV soit par mail (goubault@lsv.ens-cachan.fr).

Suite du cours à partir du lundi 18 novembre, avec Delia Kesner.

5  Examen

Examen du 13 février 2003, partie 1, avec correction (aussi en version PostScript).


This document was translated from LATEX by HEVEA.