Compiladors II - 25002
Examen de prácticas junio 2002

  1. El node ('BLOC' espai_vars espai_temporals) representa:
     espai_vars és l'espai necessari per guardar totes les variables del programa i espai_temporals l'espai per les variables temporals del bloc bàsic corresponent
     espai_vars és l'espai necessari per guardar totes les variables del bloc bàsic coresponent
     espai_temporals s'incrementa si es creen variables temporals dins d'un bloc bàsic
       c, però únicament s'incrementa quan les variables temporals estiguin dins d'una funció
       Cap de les anteriors
       No contesto...
 
  2. A l'aplicar un vis --c a l'arbre, que significa trobar _CV(_VAR(1,2))?
     Es tracta de la direcció d'una variable global
     Es tracta de la direcció d'una variable local
     Es tracta del valor d'una variable global
       Es tracta del valor d'una variable local
       b), si es tracta d'un paràmetre per referència
       No contesto...
 
  3. El subarbre següent representa:
(muy viejo)
     x
     x
     x
       x
       x
       No contesto...
 
  4. En reordenació d'expressions, a l'expressió: b:= a + f(...) + a
     Si la segona a és global, no es pot passar a davant de la crida a funció
     Si la segona a és local, però es passa per referència com a paràmetre de la funció, tampoc es reordena
     a) i b)
       Si la instrucció anterior és a:=5, es pot propagar el valor de 5 a les dues a
       c) i d)
       No contesto...
 
  5. Quan no s'aplica la propagació de constants:
     Al comptador d'un bucle for
     A la condició d'un if
     Quan hi ha canvi de bloc bàsic
       a) i c)
       b) i c)
       No contesto...
 
  6. Si a és igual a 0, i b és un valor desconegut dins d'un bloc bàsic, a quines expressions no aplicarem folding?
     a * b
     b / a
     a / b
       a) i b)
       b) i c)
       No contesto...
 
  7. Les variables temporals:
     Són generades pel compilador cc2
     El nivell i el desplaçament han de coincidir amb alguna de les variables generades pel compilador cc2
     Sempre han de ser globals
       Tenen un nivell i un desplaçament associat
       b) i d)
       No contesto...
 
  8. En el procediment de reducció de subexpressions comuns, quina o quines de les següents afirmacions és falsa:
     Es tracta d'identificar subexpressions iguals que es calculin més d'una vegada dins de cada bloc bàsic
     a), però dos subexpressions poden pertànyer a diferents blocs bàsics
     Hi ha que mantenir una taula d'expressions a memòria
       Les variables temporals s'utilitzen per a subsituir subexpressions repetides
       a) i c)
       No contesto...
 
  9. En el procediment de reducció de subexpressions comuns, quines tasques s'han de fer:
     Buscar expressions a l'arbre
     Comparar expressions entre si
     Reordenació de les expressions
       Propagació de constants
       a) i b)
       No contesto...
 
  10. Quina informació hem de guardar, com a mínim, per a aplicar la reducció de subexpressions comuns:
     El punt i coma d'on penja l'expressió
     L'expressió (els operadors, com a mínim)
     Saber si per aquesta expressió s'ha creat una variable temporal
       a) i c)
       Totes les anteriors
       No contesto...
 

Check...