lunes, 2 de mayo de 2011

Un traductor simple orientado a la sintaxis


El traductor orientado ala sintaxis asigna expresiones aritméticas. La fase del analisis de un compilador descompone el programa fuente en piezas y componentes la cual produce una representación interna la cual conocemos como código intermedio. La fase de síntesis traduce el código intermedio en el programa destino.

El análisis se organiza de acuerdo con la sintaxis del lenguaje que vallamos a compilar.

  • sintaxis de un lenguaje de programación describe el formato apropiado de sus programas.
  • Semántica del lenguaje define lo que sus programas significan; es decir lo que hace cada programa cuando se ejecuta.
Un analizador léxico nos permite que un traductor maneje instrucciones de varios caracteres como identificadores, que se describen como secuencias de caracteres, las cuales se tratan como unidades conocidas como tokens durante el análisis sintactico.

La gramatica se utiliza para especificar la sintaxis de un lenguaje.

  • La gramática describe de forma natural la estructura jerarquica de al mayoria de las instrucciones de un lenguaje de programación.
En un compilador el analizador léxico lee los caracteres del programa fueste, los agrupa en unidades con significando léxico llamadas lexemas y produce como salida tokens que se encargan de la representación de los lexemas.

  • Token: consiste en dos componentes, el nombre del token y un valor del atributos.
Los nombres de los tokens son símbolos abstractos que que utiliza el analizador sintáctico para su análisis . a esos tokens les llamamos terminales, ya que parecen como símbolos terminales en la gramática para un lenguaje de programación.

Los arboles de análisis sintáctico nos muestra al forma gráfica, la manera en que el símbolo inicial de una gramática deriba de una cadena en el lenguaje.

Un árbol de análisis sintáctico tiene que cumplir con las siguientes propiedades:
  1. La raíz de la etiqueta con el símbolo inicial.
  2. Cada hoja se etiqueta con una terminal o con un símbolo.
  3. Cada nodo interior se etiqueta con un no terminal.
  4. Si A es el no terminal que etiqueta a cierto nodo interior son las etiquetas de los hijos a ese nodo izquierda a derecha entonces debe haber una producción.

Los recorridos de los arboles son para describir la evaluación de los atributos y especificar la ejecución de los fragmentos de código en un esquema de traducción. Un recorrido de un árbol empieza en la raíz y visita cada nodo del árbol en cierto orden.

Analisis Sintactico (parsing) es el proceso de determinar como puede generarse una cadena de terminales mediante una gramatica. Un analizador sintactico debe ser capaz de construir el arbol en principio o de lo contrario no se puede garantizar que la traduccion sea correcta.

Conclución:
Gracias al analizador sintactico nos apoyamos o nos ayuda a determinar y generar una cadena mediante una gramatica ya antes establecida, la cual debe ser capas de garantizar que la traduccion sea correcta. El analisis de un compilador nos ayuda a descomponer el programa fuente el cual produce una representación interna para traducir el codigo. Es una parte muy importante para la creacion y el correcto funcionamiento del compilador.


Diego Espinoza Corona 5s21 Programación de sistemas

No hay comentarios:

Publicar un comentario