GoConqr has a new look! Let us know what you think.

Quiz

PL TecerParcial

natalia garcia 11 questions

Take the quiz

Questions in this quiz (11)

  1. 1Un traductor dirigido por la sintaxis consiste en añadir a un autómata con pila la posibilidad de ejecutar código asociado a las reglas sintácticas y transmitir información a través de los símbolos de las mismas.
    1. AVerdadero
    2. BFalso
  2. 2Dado el siguiente traductor dirigido por la sintaxis, indica el tipo de cada atributo existente en él:
    S ::= {A.x = 0;} A C {print(C.z * A.y);}
    A ::= a {A1.x = A.x + 1} A1 {A.y = A1.y} | b {print(A.x); A.y = A.x}
    C ::= c {C.z = 1;} | d {C.z = 2;}
    A.x es el único atributo heredado, mientras que A.y y C.z son sintetizados.
    1. AVerdadero
    2. BFalso
  3. 3Si un traductor de un analizador ascendente implementa un orden de evaluación basado en árbol sintáctico, la ejecución de las acciones se asociará a las derivaciones realizadas durante el análisis.
    1. AVerdadero
    2. BFalso
  4. 4Sobre las acciones semánticas que faltan en la producción T ::= T1*F del vídeo, la acción correcta sería:
    T ::= T1*F {T1.val = T.val * F.val}
    Image for question 4
    1. AVerdadero
    2. BFalso
  5. 5Sobre las acciones semánticas que faltan en las producciones E ::= T y T ::= F del vídeo, es cierto que: no es necesario incluir ninguna acción puesto que no hay ninguna operación que realizar en estas producciones.
    Image for question 5
    1. AVerdadero
    2. BFalso
  6. 6La acción semántica de la producción F ::= (E) será:
    F ::= (E) {F.val = E.val}
    Image for question 6
    1. AVerdadero
    2. BFalso
  7. 7Dado el siguiente traductor dirigido por la sintaxis especificado como un esquema de traducción (EDT):
    S ::= {A.x = 0;} A C {println(C.z * A.x);}
    A ::= a {A1.x = A.x + 1} A1 {A.y = A1.y} | b {println(A.x); A.y = A.x}
    C ::= c {C.z = 1;} | d {C.z = 2;}
    Al procesar la cadena de entrada:
    aabd
    El resultado sería:
    2
    0
    1. AVerdadero
    2. BFalso
  8. 8La siguiente gramática especifica un traductor capaz de hacer restas de enteros:
    S ::= S1 – cte {S.valor = S1.valor – cte.valex}
    | cte {S.valor = cte.valex}
    Para poder implementar un traductor descendente sería necesario eliminar la recursividad por la izquierda en el traductor. Se propone la siguiente transformación:
    S ::= cte – S1 {S.valor = cte.valex - S1.valor}
    | cte {S.valor = cte.valex}
    1. AVerdadero
    2. BFalso
  9. 9Dado el siguiente código de un traductor recursivo:
    float X(float X_at2)
    {
    float X1_at1, X1_at2, z_lex, W_v;
    if(entrada == z){
    cmp(z);
    X1_at2=f1(X_at2,z_lex);
    X1_at1=X(X1_at2);
    cmp(y);
    return(X1_at1);
    } else if(entrada == t){
    W_v = W();
    return(f2(X_at2,W_v));
    } else error();
    }
    1. AEl código de este traductor recursivo se asocia a la siguiente definición dirigida por la sintaxis:
      X ::= z {X1.at2 = f1(X.at2,z.lex);} X1 y {X.at1 = X.at1;}
      | W {X.at1 = f2(X.at2,W.v);}
    2. BX es un símbolo con un atributo sintetizado representado por f2.
    3. CX es un símbolo con un atributo heredado representado por X_at2.
    4. DW es un símbolo con un atributo heredado representado por W_v.
  10. 10Indique si la siguiente afirmación es cierta o falsa:
    La traducción ascendente, TDS implementado con analizadores ascendentes, no permite la ejecución de acciones semánticas intercaladas en el consecuente. Al basarse en un analizador ascendente funciona por reducciones, por lo que sólo podremos ejecutar acciones cuando se apliquen estas reducciones, lo que implica la detección consecuentes completos, no con consecuentes parcialmente detectados.
    1. AVerdadero
    2. BFalso

Information

Description
PL
Language
Español
Views
54
Rating
No ratings yet
Rate this quiz
Rate this quiz

Feedback

What is it about?

What do you think of the new look?

How do you like it?