Konečná fáze vytváření programu jepřeklad algoritmu napsaného v jednom z programovacích jazyků (C / C ++, Pascal atd.) do strojového jazyka nízké úrovně. To je způsobeno skutečností, že počítače, které mají provádět jakýkoli úkol, musí nastavovat příkazy v jazyce, kterému rozumí, téměř binárnímu a fungujícímu s primitivními datovými strukturami (bit, byte nebo slovo). Proces převodu problémově orientovaných operátorů jazyků vysoké úrovně do binárního kódu se nazývá překlad. Existují dvě metody překladu - kompilace a tlumočení.
Překladač - co to je?
Analýza mnoha interpretací pojmů „kompilátor“ a „kompilace“ nám umožňuje vyjmenovat následující definici. Překladač Je program určený k překladutext původního algoritmu z jazyka vyšší úrovně do ekvivalentní sady pokynů ve strojově orientovaném jazyce. Jedná se o takzvaný objektový kód pro následné propojení výsledného objektového kódu do programového modulu připraveného k použití.
Překladač a tlumočník - podobnosti a rozdíly
Tlumočník Je nástroj, stejně jako kompilátor,určené k překladu zdrojového kódu do strojového kódu. Na rozdíl od kompilátoru je však tlumočník spuštěn pokaždé s programem a provádí překlad řádek po řádku.
Můžeme říci, že kompilátor a tlumočník jsou jazykové procesory, které umožňují výpočetnímu stroji rozpoznat a provést pokyny dané programátorem.
Klasifikace překladače
Překladatelé jsou klasifikováni hlavně podle rysů spojených s oblastmi jejich praktického použití.
Vektorizující překladač Je nástroj, který převádí zdrojový kód do objektového kódu a je přizpůsoben pro počítače vybavené vektorovými procesory.
Flexibilní překladač programováno v jazyce vysoké úrovně na modulárním základě. Jeho správa se provádí pomocí tabulek. Je také možné jej spustit pomocí kompilátoru kompilátoru.
Inkrementální kompilátor Je jazykový procesor, který překládá jednotlivé fragmenty zdrojového kódu a jeho dodatky. Eliminuje však nutnost překompilovat celou aplikaci.
Tlumočení (krok za krokem) kompilátoru Je nástroj, který samostatně sestavuje každý příkaz nebo příkaz zdrojového kódu na vysoké úrovni postupně.
Překladač překladač - překladač schopný přijmout formální popis programovacího jazyka a samostatně generovat překladač pro jakýkoli jazyk.
Překladač ladění umožňuje vyhledat a vyloučit některé typy syntaktických chyb, ke kterým dochází při psaní zdrojového kódu
Rezidentní překladač zaujímá trvalé místo v paměti RAM, a proto je k dispozici pro opětovné použití širokou škálou úkolů.
Vlastní kompilátor napsáno ve stejném jazyce, ze kterého se vysílání provádí.
Obecný překladač je založen na formálním popisu sémantických a syntaktických parametrů vstupního jazyka. Hlavními komponentami takového nástroje jsou jádrové, syntaktické a sémantické zavaděče.
Zařízení kompilátoru
Jakýkoli překladač je založen na překladači alinker. Při kompilaci se často používá externí linker a překladač sám provádí pouze překladovou funkci. Stává se také, že kompilátor je implementován jako druh manažerského programu přidruženého k překladači (nebo překladatelům, pokud byly při psaní zdrojového kódu použity různé programovací jazyky) a linkeru a v případě potřeby zahájí jejich provádění.
Programovací jazyky a metody překladu
Navzdory skutečnosti, že program napsán vjakýkoli programovací jazyk, který můžete kompilovat i interpretovat, mnoho jazyků na vysoké úrovni má předispozici k jedné nebo jiné metodě překladu. Jazyk C byl tedy původně navržen pro kompilaci a jazyk Java - pro interpretaci psaného programu. Překladače jazyka C jsou vyvíjeny poměrně snadno díky jeho relativně nízké úrovni a malému počtu strukturních prvků.
Výhody a nevýhody překladačů a tlumočníků. Oblasti použití
Všimněte si, že kompilované aplikace majívyšší rychlost ve srovnání s interpretovanými, ale výsledný strojový kód kompilace zároveň závisí na hardwarové platformě. Program napsaný a zkompilovaný pro Windows tedy nebude fungovat například na Linuxu. Proto v případě internetových aplikací, kdy nelze předem říci, v jakém prostředí budou pracovat, použijí interpretaci nebo bytecode (v tomto případě se původní program převede na přechodnou formu, kterou lze provést na různých hardwarech platformy).