Съдържание:
- Компилатор - какво е това?
- Компилатор и интерпретатор - прилики и разлики
- Класификация на компилатора
- Устройство за компилиране
- Езици за програмиране и методи за превод
- Предимства и недостатъци на компилаторите и интерпретаторите. Приложения
Видео: Какво е компилатор или Как да накарам компютъра да разбере какво искате от него?
2024 Автор: Henry Conors | [email protected]. Последно модифициран: 2024-02-12 04:00
Последният етап от създаването на програма е да се преведе алгоритъм, написан на един от езиците за програмиране (C/C++, Pascal и др.) на машинен език от ниско ниво. Това се дължи на факта, че за да изпълнят каквато и да е задача, компютрите трябва да получат команди на език, който те разбират, близък до двоичен и работещ с примитивни структури от данни (бит, байт или дума). Процесът на превод на специфични за домейна изрази на езици от високо ниво в двоичен код се нарича превод. Има два метода за превод - компилация и интерпретация.
Компилатор - какво е това?
Анализът на много интерпретации на термините "компилатор" и "компилиране" ни позволява да подчертаем следната дефиниция. Компилаторът е програма, предназначена да преведе текста на изходния алгоритъм от език на високо ниво в еквивалентен набор от инструкции на машинно-ориентиран език. Това е така нареченият обектен код, за последващо сглобяване на получения обектен код в готов за използване програмен модул.
Компилатор и интерпретатор - прилики и разлики
Преводачът е помощна програма, коятокакто и компилатор, предназначен да превежда изходния код в машинен код. Въпреки това, за разлика от компилатора, интерпретаторът работи всеки път с програмата и изпълнява превода ред по ред.
Можете да кажете, че компилаторът и интерпретаторът са езикови процесори, които позволяват на компютъра да разпознава и изпълнява команди, дадени от програмиста.
Класификация на компилатора
Компилаторите се класифицират главно по характеристики, свързани с техните области на практическо приложение.
Векторизиращ компилатор е помощна програма, която превежда изходния код в обектен код и е адаптирана за компютри, оборудвани с векторни процесори.
Гъвкавият компилатор е програмиран на език от високо ниво по модулен начин. Управлението му се осъществява с помощта на таблици. Възможно е също да се изпълни с помощта на компилатора на компилаторите.
Инкременталният компилатор е езиков процесор, който претранслира отделни фрагменти от изходния код и допълнения към него. Въпреки това, той избягва повторно компилиране на цялото приложение.
Интерпретативният (стъпков) компилатор е помощна програма, която последователно извършва независима компилация на всеки израз или команда на изходен код от високо ниво.
Компилаторът на компилаторите е преводач, способен да приеме официално описание за език за програмиране и независимо да генерира компилатор за всеки език.
Компилаторът за отстраняване на грешки ви позволява да намерите и коригирате някои видове синтактични грешки, направени при писане на изходен код
Резидентен компилатор заема постоянно място в RAM и следователно може да се използва повторно от широк спектър от задачи.
Самокомпилираният компилатор е написан на същия език като превода.
Универсалният компилатор се основава на формално описание на семантичните и синтактичните параметри на езика за въвеждане. Основните компоненти на такава помощна програма са основните, синтактични и семантични зареждачи.
Устройство за компилиране
Компилатор и линкер са в основата на всеки компилатор. Често при компилиране се използва външен линкер, а самият компилатор изпълнява само функцията за превод. Случва се също така компилаторът да се реализира като вид мениджърска програма, която е свързана с преводача (или преводачите, ако при писането на изходния код са били използвани различни езици за програмиране) и линкера и започва тяхното изпълнение, когато е необходимо.
Езици за програмиране и методи за превод
Въпреки факта, че програма, написана на всеки език за програмиране, може да бъде както компилирана, така и интерпретирана, много езици на високо ниво имат предразположение към един или друг метод на превод. И така, езикът C първоначално е проектиран за компилиране, а Java - за интерпретация на написаната програма. Разработват сеКомпилаторите на C са доста лесни, благодарение на относително ниското си ниво и малък брой структурни елементи.
Предимства и недостатъци на компилаторите и интерпретаторите. Приложения
Забележете, че компилираните приложения са по-бързи от интерпретираните, но в същото време машинният код, получен в резултат на компилацията, зависи от хардуерната платформа. Така че програма, написана и компилирана за Windows, няма да работи, например, в Linux. Следователно, в случай на интернет приложения, когато е невъзможно да се каже предварително в коя среда ще работят, те използват интерпретация или байткод (в този случай изходната програма се преобразува в междинна форма, която може да се изпълнява на различен хардуер платформи).
Препоръчано:
Какво е климатът и какво се случва с него?
Много често използваме понятия като "времето" и "климат". Но винаги ли разбираме ясно какво е то? И ако знаем повече за времето, тогава не всеки ще каже какво е климат. Нека се опитаме да го разберем
Какво е извънредна ситуация? Как да се измъкнем от него?
Всяко отклонение от обичайното и добре координирано (рутинно) управление на определено звено в абсолютно всяка сфера на човешката дейност може да доведе до ситуация, наречена спешна. Всеки отдел трябва незабавно да уведоми висшите органи за промени в хода на събитията, приети от нормите. Всички мерки и действия, които трябва да се предприемат в случай на нестандартни ситуации, като правило, са предписани в съответните официални документи
PMS: какво е това и как да се справим с него?
Чували ли сте някога за PMS? Какво е, знаеш ли от собствен опит? Всъщност забравянето за месечните хормонални промени в тялото не е толкова трудно. Просто трябва да следвате прости препоръки и симптомите на ПМС ще изчезнат или ще станат по-малко очевидни
Какво е противоречие? Как да го идентифицираме и дали е необходимо да се справяме с него?
Влизали ли сте някога в спор с човек, който поддържа диаметрално противоположна гледна точка? Това означава, че те са усетили специален случай на противоречие. Трудно ли беше да докажеш, че си прав? Със сигурност невъзможно. Какво е противоречие в общия смисъл? Защо е необходимо и как да се справим с него? Нека се опитаме да го разберем
Какво е монопол и как да се борим с него?
Какво е монопол? Какво причинява това явление? И има ли смисъл да се борим с него или е естествено явление във всяка държава?