Portál AbcLinuxu, 7. května 2025 05:42

kompilátor

Program převádějící zdrojový program (např. C, C++ Pascal, Fortran) do cílového programu, na základě lexikální a syntaktické analýzy. Cílový program je většinou assembler nebo binární kód. Nejznámější implementací kompilátoru na Linuxu je GCC - GNU C Compiler.

Logicky se skládá ze šesti sekcí pracujících jedna po druhé, nicméně většina moderních implementací používá vzájemnou komunikaci nebo některé části spojuje dohromady.

Lexikální analyzátor - jeho obsahem je poznat lexikální jednotky (identifikátory, operátory...) a předat je syntaktickému analyzátoru ve formě tokenů.

Syntaktický analyzátor - na základě předem daných pravidel pozná, zda daný zdrojový kód je napsán v daném jazyce a vytvoří syntaktický strom.

Sémantický analyzátor - Převede syntaktický strom na derivační nahrazením některých obratů, těmi které dávají "větší" smysl. Např. ve výrazu s operandy v plovoucí řádové čárce převede celočíselné konstanty na reálné

Generátor mezikódu - z derivačního stromu vytvoří jednoduchý tvar programu podobající se assembleru (tzv. trojadresný kód), který je nicméně nezávislý na hardwaru.

Optimalizátor - provede optimalizaci mezikódu, odstraněním mrtvých částí programu, propagací konstant a proměnných a dalších pokročilejších technik.

Generátor kódu - z mezikódu vytvoří cílový program

Dokument vytvořil: Blackhex, 12.11.2004 10:45 | Poslední úprava: aceman, 13.8.2010 22:56 | Další přispěvatelé: MiK | Historie změn | Zobrazeno: 2220×

Další pojmy: KMS - kodek - kódování - kompilátor - kontrolní součet - konzole - KPart

Filtr: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.