(1) oprogramowanie konwertujące zestaw instrukcji języka wysokiego poziomu na reprezentację niższego poziomu. Na przykład kompilator pomocy konwertuje dokument tekstowy osadzony za pomocą odpowiednich poleceń do Systemu Pomocy online. Kompilator słownika konwertuje terminy i definicje w system wyszukiwania słownika.
(2) Oprogramowanie tłumaczące program napisany w języku programowania wysokiego poziomu (C/C++, COBOL itp.) na język maszynowy. Kompilator zwykle najpierw generuje język assembly, a następnie tłumaczy język assembly na język maszynowy. Narzędzie znane jako „łącznik” łączy następnie wszystkie wymagane moduły języka maszynowego w program wykonywalny, który może działać na komputerze. Zobacz Optymalizacja kompilatora.
poniżej znajduje się koncepcyjny przykład konwersji kodu źródłowego do języka asemblacji i kodu maszynowego przez kompilator:

 Source Code IF COUNT=10 GOTO END-OF-JOB ELSE GOTO COMPUTE-AGAIN ENDIF Assembly Language Machine Language Compare A to B Compare 3477 2883 If equal go to C If = go to 23732 Go to D Go to 23119 Machine Code 10010101001010001010100 10101010010101001001010 10100101010001010010010

_compasm.gif

z języka C do języka Assembly

kompilator C/C++ konwertuje kod C i c++ na język assembly, jak pokazano w tym przykładzie. Czerwone strzałki wskazują różne wywołania funkcji, a kod złożenia do wykonania tych wywołań następuje po każdej instrukcji.

compile2.jpg

kompilatory i interpretery

skompilowane programy (po prawej) są tłumaczone na język maszynowy komputera docelowego. Interpretowane programy (lewy i środkowy) są przechowywane w oryginalnym kodzie źródłowym lub są wstępnie skompilowane do postaci pośredniej. W obu przypadkach tłumacz jest zobowiązany do przetłumaczenia programu na język maszynowy w czasie wykonywania, podczas gdy skompilowany program jest ” gotowy do pracy.”

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *