Prevajalnik

Iz Wikipedije, proste enciklopedije

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 z ustreznimi ukaznimi kodami, ki jih 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 razumeta osrednja procesna enota (CPE) in operacijski sistem, temveč jo preoblikuje v objektno kodo, ki se shrani v objektni datoteki. Takšne datoteke ne vsebujejo značilnosti izvršilnega zapisa, ki jih razume računalniški operacijski sistem (na primer zapis ELF, PE ali Mach-o), 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 razume tako CPE, 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), je govora o tolmaču (interpreterju), npr. za programski jezik Python.