1.5 GENERADORES DE CODIGO PARA COMPILADORES (COMPILADOR DE COMPILADORES)
1. 1.5 GENERADORES DE CODIGO PARA COMPILADORES (COMPILADOR DE COMPILADORES) MAYRA HERNANDEZ GALINDO NAYELI HERNANDEZ MELLADO ELIZABETH RAMIREZ LUNA DESLY SANCHEZ JUAREZ
2. INTRODUCCION Aquí se hablará de las herramientas generadoras automáticas de código para un compilador. Estas herramientas trabajan basadas en un conjunto de reglas; estas reglas definen la traducción de las instrucciones del lenguaje intermedio al lenguaje de máquina.
3. OBJETIVO El compilador recibe una entrada de caracteres, por lo general escrita por el programador. El compilador realiza los análisis: léxico, sintáctico y semántico, para generar seguidamente el código intermedio. Se hace la optimización del código intermedio. Realiza la generación de código objeto en lenguaje de máquina.
4. Un compilador o compilador generador es una herramienta que crea un programa de análisis , intérpreteo compilador de algún tipo de descripción formal de un lenguaje y una maquina. La más antigua y aún más común forma de compilador de compilador es un generador de analizadores sintácticos, cuya entrada es una gramática de un lenguaje de programación, y cuya salida se genera el código fuente de un analizador utiliza a menudo como un componente de un compilador .
5. Un programa de análisis típicos asociados generador de código ejecutable con cada una de las reglas de la gramática que debe ser ejecutado cuando estas normas sean aplicadas por el analizador. Se refieren a veces como las rutinas de acción semántica ya que definen la semántica de la estructura sintáctica que se analiza por el intérprete.
6. Compiladores experimentales toma como entrada una descripción formal de la semántica del lenguaje de programación, por lo general utilizando semántica denotativa
7. Compilador de compiladores existen en diferentes formas, incluida la de abajo hacia arriba reescribir generadores máquina utilizado para los árboles de sintaxis baldosas en función de una reescritura de la gramática . ANTLR puede ser utilizado para la comprobación de tipos simultánea, constante propagación, y más durante la fase de análisis. ANTLR es un software desarrollado en JAVA
8. El uso de una sola herramienta para todos los niveles tiene varias ventajas La más importante es la “estandarización”: con ANTLR basta con comprender el paradigma de análisis una vez para poder implementar todas las fases de análisis. flex está basado en autómatas finitos deterministas y bison en un analizador LALR), además de necesitar de otras herramientas para realizar el análisis semántico.
9.
10. CONCLUSIONES Para crear un generador de código se deben hacer muchas de las tareas que realizan los compiladores; algunas de estas tareas son: La búsqueda de patrones, la escritura de código, el análisis sintáctico, el análisis léxico y la optimización de código.