Pok-13-wyk-Slajd3

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

Języki pośrednie - wprowadzenie

Języki pośrednie - wprowadzenie


W prezentowanym modelu kompilatora typu analiza-synteza front-end kompilatora tłumaczy kod źródłowy programu na reprezentację pośrednią, na podstawie której back-end kompilatora generuje kod wynikowy.

Program źródłowy można oczywiście tłumaczyć od razu na kod wynikowy (i czasami tak się robi), ale wykorzystanie języka pośredniego ma dwie istotne zalety:

  • łatwiejsza jest zmiana maszyny docelowej – wystarczy wymienić tylko back-end kompilatora
  • na poziomie kodu pośredniego można stosować niezależny od maszyny docelowej optymalizator kodu.

Koncepcja języka pośredniego powstała w drugiej połowie lat 50-tych. Prace były prowadzone niezależnie przez wiele ośrodków, ale najbardziej kompletną postać miał opracowany w firmie IBM język UNCOL (UNiversal Computer Oriented Language). Pierwsze informacje na temat języka ukazały się w 1958, ale trudno jednoznacznie podać datę jego powstania, ponieważ nigdy nie został do końca zestandaryzowany ani zaimplementowany.

Wprowadzenie języka pośredniego ma fundamentalne znaczenie ekonomiczne i logistyczne. Zamiast rozwijać i utrzymywać n*k kompletnych kompilatorów, wystarczy utrzymywać jeden front-end dla każdego języka źródłowego i jeden back-end dla każdej maszyny docelowej.


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