Considere las producciones A → PQ y A → XY. Cada uno de los cinco no terminales A, P, Q, X e Y tiene dos atributos: s es un atributo sintetizado e i es un atributo heredado. Considere las siguientes reglas.
Rule 1: P.i=A.i+2, Q.i=P.i+A.i, and A.s=P.s+Q.s Rule 2: X.i=A.i+Y.s and Y.i=X.s+A.i
¿Cuál de las siguientes es VERDADERA?
(A) Tanto la Regla 1 como la Regla 2 tienen atributos L
(B) Solo la Regla 1 tiene atributos L
(C) Solo la Regla 2 tiene atributos L
(D) Ni la Regla 1 ni la Regla 2 tienen atributos L
Respuesta: (B )
Explicación: Según SDT con atributos L :
- Si una SDT utiliza atributos sintetizados y atributos heredados con la restricción de que el atributo heredado puede heredar valores solo de los hermanos izquierdos, se denomina SDT con atributos L.
- Los atributos en las SDT con atributos L se evalúan mediante un análisis de profundidad primero y de izquierda a derecha.
- Las acciones semánticas se colocan en cualquier lugar de RHS.
Por lo tanto,
Rule 1: P.i=A.i+2, Q.i=P.i+A.i, and A.s=P.s+Q.s
La regla 1 tiene atribución L por definición.
Sin embargo,
Rule 2: X.i=A.i+Y.s and Y.i=X.s+A.i
La regla 2 no tiene atributo L porque esta expresión (X. Regla 2: i = Ai + Ys) no cumple con la definición de atributo L.
Se falla para Xi =Ai +Ys ya que X toma valor de su hermano presente por su derecha, es decir, (A → XY).
La opción (B) es correcta.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA