Prevajalnik: Razlika med redakcijama

Izbrisana vsebina Dodana vsebina
Xqbot (pogovor | prispevki)
m robot Spreminjanje: th:คอมไพเลอร์
Klemen Kocjancic (pogovor | prispevki)
m pp AWB
Vrstica 1:
'''Prevajálnik''' ([[angleščina|angleško]] ''compiler'') je [[računalniški program]], ki prevede [[izvorna koda|izvorno kodo]] programske opreme, napisano v višjenivojskem [[programski jezik|programskem jeziku]], v vmesno kodo programske opreme (na primer angl. ''bytecode'' ali ''CIL'') ali [[strojni jezik]] (programski jezik prve generacije).
 
Programske opreme prevajalnikov vsebujejo več faz oziroma stopenj po katerem poteka prevod. '''Vsi''' višjenivojski računalniški programski jeziki tretje generacije se s pomočjo prevajalnika najprej prevedejo v zbirni programski jezik (druge generacije). Nato programska oprema zbirnika (včasih opredeljana tudi kot "»sestavljalnik"«, angl. ''assembler'') zamenja mnemonike in operande oziroma parametre s ustreznimi ukaznimi kodami, katere mneminiki predstavljajo (angl. ''operation code'', ''opcode''). Večina zbirnikov ne prevede izvorne kode programske opreme, zapisane v zbirnem programskem jeziku, neposredno v strojno kodo, ki jo razume CPE enota in operacijski sistem, temveč jo preoblikuje v objektno kodo, ki se shrani v objektni datoteki. Slednje datoteke ne vsebujejo karakteristike izvršilnega zapisa, ki ga razume računalniški operacijski sistem (na primer ELF, PE ali Mach-o zapis), temveč vsebuje samo opise, ki jih programska oprema povezovalnika (angl. ''linker'') potrebuje, da različne druge objektne datoteke in ustrezne programske knjižnice poveže v delujoč izvršljiv program, v določenem izvršljivem zapisu, ki ga rezume tako CPE enota, kot tudi operacijski sistem.
 
Največkrat so tudi sami prevajalniki napisani v jeziku, ki ga prevajajo, angleško se tak postopek imenuje "»''[[bootstrap]]''"«.
 
Če se prevajanje izvaja sproti (med izvajanjem programa), govorimo o [[tolmač]]u (interpreterju), npr. za programski jezik [[Python]].