(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