Kompilátor (programovanie): Rozdiel medzi revíziami
d odkaz fix. |
d r2.7.3) (robot Pridal: az:Kompilyator |
||
Riadok 20: | Riadok 20: | ||
[[ar:مصرف (برمجة)]] |
[[ar:مصرف (برمجة)]] |
||
[[ast:Compilador]] |
[[ast:Compilador]] |
||
[[az:Kompilyator]] |
|||
[[be:Кампілятар]] |
[[be:Кампілятар]] |
||
[[be-x-old:Кампілятар]] |
[[be-x-old:Кампілятар]] |
Verzia z 16:49, 10. február 2013
Kompilátor alebo kompilujúci program alebo prekladač je program, ktorý dokáže preložiť zdrojový kód napísaný v niektorom programovacom jazyku do iného programovacieho jazyka, najčastejšie do strojového kódu. Ak prekladač vykonáva preklad z vyššieho programovacieho jazyka do nižšieho, hovoríme, že ide o preklad nadol. Ak preklad prebieha z nižšieho programovacieho jazyka do vyššieho, hovoríme, že ide o [preklad nahor] a takýto prekladač voláme dekompilátor alebo opačný kompilátor. Ak je zdrojový a cieľový jazyk približne rovnako mohutný, takýto prekladač nazývame predkompilátor alebo kompilátor 1:1. AK je cieľom prekladu získanie optimálneho kódu, takémuto prekladaču hovoríme o optimalizačný kompilátor.
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. Existujú aj kombinované riešenia, kedy sa najprv prekladá do pomocného kódu, ktorý sa interpretuje v čase behu (napr. Java).
Kompilátor poväčšine vykonáva niekoľko, prípadne všetky z nasledujúcich činností: lexikálna analýza, preprocesing, parsing, sémantická analýza, generovanie kódu a jeho optimalizácia.