Generador de código intermedio
Enviado por nohemimtz • 8 de Octubre de 2013 • 702 Palabras (3 Páginas) • 226 Visitas
UNIDAD II: generación de código intermedio.
utilizan
Generador de código intermedio
La administración de la memoria se da en esta etapa.
Se debe considerar tanto la memoria estática como dinámica, y en esta se utilizan generalmente pilas.
Los lenguajes intermedios generalmente tienen árboles de derivación más pequeños que su contraparte original.
Se puede representar un árbol sintáctico con un Grafo Dirigdo Acíclico (GDA).
La notación postfija es una manera linealizada de representar un árbol sintáctico.
• a:= b*-c+b*-c
• abc -*bc -*+=
• x := y op z
• x+y*z
• t1:=y*z
• t2:=x+t1
Los lenguajes intermedios nos sirven para representar la producción final de nuestro lenguaje fuente.
Existen muchos lenguajes intermedios, la mayoría de ellos son una representación más simplificada del código original para facilitar la traducción hacia el código final.
Otros lenguajes intermedios sirven de base o como representación parcial de otros procesos.
Por ejemplo al compilar un programa en C en Windows o DOS, se produce un código objeto con extensión .obj para que posteriormente el enlazador cree finalmente el código executable .exe
Ocurre algo similar generándose un archivo .o y el executable a.out
Otros lenguajes intermedios famosos son los generados para la máquina virtual de Java el bytecode;
Lenguajes intermedios:
En computación, un lenguaje intermedio es el lenguaje de una máquina abstracta diseñada para ayudar en el análisis de los programas de computadora. El término viene de su uso en compiladores, donde un compilador primero traduce el código fuente de un programa, en una forma más apropiada para las transformaciones de mejora del código (forma usualmente llamada bytecode),
2.1 Notaciones
• Las notaciones sirven de base para expresar sentencias bien definidas.
• El uso más extendido de las notaciones sirve para expresar operaciones aritméticas.
• Las expresiones aritméticas se pueden expresar de tres formas distintas: infija, prefija y postfija.
• La diversidad de notaciones corresponde en que para algunos casos es más sencillo un tipo de notación.
• Las notaciones también dependen de cómo se recorrerá el árbol sintáctico, el cual puede ser en inorden, preorden o postorden; teniendo una relación de uno a uno con la notación de los operadores.
2.1.1 Notación Prefija
Nos indica que el operador va antes de los operandos. El orden es operador, primer operando, segundo.
Sus características principales son:
• Los operandos conservan el mismo orden que la notación infija
equivalente.
...