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

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

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

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

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

1715612471_oskaryildizcOkpTiJMGzAunsplash.jpg

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Высокая аквакультура. Как проходит цифровизация рыбоводческих хозяйств Высокая аквакультура. Как проходит цифровизация рыбоводческих хозяйств

Шутки о «настоящей белорусской форели» могут быть не так уж далеки от реальности

Цифровой океан
5 решений, которые нужно принять парам поколения Y 5 решений, которые нужно принять парам поколения Y

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

Psychologies
«Да здесь даже ванная есть!» Что вы не знали о русском самолете-гиганте «Илья Муромец» «Да здесь даже ванная есть!» Что вы не знали о русском самолете-гиганте «Илья Муромец»

Самолет «Илья Муромец»: парадокс инженерной мысли

ТехИнсайдер
«Чувства гораздо богаче и тоньше, чем считалось раньше»: сколько эмоций мы испытываем на самом деле «Чувства гораздо богаче и тоньше, чем считалось раньше»: сколько эмоций мы испытываем на самом деле

Сколько эмоций на самом деле испытывают люди?

Psychologies
Что такое гостевой брак и кому он подходит Что такое гостевой брак и кому он подходит

В чем плюсы гостевого брака и есть ли подводные камни?

РБК
Сказка о гендерном равенстве: почему женщины в России зарабатывают меньше мужчин Сказка о гендерном равенстве: почему женщины в России зарабатывают меньше мужчин

Откуда берется гендерное неравенство в зарплате?

Forbes
Запах старости: почему пожилые люди странно пахнут Запах старости: почему пожилые люди странно пахнут

«Запах старости»: что его вызывает? Это связано с гигиеной или болезнями?

ТехИнсайдер
Энергетики Энергетики

Стоит ли прибегать к помощи энергетиков, когда силы на исходе?

Здоровье
«Не слишком ли много мы думаем?»: как правильно потреблять и перерабатывать информацию «Не слишком ли много мы думаем?»: как правильно потреблять и перерабатывать информацию

Похоже, мозг не справляется с тем валом информации, который обрушивается на нас

Psychologies
Орангутан полечил свою рану листьями лианы Орангутан полечил свою рану листьями лианы

Биологи заметили, как орангутан обрабатывает свою рану с помощью растения

N+1
Восход и закат Великой Восход и закат Великой

«Золотой век» дворянства, крепостной гнет и реформы царствования Екатерины II

Знание – сила
Чайные пакетики рассказали о скорости разложения почвенного органического вещества в России Чайные пакетики рассказали о скорости разложения почвенного органического вещества в России

Зеленый чай в почве разлагается вдвое быстрее ройбуша

N+1
10 автомобилей с самыми красивыми попами 10 автомобилей с самыми красивыми попами

За красивую попу автомобиля дизайнерам можно простить и некоторые оплошности

Maxim
Для измерения лунотрясений разработаны лазерные сейсмические датчики Для измерения лунотрясений разработаны лазерные сейсмические датчики

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

ТехИнсайдер
Сложное соседство: как жить в одном доме с кошкой, если у вас появилась аллергия Сложное соседство: как жить в одном доме с кошкой, если у вас появилась аллергия

Как ужиться в одной квартире с кошкой, если у вас появилась аллергия на нее?

ТехИнсайдер
Лучше, чем сериалы: 5 книг, которые авторы пишут по частям Лучше, чем сериалы: 5 книг, которые авторы пишут по частям

Книги, которые представляют собой часть большой серии

ТехИнсайдер
Топ-7 вещей раздражающих нас в автомобиле Топ-7 вещей раздражающих нас в автомобиле

Что раздражает владельцев машин премиум-класса?

4x4 Club
Гениальное просто! Вот почему вам иногда нужно скучать: интересные факты Гениальное просто! Вот почему вам иногда нужно скучать: интересные факты

Как скука может нам помочь прикоснуться к своей истинной природе?

ТехИнсайдер
Всё сложится! Всё сложится!

Лайфхаки, которые упростят сборы и сделают путешествие комфортнее

Новый очаг
От «Хранителей» до «Ходячих мертвецов»: 15 лучших сериалов по комиксам От «Хранителей» до «Ходячих мертвецов»: 15 лучших сериалов по комиксам

Рейтинг сериалов по комиксам за все время их существования

Правила жизни
Бэби-бум Бэби-бум

Мечтаете о классическом бэбифейсе?

Собака.ru
Дьявол в деталях Дьявол в деталях

Языком моды Михаил Булгаков владел не менее виртуозно, чем литературным

Men Today
Ёкарный бабай, курва и зюзя: что означают эти бранные слова и откуда они взялись Ёкарный бабай, курва и зюзя: что означают эти бранные слова и откуда они взялись

Что такое обсценная лексика?

ТехИнсайдер
Подводные лодки с воздухонезависимыми силовыми установками в российском и советском флоте Подводные лодки с воздухонезависимыми силовыми установками в российском и советском флоте

Подводные лодки с двигателями внутреннего сгорания замкнутого цикла

Наука и Техника
Суда пришли Суда пришли

Где бросить якорь нынешним летом? Держите курс на Восток

RR Люкс.Личности.Бизнес.
Спортивный уголок Спортивный уголок

5 способов организовать место для тренировок в квартире

Лиза
Насколько добрый мой город? Насколько добрый мой город?

Репортаж с конференции «Про развитие городов и сообществ»

Позитивные изменения
Принцип бинокля в отношениях Принцип бинокля в отношениях

Как щедрый мужчина может оставить тебя без копейки и при чем тут принцип бинокля

Лиза
Что такое цукэмэн и как его есть Что такое цукэмэн и как его есть

Как готовят японское блюдо цукэмэн, чем оно похоже на рамен и как его едят

СНОБ
Я узнал, что у меня есть актерская семья: чем занимаются наследники голливудских семей Я узнал, что у меня есть актерская семья: чем занимаются наследники голливудских семей

Гид по самым известным голливудским семьям

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