Kod wynikowy
Kod wynikowy – kod utworzony przez translator w wyniku translacji kodu źródłowego. Programy komputerowe są tworzone przez programistów w określonym języku programowania, najczęściej wysokiego poziomu. Proces tworzenia programu dla komputera to inaczej programowanie komputera. Utworzony program (kod) nie może zostać wykonany przez maszynę (potocznie mówi się, że jest „niezrozumiały dla maszyny”). W związku z tym kod źródłowy stworzony przez programistę musi zostać poddany translacji, czyli tłumaczeniu, na kod wynikowy, który dopiero może być wykonany przez daną maszynę: komputer, maszynę wirtualną, interpreter lub inny translator.
Kod wynikowy może być zapisywany w:
- języku maszynowym
- taki kod jest wynikiem kompilacji kodu źródłowego, dokonanej za pomocą kompilatora, do kodu składającego się z rozkazów określonego procesora; po dokonaniu łączenia poszczególnych modułów, program taki może być wykonywany w danym systemie komputerowym, przykładowe języki kompilowane: język C, C++, Pascal, i wiele innych,
- kodzie wewnętrznym
- jest to kod interpretowany następnie przez pewien procesor programowy, włączany do pliku programu; uruchomienie programu powoduje uruchomienie procesora wewnętrznego, który interpretuje kod wynikowy zapisany w tym samym pliku programu, np. Prolog, Snobol,
- języku maszyny wirtualnej
- taki kod jest, analogicznie do języka maszynowego, kodem pewnej maszyny wirtualnej, a więc innego programu komputerowego, wcześniej przygotowanego do uruchamiania w określonym systemie komputerowym; jeżeli taka maszyna wirtualna dostępna będzie w kilku systemach, to ten sam kod wynikowy będzie mógł być wykonany w tych systemach, np. Java,
- języku programowania
- taki kod wynikowy tworzony jest przez preprocesory (np. język C) i dyrektywy kompilatora (np. Pascal), a także przez translatory tłumaczące zapis w jednym języku na inny język, np. PL/M→C, PL/M→asembler; taki kod wynikowy jest przeznaczony do dalszej translacji.