Как компилятор помогает человек и компьютеру понять друг друга

Цифровой океанHi-Tech

Что такое компилятор? Как работает: виды и примеры

Рассказываем об инструменте, который помогает человеку и компьютеру понять друг друга и способствует эффективному взаимодействию

Юрий Филиппов

1715612471_oskaryildizcOkpTiJMGzAunsplash.jpg

Компьютер и его составляющие не способны понять и выполнить команды на придуманных человеком языках программирования. Если команды и другие элементы программного кода, написанные программистом, напрямую будут считаны вычислительной машиной, они предстанут для них бессмысленным набором символов. Для организации своей работы все компьютеры используют длинные комбинации нулей и единиц, регулирующие включение и отключение переключателей.

Что такое компилятор?

Компилятор — это вид специального ПО, которое трансформирует программный код (программный текст) языка программирования в двоичный код, легко выполняемый компьютером. От пользователя компилятор получает исходник, а получившуюся комбинацию нулей и единиц передает компьютеру. Для преобразования программа использует методы анализа и синтаксиса.

Первые компиляторы

Впервые программа, преобразующая команды человека в двоичную форму, была создана в 1951 году американским программистом Грейс Хоппер. Эта программа за миллисекунды трансформировала программный текст высокого уровня, организовывала подпрограммы и распределяла память ЭВМ. Новую программу Хоппер назвала компоновщиком (англ. compiler). Такое название она объяснила тем, что программа подбирает нужную подпрограмму из библиотеки компьютера. Первый компилятор получил название A-0.

Впоследствии языки программирования стали снабжаться специализированными компиляторами. В 1957 было создано средство для языка FORTRAN, а в 1960-х — ПО от создателей COBOL.

Сегодня разработано множество компилирующих программ для разных языков программирования и для выполнения различных задач. Если вы не знаете, какой выбрать для изучения, прочитайте нашу статью.

Какие задачи выполняет компилятор

Кроме изложения программного кода в понятной для компьютера форме, компилятор выполняет следующие задачи:

1. Оптимизация программного текста, в рамках которой уменьшается объем используемой памяти, увеличивается скорость выполнения.

2. Анализ синтаксиса, лексики, семантики, который позволяет избежать ошибки в проектировании исходного текста.

3. Статический анализ кода для определения потенциальных уязвимостей программы.

4. Создание готовых к запуску исполняемых файлов на основе программного текста.

Как работает компилятор

Преобразование программного кода в машинный проходит в несколько этапов.

Лексический анализ

Программа идентифицирует лексические единицы исходника и группирует их по классам, таких как идентификаторы, константы, ключевые слова и т. д. Лексический анализ выполняется для прочтения компилирующим ПО исходного кода.

Синтаксический анализ (парсинг)

Определение правил написания исходника, построение синтаксического дерева. Если дерево получилось построить, значит, ошибок в исходнике нет. Проблемы в построении дерева свидетельствуют об ошибках, о которых компилятор сообщит пользователю.

Семантический анализ

Проверка согласованности элементов исходника, их смысла и значения.

Авторизуйтесь, чтобы продолжить чтение. Это быстро и бесплатно.

Регистрируясь, я принимаю условия использования

Рекомендуемые статьи

Луноход-1: история первого планетохода Луноход-1: история первого планетохода

Как появились первые луноходы

Цифровой океан
Австралийская Toyota Land Cruiser Prado выйдет со странной решёткой радиатора и дизельным мотором Австралийская Toyota Land Cruiser Prado выйдет со странной решёткой радиатора и дизельным мотором

Каким будет новый Land Cruiser Prado от Toyota Australia

4x4 Club
Что такое коммутатор. Для чего и где он используется, какие виды бывают Что такое коммутатор. Для чего и где он используется, какие виды бывают

Для чего коммутатор нужен и какова его роль в сетевой инфраструктуре

Цифровой океан
25 фраз, которые выдают насилие в отношениях 25 фраз, которые выдают насилие в отношениях

Какие слова нужны партнеру, чтобы установить над вами контроль

Psychologies
9 проверенных шагов к совместному оргазму 9 проверенных шагов к совместному оргазму

Какие приемы помогут вам и вашему партнеру достичь совместного оргазма?

Psychologies
В каком виски нет красителей? В каком виски нет красителей?

Зачем в виски добавляют красители и другие добавки?

Maxim
Новое исследование подтверждает, что у Бетховена было отравление свинцом, но умер он не от этого Новое исследование подтверждает, что у Бетховена было отравление свинцом, но умер он не от этого

Ученые показали, концентрация свинца в крови Бетховена не могла его убить

ТехИнсайдер
Галина Данелия: «Никогда бы не подумала, что пройдут годы, и Данелия станет моим мужем» Галина Данелия: «Никогда бы не подумала, что пройдут годы, и Данелия станет моим мужем»

Москва буквально кипела, когда я выходила замуж за Данелию

