En este artículo, vamos a cubrir la aplicación de traducción dirigida por sintaxis donde también veremos un ejemplo real y cómo se puede resolver el problema con estas aplicaciones. vamos a discutir uno por uno.
Requisito previo: Introducción a la traducción dirigida por sintaxis
Traducción dirigida por sintaxis:
se utiliza para el análisis semántico y SDT se utiliza básicamente para construir el árbol de análisis sintáctico con acción gramatical y semántica. En Gramática, la necesidad de decidir quién tiene la prioridad más alta se hará primero y En la acción semántica, se decidirá qué tipo de acción realiza la gramática.
Ejemplo :
SDT = Grammar+Semantic Action Grammar = E -> E1+E2 Semantic action= if (E1.type != E2.type) then print "type mismatching"
Aplicación de traducción dirigida por sintaxis:
- SDT se utiliza para ejecutar expresiones aritméticas.
- En la conversión de expresión infijo a sufijo.
- En la conversión de expresión de infijo a prefijo.
- También se utiliza para la conversión de binario a decimal.
- Al contar el número de Reducción.
- En la creación de un árbol de sintaxis.
- SDT se utiliza para generar código intermedio.
- En el almacenamiento de información en la tabla de símbolos.
- SDT también se usa comúnmente para la verificación de tipos.
Ejemplo:
aquí, vamos a cubrir un ejemplo de aplicación de SDT para comprender mejor los usos de la aplicación SDT. Consideremos un ejemplo de expresión aritmética y luego verá cómo se construirá SDT.
Consideremos que se da la expresión aritmética.
Input : 2+3*4 output: 14
SDT para el ejemplo anterior.
La acción semántica se da de la siguiente manera.
E -> E+T { E.val = E.val + T.val then print (E.val)} |T { E.val = T.val} T -> T*F { T.val = T.val * F.val} |F { T.val = F.val} F -> Id {F.val = id}
Publicación traducida automáticamente
Artículo escrito por Ashish_rana y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA