Какво е компилатор или Как да накарам компютъра да разбере какво искате от него?

Съдържание:

Какво е компилатор или Как да накарам компютъра да разбере какво искате от него?
Какво е компилатор или Как да накарам компютъра да разбере какво искате от него?

Видео: Какво е компилатор или Как да накарам компютъра да разбере какво искате от него?

Видео: Какво е компилатор или Как да накарам компютъра да разбере какво искате от него?
Видео: Как да ЗАБЪРЗАМЕ бавния компютър 2024, Ноември
Anonim

Последният етап от създаването на програма е да се преведе алгоритъм, написан на един от езиците за програмиране (C/C++, Pascal и др.) на машинен език от ниско ниво. Това се дължи на факта, че за да изпълнят каквато и да е задача, компютрите трябва да получат команди на език, който те разбират, близък до двоичен и работещ с примитивни структури от данни (бит, байт или дума). Процесът на превод на специфични за домейна изрази на езици от високо ниво в двоичен код се нарича превод. Има два метода за превод - компилация и интерпретация.

компилаторът е
компилаторът е

Компилатор - какво е това?

Анализът на много интерпретации на термините "компилатор" и "компилиране" ни позволява да подчертаем следната дефиниция. Компилаторът е програма, предназначена да преведе текста на изходния алгоритъм от език на високо ниво в еквивалентен набор от инструкции на машинно-ориентиран език. Това е така нареченият обектен код, за последващо сглобяване на получения обектен код в готов за използване програмен модул.

Компилатор и интерпретатор - прилики и разлики

Преводачът е помощна програма, коятокакто и компилатор, предназначен да превежда изходния код в машинен код. Въпреки това, за разлика от компилатора, интерпретаторът работи всеки път с програмата и изпълнява превода ред по ред.

Можете да кажете, че компилаторът и интерпретаторът са езикови процесори, които позволяват на компютъра да разпознава и изпълнява команди, дадени от програмиста.

Класификация на компилатора

компилаторът е програма
компилаторът е програма

Компилаторите се класифицират главно по характеристики, свързани с техните области на практическо приложение.

Векторизиращ компилатор е помощна програма, която превежда изходния код в обектен код и е адаптирана за компютри, оборудвани с векторни процесори.

Гъвкавият компилатор е програмиран на език от високо ниво по модулен начин. Управлението му се осъществява с помощта на таблици. Възможно е също да се изпълни с помощта на компилатора на компилаторите.

Инкременталният компилатор е езиков процесор, който претранслира отделни фрагменти от изходния код и допълнения към него. Въпреки това, той избягва повторно компилиране на цялото приложение.

Интерпретативният (стъпков) компилатор е помощна програма, която последователно извършва независима компилация на всеки израз или команда на изходен код от високо ниво.

Компилаторът на компилаторите е преводач, способен да приеме официално описание за език за програмиране и независимо да генерира компилатор за всеки език.

компилатор и интерпретатор
компилатор и интерпретатор

Компилаторът за отстраняване на грешки ви позволява да намерите и коригирате някои видове синтактични грешки, направени при писане на изходен код

Резидентен компилатор заема постоянно място в RAM и следователно може да се използва повторно от широк спектър от задачи.

Самокомпилираният компилатор е написан на същия език като превода.

Универсалният компилатор се основава на формално описание на семантичните и синтактичните параметри на езика за въвеждане. Основните компоненти на такава помощна програма са основните, синтактични и семантични зареждачи.

Устройство за компилиране

Компилатор и линкер са в основата на всеки компилатор. Често при компилиране се използва външен линкер, а самият компилатор изпълнява само функцията за превод. Случва се също така компилаторът да се реализира като вид мениджърска програма, която е свързана с преводача (или преводачите, ако при писането на изходния код са били използвани различни езици за програмиране) и линкера и започва тяхното изпълнение, когато е необходимо.

Езици за програмиране и методи за превод

езиков компилатор
езиков компилатор

Въпреки факта, че програма, написана на всеки език за програмиране, може да бъде както компилирана, така и интерпретирана, много езици на високо ниво имат предразположение към един или друг метод на превод. И така, езикът C първоначално е проектиран за компилиране, а Java - за интерпретация на написаната програма. Разработват сеКомпилаторите на C са доста лесни, благодарение на относително ниското си ниво и малък брой структурни елементи.

Предимства и недостатъци на компилаторите и интерпретаторите. Приложения

Забележете, че компилираните приложения са по-бързи от интерпретираните, но в същото време машинният код, получен в резултат на компилацията, зависи от хардуерната платформа. Така че програма, написана и компилирана за Windows, няма да работи, например, в Linux. Следователно, в случай на интернет приложения, когато е невъзможно да се каже предварително в коя среда ще работят, те използват интерпретация или байткод (в този случай изходната програма се преобразува в междинна форма, която може да се изпълнява на различен хардуер платформи).

Препоръчано: