Prevajalnik: Razlika med redakcijama

Izbrisana vsebina Dodana vsebina
Osvežitev in prenovitev članka.
Brez povzetka urejanja
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šje nivojskemviš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''' računalniški programski jeziki četrte in 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.
 
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]].
 
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]].