Implementacion de calculo de bloques basicos
Diseñar el pseudocódigo e implementar en Java el algoritmo para el cálculo de bloques básicos de un código de 3 direcciones dado. La implementación se hará dentro de la claseCuadruplos en un método llamado calcBloquesBasicos (). La interfaz de usuario en la vista de los cuadruplos debe mostrarse a qué bloque básico pertenece cada uno y si el cuádruplo es un líder o no.Analisis
Entrada. Una secuencia de proposiciones de tres direcciones.
Salida. Una lista de bloques básicos donde cada proposición de tres direcciones está en un bloque exactamente.
Método
1.- Primero sedetermina el conjunto de líderes, la primera proposición de cada bloque básico. Las reglas que se utilizan son los siguientes:
i) La primer proposición es un líder
ii) Cualquier proposición que sea eldestino de un salto goto condicional o incondicional es un líder.
iii) Cualquier proposición que vaya inmediatamente después de un salto goto condicional o incondicional es un líder.
2.- Para cadalíder, su bloque básico consta del líder y de todas las proposiciones hasta, pero sin incluirlo, el siguiente líder o el fin del programa.
Diseño
PSEUDOCÓDIGO DE BLOQUES BÁSICOS
procedureArrayList
begin
ArrayList
ArrayList
for integer i = 0; i < _cuadruplos.size(); i ++then
begin
Cuadruplo cuádruplo = _cuadruplos.get(i)
If cuádruplo.esLider then
begin
if bloque != nil then
begin
bloques.add (bloque)
end
bloque = newArrayList <>()
end
bloque.add (cuádruplo)
end
return bloques
end;
Código
Cuadruplo.java
package compilador;
public class Cuadruplo {
public String op = "";public String arg1 = "";
public String arg2 = "";
public String resultado = "";
public Linea_BE aux;
public boolean esLider = false;
public int arg1SigUso = 0;...
Regístrate para leer el documento completo.