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 ] |
|
| 16/09 | 3. Syntaxe | TD grammaires [ énoncé ] |
| 23/09 | 4. Assembleur | TP assembleur MIPS [ énoncé | imp2mips.ml ] [ mystère 1 | mystère 2 | mystère 3 ] |
| 30/09 | 5. Analyse lexicale | TD expression régulières [ énoncé ] |
| 07/10 | 6. Analyse syntaxique | TD analyse ascendante [ énoncé ] |
| 14/10 | 7. Outils d'analyse | TP lex/yacc [ énoncé ] [ 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é ] |
| 18/11 | 9. Fonctions | TP projet [ début projet Kawa ] |
| 25/11 | 10. Structures | TD Assembleur MIPS (fonctions et mémoire) [ .pdf ] |
| 02/12 | 11. Prog. objet | TP projet |
| 09/12 | 12. Compilation objet | TD révisions |
| 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.