Cours de compilation-exercices

883 mots 4 pages
Cours de Compilation-Exercices
Master d'Informatique M1 2011{2012
24 octobre - 2 novembre 2011
5 Generation de code elementaire
5.1 Passage de parametres
Soit le programme: program param; var x : int; procedure proc(y:int); begin x:=x+y; y:=y+1 end; begin x:=2; proc(x); print(x) end;
Quel est le resultat de ce programme lorsque le parametre y de proc est passe :
1. par valeur,
2. par reference,
3. par copie/restauration,
4. par nom.
5.2 Tableaux d'activation et recursion terminale
On reprend le langage etudie lors de l'analyse semantique. Ce langage manipule des entiers et des booleens et permet de de nir des variables et des fonctions.
Lors de la phase de generation de code, les localisations ne sont plus necessaires dans l'arbre de syntaxe abstraite ni les types. On supposera que la phase d'analyse semantique a reconstruit un programme dans le type suivant (cf chier tree.mli) en attribuant des noms uniques a chaque variable. Chaque utilisation de variable est de plus annotee a n de distinguer les variables locales des variables globales. type l o c a l = Loc j Glob type c t e = Int of i n t j Bool of bool type op = Plus j Mult j Div j Minus j Leq j Geq j Lt j Gt j Eq type expr = j Cst of c t e j Var of l o c a l  s t r i n g j Binop of op  expr  expr j Le t in of s t r i n g  expr  expr j I f of expr  expr  expr j Ca l l of s t r i n g  expr l i s t type de c l = j Vdecl of s t r i n g  expr j Fdecl of s t r i n g  s t r i n g l i s t  expr type program = de c l l i s tNovember 2, 2011 2
Le resultat de l'evaluation d'un programme forme d'une suite de declarations consiste a imprimer les valeurs de chaque variable globale introduite.
Ce langage est compile vers du code MIPS, neanmoins on choisit un schema de compilation naf dans lequel les variables locales sont stockees sur la pile. On pourra par contre choisir de stocker les calculs intermediaires soit uniquement dans la pile

en relation

  • Fdap pages
    360 mots | 2 pages
  • Fdap
    432 mots | 2 pages
  • Sdfsf
    1238 mots | 5 pages
  • Méthode bac pro hotellerie dossier à 5 pages
    342 mots | 2 pages
  • Cas alpina savoie
    340 mots | 2 pages
  • Fiches e3
    355 mots | 2 pages
  • dossier eleve cas senseo
    822 mots | 4 pages
  • Fiche descriptive bac pro restauration
    287 mots | 2 pages
  • Fdap
    2481 mots | 10 pages
  • Fdap
    1001 mots | 5 pages
  • Le bac
    551 mots | 3 pages
  • acrc
    2528 mots | 11 pages
  • Dossier pro
    490 mots | 2 pages
  • A TABLE
    4900 mots | 20 pages
  • Cours constit
    17064 mots | 69 pages