Коллекция. Караван историй
Как одевается Марк Цукерберг: футболка Brunello Cucinelli, дубленка из мема и костюм I’m sorry Как одевается Марк Цукерберг: футболка Brunello Cucinelli, дубленка из мема и костюм I’m sorry

Как менялся стиль Марка Цукерберга и почему за его гардеробом следят мировые СМИ

СНОБ
Братья «Не-Пушкины» Братья «Не-Пушкины»

Почему Александр Пушкин не писал о своих троюродных дедах — Сергее и Михаиле?

Знание – сила
Попытка номер пять Попытка номер пять

Имеет ли концепция сотрудничества людей и машин право на существование

РБК
«Будущий интернет будущего» «Будущий интернет будущего»

Что такое Web 3.0 и когда наступит эпоха Web 4.0

РБК
Мария Аниканова: «Сергей Соловьев написал за меня сочинение, когда я призналась, что никогда в жизни его не напишу» Мария Аниканова: «Сергей Соловьев написал за меня сочинение, когда я призналась, что никогда в жизни его не напишу»

«У Соловьева на площадке царила особая атмосфера, которая просто обволакивала»

Караван историй
«Ваша участь будет ужасная!» «Ваша участь будет ужасная!»

Кого из декабристов и как решил наказать Николай I?

Дилетант
Странная новая мода: зачем пилоты выключают двигатели перед приземлением Странная новая мода: зачем пилоты выключают двигатели перед приземлением

Как заходили на посадку раньше и почему мода включать двигатели появилась сейчас

ТехИнсайдер
Как справиться с завистью к подруге: советует психолог Как справиться с завистью к подруге: советует психолог

Почему возникает зависть к подруге, как с ней эффективно справиться?

VOICE
Ландшафтная терапия. Горы, лес, море – что подойдет именно тебе для отдыха Ландшафтная терапия. Горы, лес, море – что подойдет именно тебе для отдыха

Чтобы получить от отпуска только пользу, важно правильно расставить приоритеты

Лиза
Андрей Кириленко: «Баскетбол в полной тишине вызывает сильное чувство» Андрей Кириленко: «Баскетбол в полной тишине вызывает сильное чувство»

Андрей Кириленко — о том, как развивается инклюзивный спорт

РБК
Похитители молодости: 5 вещей в твоем доме, которые тихо приближают старость Похитители молодости: 5 вещей в твоем доме, которые тихо приближают старость

Экзогенные токсины в доме могут оказывать серьезное воздействие на организм

VOICE
Вопреки санкциям: почему акции золотодобытчиков дорожают вслед за золотом Вопреки санкциям: почему акции золотодобытчиков дорожают вслед за золотом

Акции российских золотодобытчиков подорожали вслед за ростом мировых цен

Forbes
Лизнуть яйцо за миллион: почему жители Урала готовы рискнуть здоровьем ради денег Лизнуть яйцо за миллион: почему жители Урала готовы рискнуть здоровьем ради денег

Почему люди считают деньги приоритетнее своего здоровья?

Psychologies
Типология энергетических вампиров: как не стать жертвой Типология энергетических вампиров: как не стать жертвой

Энергетические вампиры — кто они и что задумали?

Psychologies
Как стресс заставляет нас стареть быстрее: 5 опасных последствий Как стресс заставляет нас стареть быстрее: 5 опасных последствий

Как негативные эмоции вредят организму и что с этим делать

Psychologies
Варикоз: причины, профилактика и методы лечения Варикоз: причины, профилактика и методы лечения

Что приводит к развитию варикоза, как избежать заболевания?

Psychologies
«Майор Гром: Игра слов»: эксклюзивный отрывок на MAXIM «Майор Гром: Игра слов»: эксклюзивный отрывок на MAXIM

Глава из книги «Майор Гром: Игра слов», в которой Игорь и Юля разгадывают тайну

Maxim
Как ускорить свой метаболизм: 5 простых способов запустить жиросжигание Как ускорить свой метаболизм: 5 простых способов запустить жиросжигание

Как ускорить процесс сжигания калорий в организме?

ТехИнсайдер
«Дети не должны становиться психологами для родителей»: как пережить развод правильно «Дети не должны становиться психологами для родителей»: как пережить развод правильно

Можно ли сделать развод точкой роста для ребенка?

Psychologies
От комичного до трагичного: кто и как играл Зигмунда Фрейда в кино От комичного до трагичного: кто и как играл Зигмунда Фрейда в кино

Кто и как играл австрийского психоаналитика на экране?

Правила жизни
Любовный треугольник: можно ли любить одновременно двоих? Любовный треугольник: можно ли любить одновременно двоих?

Что такое любовь? Почему люди заводят романы на стороне?

Psychologies
Оценка проекта «Центры местного сообщества» с использованием глобального стандарта B4SI Оценка проекта «Центры местного сообщества» с использованием глобального стандарта B4SI

Магазины являются центром пересечения повседневных маршрутов самых разных людей

Позитивные изменения
Открыть в приложении