Codigo intermedio

Páginas: 3 (620 palabras) Publicado: 3 de febrero de 2015
Código Intermedio

Compiladores II

1

Usos del Código Intermedio
• Múltiples lenguajes y compiladores
– n+m módulos -> n*m compiladores

• Optimización
– Representación de fácilmodificación

• Modelos de generación de código o Máquinas abstractas
– FAM, G-machine, máquina de Warren

• Compiladores transportables
– PASCAL /P-Code, JAVA

• Interpretación rápida
– OAKLisp,CLISP

• Depuración
– Intérpretes de C u otros lenguajes

Compiladores II

2

Notación polaca Inversa (postfija)
• Se utiliza principalmente para la representación de
expresiones aritméticas• Expresión a notación polaca inversa
– Algoritmo
• Representar la expresión en forma de árbol sintáctico
• Recorrer el árbol en postorden

– Ejemplo: a+b*c-d

+
a

d
*

b

cCódigo: a b c * + d Compiladores II

3

Extensión a instrucciones de control de flujo

• Ejemplo:
– Fuente: if then else
– No se puede traducir a: If
ya que solo se ha de evaluar una de lasinstrucciones
– Código generado

etiqueta1
Salta si falso

etiqueta2
Salta
etiqueta1:

etiqueta2:
Compiladores II

Código más típico

Salta Si falso Etiqueta1

Salta Etiqueta2Etiqueta1:

Etiqueta2:

4

Pros y Contras de la Notación Polaca Inversa
• Generación de código:
– Simple
– No utiliza registros

• Optimización
– Es difícil de reordenar ya que hay queconsiderar el
contenido de la pila

• Interpretación rápida
– Es muy fácil de interpretar ya que solo necesita una pila

• Transportable:
– Si, ya que todos los procesadores implementan una pila.Compiladores II

5

n-tuplas
• En la notación de n-tuplas cada instrucción es una n-tupla.
– Tripletas
• , ,
• El resultado se asocia al número de tripleta

– Tripletas indirectas
• Sontripletas donde el orden de ejecución se especifica a parte.

– Cuadruplas
• , , ,

Compiladores II

6

Tripletas
• Tripleta: , ,
el resultado se asocia al número de tripleta
–...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Codigo intermedio
  • Técnicas de un generador de código intermedio
  • Genercion de codigo intermedio
  • Generación de código intermedio
  • Generacion De Un Codigo Intermedio
  • Compilador para generar código intermedio
  • Unidad vi.- generacion de codigo intermedio
  • Unidad viii generación de código intermedio

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS