Considere el siguiente esquema de traducción dirigida por sintaxis (SDTS), con no terminales {S, A} y terminales {a, b}}.
Usando el SDTS anterior, la salida impresa por un analizador de abajo hacia arriba, para la entrada aab es
(A) 1 3 2
(B) 2 2 3
(C) 2 3 1
(D) Error de sintaxis
Respuesta: (C)
Explicación: El analizador de abajo hacia arriba construye el árbol de análisis de abajo hacia arriba, es decir, desde la string dada hasta el símbolo inicial. La string dada es aab y el símbolo inicial es S.
entonces el proceso es comenzar desde aab y llegar a S.
=>aab (string dada)
=>aSb (después de la reducción por S->a, y por lo tanto imprime 2)
=>aA (después de la reducción por A->Sb, y por lo tanto imprime 3)
=>S (después de la reducción por S- >aA, y por lo tanto imprima 1)
Cuando llegamos al símbolo inicial de la string, la string pertenece al lenguaje de la gramática.
Otra forma de hacer lo mismo es: – El analizador de abajo hacia arriba hace el análisis por RMD a la inversa.
RMD es el siguiente:
=>S
=> aA (por lo tanto, imprime 1)
=> aSb (por lo tanto, imprime 3)
=> aab (por lo tanto, imprime 2)
Si lo llevamos al revés imprimirá: 231
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