ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Generador de código intermedio

nohemimtz8 de Octubre de 2013

702 Palabras (3 Páginas)250 Visitas

Página 1 de 3

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.

• No requiere de paréntesis para indicar el orden de precedencia de

operadores ya que él es una operación.

• Se evalúa de izquierda a derecha hasta que encontremos el primer

operador seguido inmediatamente de un par de operandos.

• Se evalúa la expresión binaria y el resultado se cambia como un nuevo

operando. Se repite este hasta que nos quede un solo resultado.

• La notación prefija pone el operador primero que los dos operandos, por lo que la expresión anterior queda: +ab-5. Esto se representa con una estructura del tipo FIFO (First In First Out) o cola.

• Las estructuras FIFO son ampliamente utilizadas pero tienen problemas con el anidamiento aritmético.

2.1.2 Notación Infija

Es la forma más común que utilizamos para escribir expresiones matemáticas, estas notaciones se refiere a que el operador esta entre los operandos. La notación

...

Descargar como (para miembros actualizados) txt (5 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com