Ce cours explore trois questions à propos des langages de
programmation :
Notes de cours
- Partie 1 : vue d'ensemble [ notes ]
- Partie 2 : analyse syntaxique [ notes ]
- Partie 3 : sémantique et compilation d'un langage impératif [ notes ]
- Partie 4 : sémantique et compilation d'un langage orienté objet [ notes ]
Archives
- Partiel 2023 [ sujet corrigé ]
- Examen 2023 [ sujet ]
Programme
Première période. | ||
Date | Cours | TD/TP |
---|---|---|
02/09 | 1. Panorama | |
02/09 | 2. Interprétation | |
09/09 | TP mise en route caml [ énoncé ] |
|
09/09 | TD induction structurelle [ énoncé | imp.ml | corrigé ] |
|
16/09 | 3. Syntaxe | TD grammaires [ énoncé | corrigé ] |
23/09 | 4. Assembleur | TP assembleur MIPS [ énoncé | imp2mips.ml | corrigé ] [ mystère 1 | mystère 2 | mystère 3 ] |
30/09 | 5. Analyse lexicale | TD expression régulières [ énoncé | corrigé ] |
07/10 | 6. Analyse syntaxique | TD analyse ascendante [ énoncé | corrigé ] |
14/10 | 7. Outils d'analyse | TP lex/yacc [ énoncé | corr 1 | corr 2 ] [ if | fcall | fcall2 | impcat ] |
21/10 | Partiel | |
28/10 | Vacances | |
Deuxième période. | ||
Date | Cours | TD/TP |
04/11 | 8. Types | TD types [ énoncé | corrigé ] |
18/11 | 9. Fonctions | TP projet [ début projet Kawa ] |
25/11 | 10. Structures | TD Assembleur MIPS (fonctions et mémoire) [ .pdf | corrigé ] |
02/12 | 11. Prog. objet | TP projet |
09/12 | 12. Compilation objet | TD révisions [ sujet corrigé ] |
16/12 | Examen |
Autres ressources
MIPS
Ocaml
- Vous trouverez de nombreuses ressources sur ocaml.org
- Conchon et Filliâtre, Apprendre à programmer avec
OCaml. Algorithmes et structures de données. (ouvrage)
Ouvrages sur (et autour de) la compilation
- Vous trouverez de nombreuses ressources sur ocaml.org
- Conchon et Filliâtre, Apprendre à programmer avec OCaml. Algorithmes et structures de données. (ouvrage)
Ouvrages sur (et autour de) la compilation
- Aho, Lam, Sethi et Ullman, Modern Compilers: Principles, Techniques, and Tools.
Dit le dragon.
Traduit en français (Compilateurs : principes, techniques et outils). - Pierce, Types and Programming Languages.
- Bryant et O'Hallaron, Computer Systems: A Programmer's Perspective.
- Nisam et Schocken, The Elements of Computing Systems: Building a Modern Computer from First Principles.
- Appel, Modern Compiler Implementation in ML.