Considere el esquema de traducción que se muestra a continuación
S → T R R → + T {print ('+');} R | ε T → num {print (num.val);}
Aquí num es un token que representa un número entero y num.val representa el valor entero correspondiente. Para una string de entrada ‘9 + 5 + 2’, este esquema de traducción imprimirá
(A) 9 + 5 + 2
(B) 9 5 + 2 +
(C) 9 5 2 + +
(D) + + 9 5 2
Respuesta : (B)
Explicación: Hagamos el árbol de análisis sintáctico para 9+5+2 de arriba hacia abajo, primera derivación a la izquierda.
Steps: 1) Expand S->TR 2) apply T->Num... 3) apply R -> +T... 4) appy T->Num... 5) apply R-> +T.. 6) apply T-> Num.. 7) apply R-> epsilon
Después de imprimir a través de la declaración de impresión en el árbol de análisis formado, obtendrá la respuesta como 95+2+
Cuestionario de esta pregunta
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