Kompilator

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Co to jest kompilator?

Kompilator to program, który tłumaczy kod źródłowy napisany przez programistę na kod zrozumiały dla komputera, najczęściej kod maszynowy lub kod pośredni. W trakcie tego procesu sprawdza składnię i część błędów semantycznych, a następnie tworzy plik wynikowy możliwy do uruchomienia albo dalszego przetwarzania.

W pytaniach egzaminacyjnych kompilator często jest opisywany jako narzędzie, które:
- konwertuje kod źródłowy na postać zrozumiałą dla maszyny,
- analizuje polecenia pod kątem błędów,
- generuje moduł wykonywalny lub kod wynikowy.

Jak działa kompilator?

Typowy proces kompilacji obejmuje kilka etapów:
1. Analiza leksykalna - podział kodu na elementy, np. słowa kluczowe, identyfikatory, operatory.
2. Analiza składniowa - sprawdzenie, czy kod jest zgodny z gramatyką języka.
3. Analiza semantyczna - kontrola sensu instrukcji, np. zgodności typów.
4. Generowanie kodu wynikowego - utworzenie kodu maszynowego, bajtkodu lub innej formy pośredniej.

Przykłady języków kompilowanych

Do języków zwykle kompilowanych należą m.in.:
- C,
- C++,
- C#,
- Java,
- Go,
- Rust.

Przykład kompilacji programu w C++:

g++ main.cpp -o program
./program

Polecenie g++ main.cpp -o program kompiluje plik źródłowy main.cpp i tworzy program wykonywalny o nazwie program.

Kompilator a interpreter

Kompilator tłumaczy program przed jego uruchomieniem, natomiast interpreter wykonuje kod bezpośrednio, instrukcja po instrukcji. Dlatego w tym pytaniu poprawną odpowiedzią jest kompilator, a nie interpreter, debugger ani dekompilator.