Vous êtes sur la page 1sur 3

Generacin de Cdigo

Intermedio

Programacin II
Margarita lvarez

Generacin de cdigo intermedio


Con la generacin de cdigo intermedio se inicia la tarea de sntesis.
Aunque un programa fuente se puede traducir directamente a lenguaje objeto,
algunas ventajas de utilizar una forma intermedia son:

Aumentar la portabilidad del compilador de una mquina a otra:

Se puede utilizar el mismo analizador para diferentes generadores.


Se pueden utilizar optimizadores independientes de la mquina.
Facilitar la divisin en fases del proyecto.
Cdigo intermedio
Analizador Comprobacin Gen. Cdigo Generador de
Sintctico esttica intermedio cdigo

Distinto formato de las instrucciones:


Notacin polaca inversa o notacin postfija
rboles sintcticos
Cdigo de tres direcciones

1
Notacin postfijo
La notacin postfija de una expresin E se puede definir como:
1. Si E es una variable o una constante, entonces la notacin
postfija de E es tambin E.
2. Si E es una expresin de la forma E1opE2 donde op es
cualquier operador binario, entonces la notacin postfija de
E es E1E2op donde E1 y E2 son las notaciones postfijas
de E1 y E2 respectivamente.
3. Si E es una expresin de la forma (E1) entonces la notacin
postfija de E1 es tambin la notacin postfija de E.
Ejemplos
(9-5)+2 95-2+

9-(5+2) 952+-

a:= b*-c+b*-c abc-*bc-*+:=

Notacin postfijo - Ejemplo


Definicin dirigida por la sintaxis
Operador de
Producciones Reglas semnticas concatenacin
expr expr + trmino expr.t expr.t || trmino.t || +
expr expr trmino expr.t expr.t || trmino.t || -
expr trmino expr.t trmino.t
trmino 0 trmino.t 0

trmino 9 trmino.t 9

9-5+2 expr.t = 95-2+


A cada no terminal est
asociado un atributo t con
expr.t = 95- + trmino.t =2 un valor de la cadena que
representa la notacin
postfija de la expresin
expr.t = 9 - trmino.t = 5 2 generada por ese no
terminal en un rbol de
trmino.t = 9 5 anlisis sintctico.
Resultado: 95-2+
9

2
Thank you for using www.freepdfconvert.com service!

Only two pages are converted. Please Sign Up to convert all pages.

https://www.freepdfconvert.com/membership

Vous aimerez peut-être aussi