Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| formations:masters:ue:m2:transfo10 [2023/04/21 09:25] – [Pré-requis] lien vers syllabus PF5 treinen | formations:masters:ue:m2:transfo10 [2025/01/29 10:46] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. admin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ~~NOTOC~~ | ||
| + | |||
| + | ====== Transformation de Programmes ====== | ||
| + | |||
| + | ===== Description ===== | ||
| + | |||
| + | Ce module s' | ||
| + | de code qui ont typiquement lieu au coeur d'un compilateur. | ||
| + | Ce cours s'est d' | ||
| + | quelques années. On ne se concentre pas ici sur l' | ||
| + | (le " | ||
| + | plutôt sur les étapes intermédiaires ayant lieu sur l'AST (Abstract Syntax Tree, | ||
| + | alias Arbre de Syntaxe). | ||
| + | |||
| + | |||
| + | ===== Syllabus ===== | ||
| + | ==== Sujets centraux ==== | ||
| + | |||
| + | - Représentations intermédiaires, | ||
| + | - Machine à pile, JVM (Java Virtual Machine), Bytecode | ||
| + | - Récursivité terminale | ||
| + | - Notion de continuations, | ||
| + | - Forme normale " | ||
| + | |||
| + | ==== Sujets potentiellement traités ==== | ||
| + | |||
| + | - Notion de trampoline | ||
| + | - call-cc (call-with-current-continuation) et les opérateurs de contrôle | ||
| + | |||
| + | ===== Pré-requis ===== | ||
| + | |||
| + | - Avoir suivi au préalable un premier cours de compilation est fortement recommandé (par exemple [[..: | ||
| + | - Avoir déjà une bonne pratique de la programmation fonctionnelle (voir par exemple [[..: | ||