intermedio
1
Facultad:
Ingeniería
Escuela:
Computación
Asignatura: Compiladores
Tema: Análisis de código intermedio
Objetivos
Conocer las características yprincipal función de un bloque
básico de código.
Analizar e interpretar como un compilador ordena los bloques
de código para posterior ejecución.
Aprender a usar la notación polaca inversa para aplicarsu
uso en la asignación de memoria para variables.
Material y Equipo
Guía de Laboratorio Nº 9.
Introducción Teórica
Guía 3
En esta guía se abordarán los conceptos pertenecientes alcomponente de análisis de código intermedio, se analizaran los
Guía 4
bloques de básicos de código a partir de un código en cualquier
lenguaje previamente indicado. Además se analizara el uso de lafía
notación polaca inversa y el uso de direcciones en ellas.
Generación de código intermedio
Representación de bloques básicos
Los bloques básicos son trozos de código intermedio en los que elflujo de control es lineal, es decir, trozos de código cuyas
instrucciones se ejecutan una detrás de otra sin
saltos
intermedios. Los bloques básicos tienen por tanto una única
instrucción de comienzode bloque y una única instrucción de
salida del bloque. Por ejemplo, la siguiente secuencia de
instrucciones de tres direcciones forma un bloque básico.
(100)
(101)
(102)
(103)
(104)
(105)(106)
t1:=-c
t2:=b*t1
t3:=-c
t4:=b*t3
t5:=t2*t4
a :=t5
if(a>0) goto (712)
2
Compiladores. Guía 9
Para identificar los bloques básicos que componen una secuencia de
instrucciones encódigo máquina puede seguirse el siguiente
algoritmo:
1. Buscar los puntos de entrada, que corresponden a:
1. La primera instrucción de código máquina.
2. Cualquier instrucción situada en ladirección a la
que se refiere una instrucción de salto condicional o
incondicional.
3. Cualquier instrucción consecutiva a una instrucción
de salto condicional o incondicional.
2. Para cada punto...
Regístrate para leer el documento completo.