Compiladores

Páginas: 3 (624 palabras) Publicado: 20 de octubre de 2011
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 b

d * c

Código: a b c * + dCompiladores 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 las instrucciones –Código generado
etiqueta1 Salta si falso etiqueta2 Salta etiqueta1: etiqueta2:
Compiladores II

Código más típico Salta Si falso Etiqueta1 Salta Etiqueta2 Etiqueta1: Etiqueta2:

4

Pros yContras 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 que considerar 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 lanotación de n-tuplas cada instrucción es una n-tupla.
– Tripletas
• , , • El resultado se asocia al número de tripleta

– Tripletas indirectas
• Son tripletas donde el orden de ejecución seespecifica a parte.

– Cuadruplas
• , , ,

Compiladores II

6

Tripletas • Tripleta: , ,
el resultado se asocia al número de tripleta – Ejemplo: W*X+(Y+Z)
1. *, W, X 2. +, Y, Z 3. +,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compiladores
  • Compilador
  • COMPILADORES
  • Compiladores
  • Compiladores
  • Compiladores
  • compiladores
  • Compiladores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS