Introduction: Fondements de la compilation
Télécharger pour écran, pour impression par 2 ou par 4.
- Pourquoi étudier la construction de compilateurs ?
- Qu’est-ce qu’est un compilateur ?
- Langages et syntaxe
Analyse lexicale
Télécharger pour écran, pour impression par 2 ou par 4.
- Les langages réguliers
- Comment construire un analyseur lexical ?
- Génération automatique d’analyseurs lexicaux
Analyse syntaxique
Télécharger pour écran, pour impression par 2 ou par 4.
- Analyse syntaxique par descente récursive
- Analyse syntaxique ascendante
- Gestion des erreurs
Analyse syntaxique par combinateur
Télécharger pour écran, pour impression par 2 ou par 4.
- Grammaires et langages
- Combinateurs d’analyseurs syntaxiques
- Combinateurs d’analyseurs syntaxiques tout-en-un
Syntaxe abstraite
Télécharger pour écran, pour impression par 2 ou par 4.
- Arbres de syntaxe
- Accéder aux arbres de syntaxe
- Décomposition fonctionnelle : Limitations de Java
Une description de la syntaxe abstraite de Drei (2 p.p., 4 p.p.) est aussi disponible.
Analyse des noms
Télécharger pour écran, pour impression par 2 ou par 4.
- Symboles et types
- Résolution des noms
- Performance de l'analyse de noms
Analyse de types
Télécharger pour écran, pour impression par 2 ou par 4.
- Systèmes de types
- Règles d’inférence
Une description du système de types de Drei (2 p.p., 4 p.p.) est aussi disponible.
Grammaires attribuées
Télécharger pour écran, pour impression par 2 ou par 4.
- Grammaires attribuées
- Implantation
Production de code, expressions arithmétiques
Télécharger pour écran, pour impression par 2 ou par 4.
- Langages cibles
- Génération de code cible
Une description du processeur RISC est aussi disponible.
Production de code, gestion de la mémoire et contextes
Télécharger pour écran, pour impression par 2 ou par 4.
- Gestion de la mémoire
- Production de code — Contextes de compilation
Production de code, fonctions et classes
Télécharger pour écran, pour impression par 2 ou par 4.
- Stocker les variables locales
- Méthodes de dispatching OO
- Structure du code
Production de code, langages à héritage multiple
Télécharger pour écran, pour impression par 2 ou par 4.
- Héritage multiple
- Techniques de dispatching
- Les compilateurs JIT
Introduction aux optimisations
Télécharger pour écran, pour impression par 2 ou par 4.
- Optimisations simples (réduction, élimination, sous-expressions communes)
- Optimisations avancées
Gestion dynamique de la mémoire
Télécharger pour écran, pour impression par 2 ou par 4.
- Mémoire dynamique
- Glanage de cellules
- Mémoire dynamique : où en est-on ?