Kompilacja

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

Czym jest kompilacja?

Kompilacja to proces przekształcania kodu źródłowego programu na postać możliwą do wykonania przez komputer, najczęściej na kod maszynowy albo kod pośredni. Proces wykonuje program nazywany kompilatorem.

Typowe etapy kompilacji

Do kompilacji zalicza się zwykle:

  • analizę leksykalną - podział kodu na tokeny, np. słowa kluczowe, identyfikatory, operatory,
  • analizę składniową - sprawdzenie, czy kod ma poprawną strukturę zgodną z gramatyką języka,
  • analizę semantyczną - sprawdzenie znaczenia instrukcji, np. zgodności typów,
  • optymalizację kodu - przekształcenie kodu tak, aby działał szybciej lub zajmował mniej pamięci,
  • generowanie kodu wynikowego - utworzenie kodu maszynowego lub pośredniego.

W niektórych środowiskach po kompilacji wykonywane jest także linkowanie, czyli łączenie programu z bibliotekami.

Co nie jest częścią kompilacji?

Częścią kompilacji nie jest analiza działania programu w czasie rzeczywistym. Taka analiza odbywa się podczas uruchamiania programu, np. z użyciem debuggera, profilera lub narzędzi monitorujących.

Przykład

Jeśli kompilator zgłasza błąd typu:

Syntax error: expected ';'

to jest to błąd wykryty na etapie kompilacji. Jeśli natomiast program uruchamia się, ale działa wolno lub zużywa dużo pamięci, analizuje się go już w czasie wykonania, a nie podczas kompilacji.