Kompilátor (programovanie): Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
Značky: prvá úprava redaktora vizuálny editor
TeslaBot (diskusia | príspevky)
d wl.
Riadok 1:
[[Obrázok:Ideal compiler.png|right|thumb|Ideálny kompilátor (po anglicky)]]
 
'''Kompilátor''' alebo '''kompilujúci program''' (anglicky: ''compiler'') je [[Program (počítačový)|počítačový program]], ktorý dokáže preložiť [[zdrojový kód]] napísaný v jednom [[Programovací jazyk|programovacom jazyku]] (tzv. zdrojovom jazyku) do iného programovacieho jazyka (tzv. cieľového jazyka). Kompilátory sú špecifickým typom [[Prekladač (programovanie)|prekladačov]] (príkladom iného typu prekladaču je napr. [[Interpreter (programovanie)|interpreter]]). Pojem ''kompilátor'' sa najčastejšie používa pre prekladače, ktorých zdrojovým jazykom je [[Vyšší programovací jazyk|vysokoúrovňový jazyk]] a cieľovým jazykom je [[Nižší programovací jazyk|nízkoúrovňový jazyk]] (napr. [[jazyk symbolických inštrukcií]], [[objektový kód]] alebo [[strojový kód]]) za účelom vytvorenia [[Spustiteľný program|spustiteľného programu]].<ref>{{cite web| author = PC Mag Staff | date = 28 February 2017 | title = Encyclopedia: Definition of Compiler | work = PCMag.com | url=https://www.pcmag.com/encyclopedia/term/40105 | accessdate=28 February 2017}}</ref>
 
Existuje však mnoho rôznych typov kompilátorov. Pokiaľ zkompilovaný program môže bežať na počítači, ktorého [[CPU]] alebo [[operačný systém]] sú odlišné od počítača, na ktorom beží kompilátor, hovoríme o [[Krížový kompilátor|krížovom kompilátore]]. Program, ktorý prekladá z jazyka nižšej úrovne do jazyka vyššej úrovne, sa nazýva [[dekompilátor]]. Program, ktorý prekladá medzi dvoma vysokoúrovňovými jazykmi sa zvyčajne nazýva [[transpliter]].
Riadok 9:
Program preložený do strojového kódu len málokedy obsahuje všetky [[procedúry]] a [[funkcie]] potrebné na jeho spustenie. Mnohé funkcie a procedúry sa nachádzajú vo vopred preložených súboroch, ktoré nazývame [[knižnice]]. Aby bolo možné program spustiť, je potrebné prepojiť relatívne odkazy na procedúry a funkcie so skutočnými adresami. Túto činnosť vykonáva spájací program, ktorý tiež nazývame [[linker]].
 
Alternatívnym spôsobom vykonávania kódu je interpretácia zdrojového kódu v čase behu programu. Program, ktorý tento preklad zabezpečuje, sa nazýva [[Interpreter (programovanie)|interpreter]]. Existujú aj kombinované riešenia, kedy sa najprv prekladá do pomocného kódu, ktorý sa interpretuje v čase behu (napr. [[Java (programovací jazyk)|Java]]).
 
== Štruktúra kompilátoru ==
Riadok 20:
 
== Pozri aj ==
* [[Interpreter (programovanie)]]
 
== Literatúra ==