Compiladors II - 25002
Junio 2003 (prácticas)
Corregido por alumnos

  1. En la primera entrega de prácticas la búsqueda de factores y términos se realizaba...
     Por arbol.arg(1)
     Por arbol.arg(2)
     Por arbol.arg(0) y arbol.arg(1)
       Por arbol.arg(1) y arbol.arg(2)
       Ninguna de las anteriores.
       No contesto...
 
  2. En el folding implementado en la práctica se detecta que A es una constante con las condiciones:
     TypeP(Integer, A) && TypeP(Real, A)
     TypeP(int, A) && TypeP(float, A) && TypeP(double, A)
     TypeP(Int, A) && TypeP(Real, A)
       TypeP(String, A) && TypeP(Real, A)
       Ninguna de las anteriores.
       No contesto...
 
  3. El algoritmo de folding implementado en la práctica busca
     factores y términos.
     factores, términos y expresiones.
     factores, términos, expresiones y asignaciones.
       factores, términos y asignaciones.
       Ninguna de las anteriores.
       No contesto...
 
  4. El núcleo de la división en bloques básicos es:
     una función recursiva donde se da un tratamiento diferente a cada instrucción de control de flujo.
     un bloque donde se da un tratamiento diferente a cada instrucción de control de flujo.
     Un switch donde se da un tratamiento diferente a cada instrucción de control de flujo.
       a) y c)
       Ninguna de las anteriores.
       No contesto...
 
  5. La división en bloques básicos utiliza una estructura de:
     Lista de listas de apuntadores (links)
     Lista de listas de árboles (applys)
     Lista de vectores de apuntadores (links)
       Lista de vectores de árboles (applys)
       Ninguna de las anteriores.
       No contesto...
 
  6. La implementación de la propagación de constantes se basa en
     reconstruir el árbol completo con las variables sustituidas por constantes.
     Modificar el árbol con las sustituciones de variables por constantes.
     Sustituir las asignaciones de variables por constantes en el árbol.
       b) y c)
       Ninguna de las anteriores.
       No contesto...
 
  7. Las llaves de la instrucción compuesta forma un árbol con la estructura
     Apply(InstrComp, instrucción1, instrucción2, ...)
     Apply(InstrComp, Apply(\;, instrucción1, Apply(\;, instrucción2, ...)))
     Apply(InstrComp,Apply(\;Apply(\;, instrucción1, instruccion2),...))
       Apply(InstrComp,{instrucción1, instrucción2,...})
       Ninguna de las anteriores.
       No contesto...
 
  8. La búsqueda de invariantes de bucle tiene que conocer
     Las variables que se modifican en el bucle.
     Las operaciones que pueden formar parte de una invariante.
     Las instrucciones que se puede asegurar que se ejecutarán en cada iteración del bucle.
       Todas las anteriores.
       Ninguna de las anteriores.
       No contesto...
 
  9. La instrucción do_while forma un árbol con la estructura:
     Apply(do_while, cuerpo, condición)
     Apply(do_while,condición, cuerpo)
     Apply(do, cuerpo, Apply(while, condición))
       Apply(while, condición, cuerpo)
       Ninguna de las anteriores.
       No contesto...
 
  10. Después de aplicar la reducción de frecuencia implementada en la práctica puede pasar que...
     La condición de los bucles while y do_while se dupliquen.
     La condición de los bucles while no se duplique y la condición de los do_while si se duplique.
     La condición de los bucles while se duplique y la condición de los do_while no se duplique.
       La condición de los bucles while y do_while no se duplique nunca.
       Ninguna de las anteriores.
       No contesto...
 

Check...