Prevajalnik: Razlika med redakcijama

Izbrisana vsebina Dodana vsebina
SportiBot (pogovor | prispevki)
{{normativna kontrola}}
Cathc
Vrstica 1:
'''Prevajálnik''' ({{jezik-en|compiler}}) je [[računalniški program]], ki prevede [[izvorna koda|izvorno kodo]] [[programska oprema|programske opreme]], napisano v [[visokonivojski programski jezik|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 [[jezik tretje generacije|jeziki tretje generacije]] se s pomočjo prevajalnika najprej prevedejo v [[zbirni jezik|zbirni programski jezik]] ([[jezik druge generacije|druge generacije]]). Nato programska oprema zbirnika (včasih opredeljana tudi kot »sestavljalnik«, angl. ''assembler'') zamenja [[mnemonik]]e 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 [[procesor|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 [[knjižnica (računalništv0)|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č (računalništvo)|tolmaču]] ([[interpreter]]ju), npr. za programski jezik [[Python]].
 
{{računalniška škrbina}}