Prevajalnik

Iz Wikipedije, proste enciklopedije
Skoči na: navigacija, iskanje

Prevajálnik (angleško compiler) je računalniški program, ki prevede izvorno kodo programske opreme, napisano v višjenivojskem 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 mnemoniki 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.