Какво е това - компилаторът или как да направите компютъра да разбере какво искате от него?
Крайният етап от създаването на програма е да се преведе алгоритъм, написан на един от програмните езици (C / C ++, Pascal и т.н.), в нисък машинен език. Това се дължи на факта, че компютрите трябва да изпълняват команди на език, който разбират, който е близък до бинарните и работещи примитивни структури от данни (бит, байт или дума), за да изпълни задачата. Процесът на преобразуване на проблемните оператори на езици на високо ниво в двоичен код се нарича превод. Има два начина за превод - компилация и тълкуване.
съдържание
Компилаторът - какво е това?
Анализът на множеството тълкувания на термините "компилатор" и "компилация" ни позволява да различим следната дефиниция. Компилаторът Програма, предназначена да преведе текста на алгоритъма на източника от език на високо ниво в еквивалентен набор от инструкции на машинно ориентиран език. Това е така нареченият обемен код за последващото сглобяване на получения обектен код в готовия за използване програмен модул.
Съставителят и преводачът са прилики и различия
преводач Има помощна програма, както и компилатор, предназначен да преведе изходния код в кода на машината. Въпреки това, за разлика от компилатора, интерпретаторът се изпълнява всеки път с програмата и изпълнява преводната линия по ред.
Можем да кажем, че компилаторът и интерпретаторът са езикови процесори, които позволяват на компютъра да разпознае и изпълни командите, определени от програмиста.
Класификация на съставителите
Да се класифицират компилаторите основно върху характеристиките, свързани с областите на тяхното практическо приложение.
Векторно компилиране Има помощна програма, която извършва превод на изходния код в обектния код и е адаптирана за компютри, оборудвани с векторни процесори.
Гъвкав компилатор програмиран на езика на високо ниво чрез модулен принцип. Неговото управление се осъществява с помощта на таблици. Също така е възможно да се изпълни с компилатора на компилатора.
Инкрементален компилатор Езиков процесор, който препредава отделни фрагменти от изходния код и неговите добавки. Тя обаче елиминира прекомпилирането на цялото приложение.
Интерпретативен (стъпка по стъпка) компилатор Има помощна програма, която последователно извършва независима компилация на всеки оператор или команда на източника на код на високо ниво.
Състав на компилатора - преводач, способен да възприема формално описание за език за програмиране и независимо да генерира компилатор за всеки език.
Компилатор за отстраняване на грешки позволява да се открият и премахнат някои видове синтактични грешки, направени при писането на изходния код
Пребиваващият съставител заема постоянно място в паметта и следователно е на разположение за повторна употреба на широк спектър от задачи.
Компилатор със самосъздаване е написана на същия език, от който се извършва преводът.
Универсален съставител се основава на формално описание на семантичните и синтактичните параметри на езика за въвеждане. Основните компоненти на такава полезност са ядрото, синтактичните и семантичните товарачи.
Компилаторното устройство
В сърцето на всеки компилатор се намират компилаторът и линкерът. Често компилаторът използва външен линкер и самият компилатор изпълнява само функцията за превод. Това се случва също, че компилаторът се реализира като един вид ръководител на програмата, свързана с преводача (или преводачите, ако писането на изходния код, използван в различни езици за програмиране) и свързващата ги стартирате изпълнение, ако е необходимо.
Програмни езици и методи за писмен превод
Въпреки факта, че програма, написана на който и да е език за програмиране, може да се компилира и интерпретира, много езици на по-високо ниво имат предразположение към този или този метод за превод. Така че, езикът С първоначално е предназначен за компилация и Java за интерпретиране на писмената програма. C компилатори се развиват доста лесно, благодарение на относително ниското си ниво и малък брой структурни елементи.
Предимства и недостатъци на компилаторите и преводачите. приложения
Имайте предвид, че компилираните приложения имат висока скорост в сравнение с тези, които се интерпретират, но в същото време кода на машината, получен в резултат на компилацията, зависи от хардуерната платформа. Така че, програма, написана и компилирана за Windows, няма да работи, например, в Linux. Ето защо, в случай на интернет-базирани приложения, когато е невъзможно да се каже предварително каква среда ще се работи, използването или интерпретация на байт код (в този случай, програмата източник се превръща в междинна форма, която може да се прилага върху различни хардуерни платформи).
- Учебен алгоритмичен език: цел, правила, команди. Понятието алгоритмичен език
- Java програмен език
- Списък на езиците за програмиране. Програмни езици на ниско и високо ниво
- Интерпретиран е ... Тълкувателят е синоним
- Програмиране: език на асемблера. Основи на асемблерния език
- Питън за начинаещи
- Програмната среда "Pascal ABC"
- Преводачът е ... Видове преводачи. Преобразувайте и превеждайте програмата
- Оценка на езиците за програмиране 2016
- Компилацията е какво?
- Какво представлява компилаторът - описание
- GCC Compiler за Windows
- Как да превеждате текст от картина - програма. Разпознаване на текст
- Цикъл за: Pascal за начинаещи
- История на разработването на езици за програмиране: накратко за всичко
- Езикът на програмиране c (s)
- Кода на машината като програмен език. Асемблер език
- Компилацията е процес, който улеснява комуникацията между програмист и компютър
- Какво е динамичното пишене?
- Как да напиша програма в Notepad
- Класификация на езиците за програмиране по нива