Este documento describe los generadores de código y cómo funcionan. Explica que los generadores de código trabajan basados en un conjunto de reglas que definen la traducción de instrucciones de un lenguaje intermedio al lenguaje de máquina. También señala que para crear un generador de código se deben realizar tareas como el análisis léxico, sintáctico y semántico, la búsqueda de patrones, la escritura de código y la optimización de código.
1. Generador de Código
Daniel Alejandro Bulnes Reyna
Matricula: 1441186 Clase: Martes M1
Dra. Elisa Schaeffer
2. Nos podemos referir a el lenguaje por el cual funcionan las computadoras,
comprende un conjunto de instrucciones y datos a ser procesados
automáticamente. Los códigos objeto provienen de códigos intermedios
que se han creado por un programador, que como ya sabemos el código
intermedio debe ser fácil de producir y fácil de traducir al programa objeto.
Además debemos tener en cuenta las herramientas generadoras
automáticas de código para un compilador, que estas 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.
3. Para crear el código objeto es necesario que el compilador
reciba una entrada de caracteres, por lo general escrita por
el programador; después 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 la generación de código objeto en
lenguaje de máquina.
4. 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. Estas tareas las realiza
el desarrollador una vez para una arquitectura
especifica.