Generacion de un codigo

Páginas: 8 (1980 palabras) Publicado: 13 de diciembre de 2009
La generación de código data desde la existencia de los primeros compiladores. Hasta la aparición de los primeros generadores de código comerciales u orientados a "usuarios finales"; la generación de código era exclusividad de programas compiladores especializados.

En tiempos más recientes la generación de código, gracias al avance de la ingeniería del software, se ha llevado a un niveldiferente; donde se encuentran programas generadores de pantallas, reportes y consultas, estas son herramientas de gran utilidad; pero se debe, en la mayoría de los casos, Pagar una gran cantidad de dinero por ellos.

                          [pic]

Figura 2.1. Arquitectura de un Compilador

Un compilador, básicamente, es un programa que lee un archivo con código fuente; este código fuente lotraduce a un lenguaje llamado lenguaje objeto. En este proceso se le indica al usuario la existencia de errores de codificación.

Partes de un compilador
La construcción de un compilador involucra la división del proceso en una serie de fases que variará con su complejidad. Generalmente estas fases se agrupan en dos tareas: el análisis del programa fuente y la síntesis del programa objeto.
•Análisis: Se trata de la comprobación de la corrección del programa fuente, e incluye las fases correspondientes al Análisis Léxico (que consiste en la descomposición del programa fuente en componentes léxicos), Análisis Sintáctico (agrupación de los componentes léxicos en frases gramaticales ) y Análisis Semántico (comprobación de la validez semántica de las sentencias aceptadas en la fase deAnálisis Sintáctico).
• Síntesis: Su objetivo es la generación de la salida expresada en el lenguaje objeto y suele estar formado por una o varias combinaciones de fases de Generación de Código (normalmente se trata de código intermedio o de código objeto) y de Optimización de Código (en las que se busca obtener un código lo más eficiente posible).
Alternativamente, las fases descritas para lastareas de análisis y síntesis se pueden agrupar en Front-end y Back-end:
• Front-end: es la parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte suele ser independiente de la plataforma o sistema para el cual se vaya a compilar, y está compuesta por las fases comprendidas entre el Análisis Léxico y laGeneración de Código Intermedio.
• Back-end: es la parte que genera el código máquina, específico de una plataforma, a partir de los resultados de la fase de análisis, realizada por el Front End.
Esta división permite que el mismo Back End se utilice para generar el código máquina de varios lenguajes de programación distintos y que el mismo Front End que sirve para analizar el código fuentede un lenguaje de programación concreto sirva para generar código máquina en varias plataformas distintas. Suele incluir la generación y optimización del código dependiente de la máquina.
El código que genera el Back End normalmente no se puede ejecutar directamente, sino que necesita ser enlazado por un programa enlazador (linker)

GENERACION DE CÓDIGO

Aquí se hablará de las herramientasgeneradoras 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.

Para la generación de código, se busca en las reglas establecidas la proposición que coincida con la entrada actual; la entrada actual proviene de un árbol. Un ejemplo de estoseria

Entonces 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, el código intermedio se genera con principios de búsqueda de patrones y aplicación de reglas. Después se hace la optimización del código intermedio; seguidamente se realiza...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Generación de código
  • Investigacion Generacion De Codigo Objeto
  • Generación de código intermedio
  • Generacion de codigo objeto
  • Generación de código final
  • generacion de codigo objeto
  • Generacion De Un Codigo Intermedio
  • Unidad viii generación de código intermedio

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS