Rapport jtable et mvc
Arbre syntaxique décoré (ou arbre de syntaxe abstraite)
Programmeen langa9e cible
de code: plan
. Arbre de syntaxe abstraite et sa simplificationpar réécriture ou évaluation Dârtielle . Notion d environnement dEx*ution (5.1 en ligne) . Génération de cde intermâliaire 'tode à 3 adresses" (5.2 en ligne) . Optimisation de code intermédiaire indépendante de la
(paranalyse machine statique flot de contrôle/données) du -> . Production codecible(Machine abstraite concrète) de
. Allocation/assignement des registres , Générationde code cible ' Optimisationde code cible (dépendantede la machine)
Arbrede syntaxe abstraite
-> Laoroduction codeintermédiaire de s'aopuie sur lârbresyntaxique abstrait construit bê l'analyse lors svntaxioue Inst -> s/Cond alorslnst sinonlnsl
Si alors
T2
Simplification l?rbrede de par syntaxe abstraite réécriture
-> x1 . Si_alors_sinon(vrai,x1,x2) -> x2 . Si_alors_sinon(faux,x1,x2)
. . . ' .
-> Mult(x1,0) 0 -> Mult(O,xl) 0 -> Mult(xl,1) x1 -> x1 Mult(1,x1) Etc...
Simplification I'arbre syntaxe de de par évaluation partielle ,f.,abstraite évaluation partielle : -> remplacer sa valeurune expression par calculable moment la comoilation au de (entiers,réels,constantes, par combinés des prédéfinis) opérateurs
/\
3 7 x
/K
1 0
Environnement d'exécution : organisation la mémoire de
.Fonctions récursives ?
.Passagede paramètres(appel) ? .Allocationmémoire dynamique? .Si oui, libérationexplicite? Sur la machine cible : .Longueur des mots ou adresses? .Entités directementadressables ? .Instructionsspécifiques accès? . Etc...
général: Modèle
Code cible Données statioues Pile contrôle de to5 2
Lecodeintermédiaire
Le code intermédiairecontient : . des variables de type de base : entier, bælé€n, flottant et éventuellement tableau "mémoire" . des oÉrations explicites : allocation, libérâtion (désallocation), de arithmétique pointeurs . des expressionsarithmétiques ou