Pok-13-wyk-Slajd8

Z Studia Informatyczne
Wersja z dnia 19:15, 30 sie 2006 autorstwa Complak (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Generacja kodu wynikowego - wprowadzenie

Generacja kodu wynikowego - wprowadzenie


Ostatnią fazą kompilatora jest generator kodu wynikowego, który na podstawie pośredniej reprezentacji programu źródłowego wytwarza równoważny program docelowy.

Generatorowi kodu stawia się wysokie wymagania – kod wynikowy musi być poprawny i wysokiej jakości, musi efektywnie wykorzystywać zasoby maszyny docelowej.

Problem generacji optymalnego kodu jest z matematycznego punktu widzenia nierozstrzygalny, a więc każdy generator kodu musi posługiwać się heurystykami.

W trakcie konstruowania algorytmów generacji i optymalizacji kodu wynikowego przydatna jest grafowa reprezentacja kodu trójadresowego zwana grafem przepływu. Jest on pomocny w rozwiązywaniu dwóch problemów, które mają największy wpływ na efektywność wygenerowanego kodu wynikowego, a którymi są: wybór rozkazów kodu maszynowego i efektywny przydział rejestrów.


<< Poprzedni slajd | Spis treści | Następny slajd >>