Google Play badge

компајлери


КОМПАЈЛЕРИ

Компајлерот се однесува на компјутерска програма што се користи за преведување на компјутерски код што е напишан на еден програмски јазик (наведен како изворен јазик) на друг програмски јазик (наведен како целен јазик). Терминот компајлер првенствено се применува за програми кои преведуваат изворни кодови од програмски јазик на високо ниво на програмски јазик од пониско ниво. На пример, машински код, код на објект или асемблерски јазик за да се создаде извршна програма.

Важно е да се напомене дека постојат многу различни типови на компајлери. Во случај кога програмата што е компајлирана може да работи на компјутер чиј оперативен систем или процесор е различен од оној што го работи компајлерот, компајлерот се нарекува вкрстен компајлер. Од друга страна, компајлерот за подигање е напишан на јазикот што има намера да го компајлира. Декомпајлер е програма која се користи за преведување јазик на ниско ниво на јазик на повисоко ниво. Програма што се користи за преведување помеѓу јазици на високо ниво се нарекува компајлер од извор до извор. Може да се нарече и транспилатор. Програма која е одговорна за преведување на формата на изразите без промена на јазикот е позната како јазичен препишувач. Терминот компајлер-компајлер се однесува на оние алатки кои се користат за креирање парсери одговорни за извршување на синтаксната анализа.

Некои од операциите што ги врши компајлерот вклучуваат: претпроцесирање, парсирање, (синтакса насочен превод) семантичка анализа, лексичка анализа, генерирање код, оптимизација на код и конверзија на влезните програми во средно претставување. Компајлерите се одговорни за имплементација на овие операции во различни фази кои промовираат правилни трансформации и ефикасен дизајн на изворниот влез до целниот излез. Програмските грешки кои се предизвикани од неправилно однесување на компајлерот може да биде многу тешко да се пронајдат и да се обработат. Затоа, имплементаторите на компајлерот вложуваат значителни напори за да обезбедат исправност на компајлерот.

Важно е да се напомене дека компајлерите не се единствените преведувачи кои се користат за трансформирање на изворните програми. Компјутерски софтвер кој е одговорен за трансформирање и потоа извршување на наведените операции се нарекува преведувач. Процесот на преведување влијае на дизајнот на компјутерските јазици што доведува до предност на толкување или компилација. Во пракса, имплементацијата на преведувач за компајлери и компајлирани јазици може да се имплементира за толкуваните јазици.

Забележете дека кога користите компајлер, се користи процес во два чекора за извршување на програма,

Синџирот на АЛАТКИ ЗА КОМПИЛАЦИЈА

За програмите кои се големи, компајлерот е дел од синџирот на алатки со повеќе чекори,

(претпроцесор)- (компајлер)- (асемблер)- (поврзувач)- (натоварувач).

СТРУКТУРА НА КОМПАЈЛЕР

Современите компајлери се составени од два главни дела. Секој од овие делови е често поделен. Овие два главни делови се предниот дел и задниот крај.

Предниот дел е одговорен за анализа на изворната програма, конструира средно претставување на програмата и ги одредува нејзините составни делови. Општо земено, предниот дел е независен од целниот јазик.

Задниот крај од друга страна е одговорен за синтетизирање на целната програма од средното претставување што го произведува предниот крај. Општо земено, се вели дека задниот крај е независен од изворниот јазик.

Download Primer to continue