Metody realizacji języków programowania/MRJP Ćwiczenia 11: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Gorecki (dyskusja | edycje)
Nie podano opisu zmian
Gorecki (dyskusja | edycje)
 
Linia 18: Linia 18:
[[Grafika:w8bloki.jpg|300px|center]]
[[Grafika:w8bloki.jpg|300px|center]]


Oblicz zbiory zmiennych żywych na początku i końcu każdego bloku bazowego
 
* Oblicz zbiory zmiennych żywych na początku i końcu każdego bloku bazowego
przy założeniu, że ''a,b,c'' to zmienne żywe po bloku E.
przy założeniu, że ''a,b,c'' to zmienne żywe po bloku E.
* Wyjaśnij w jaki sposób można wykorzystać te zbiory przy generowaniu kodu wynikowego.

Aktualna wersja na dzień 21:28, 1 paź 2006

Autor: Paweł Górecki (gorecki@mimuw.edu.pl)

Zadanie 1

Zaproponuj algorytm obliczania atrybutów in, out, kill, gen dla reguł z wykładu wyliczających definicje osiągalne dla programów strukturalnych.

Zadanie 2

Jaka jest pesymistyczna liczba obrotów pętli dla algorytmu iteracyjnego w zależności od rozmiaru grafu przepływu?

Zadanie 3

Czy algorytm iteracyjny posiada własność stopu? Odpowiedź uzasadnij.

Zadanie 4

Dla podanego poniżej grafu przepływu:


  • Oblicz zbiory zmiennych żywych na początku i końcu każdego bloku bazowego

przy założeniu, że a,b,c to zmienne żywe po bloku E.

  • Wyjaśnij w jaki sposób można wykorzystać te zbiory przy generowaniu kodu wynikowego.