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

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

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

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

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

1715612471_oskaryildizcOkpTiJMGzAunsplash.jpg

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кто такой Стив Джобс. Биография гения, которому верили Кто такой Стив Джобс. Биография гения, которому верили

Предприниматель, дизайнер – эти слова не могут описать личность Стива Джобса

Цифровой океан
Посол Советского Союза Посол Советского Союза

В истории были женщины, которые волею судьбы играли роль посла

Знание – сила
Важный нюанс, из-за которого у вас плохо получаются снимки с зумом Важный нюанс, из-за которого у вас плохо получаются снимки с зумом

Съемка с оптическим увеличением только на первый взгляд кажется простой

CHIP
Сексуальный паразитизм сделал удильщиков самыми разнообразными глубоководными рыбами Сексуальный паразитизм сделал удильщиков самыми разнообразными глубоководными рыбами

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

N+1
6 пассивно-агрессивных фраз, которые мы используем чаще всего 6 пассивно-агрессивных фраз, которые мы используем чаще всего

Фразы, которыми можно кого-то уязвить, оставаясь с виду дружелюбным

Psychologies
Исследование: мужчины, как правило, выбирают себе друзей с другим вкусом на девушек Исследование: мужчины, как правило, выбирают себе друзей с другим вкусом на девушек

Мужчины стараются дружить с теми, у кого вкус на девушек не совпадает с их

ТехИнсайдер
Что такое маховик и для чего он нужен. Устройство и неисправности Что такое маховик и для чего он нужен. Устройство и неисправности

Все о маховике: что это и для чего нужно в автомобиле

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

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

Psychologies
Почему мы любим делать несколько дел сразу: пример «обеда за просмотром кино» Почему мы любим делать несколько дел сразу: пример «обеда за просмотром кино»

Есть, отвлекаясь на сериал, — один из самых простых способов переесть

ТехИнсайдер
Открыл тестостерон, но отказался от Нобелевки: кто такой Адольф Бутенандт, о котором кричали немецкие газеты в 1939 году Открыл тестостерон, но отказался от Нобелевки: кто такой Адольф Бутенандт, о котором кричали немецкие газеты в 1939 году

Этот ученый имел противоречивую славу, однако это не отменяет его вклада в науку

ТехИнсайдер
Добавим зелень Добавим зелень

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

Лиза
Археологи обнаружили древнейшую стоянку людей на Иранском нагорье Археологи обнаружили древнейшую стоянку людей на Иранском нагорье

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

N+1
Как звезда «Унесенных ветром» подстроила знакомство Грейс Келли с князем Монако ради своего мужа Как звезда «Унесенных ветром» подстроила знакомство Грейс Келли с князем Монако ради своего мужа

История любви Грейс Келли и князя Монако Ренье III – одна из самых красивых

VOICE
Незабытое поколение Незабытое поколение

В чем смысл и выгода в поддержке старого софта и устройств

РБК
«Это сейчас был сексизм»: как микрофеминизм помогает женщинам бороться за свои права «Это сейчас был сексизм»: как микрофеминизм помогает женщинам бороться за свои права

Что такое микрофеминизм, как он может помочь женщинам в борьбе за равенство?

Forbes
Френч, Мишальон, Ободников: 5 бестселлеров от непрофессиональных писателей Френч, Мишальон, Ободников: 5 бестселлеров от непрофессиональных писателей

Юрист, журналист, театральная актриса и графиня, которые создали отличные романы

СНОБ
Дворец и храм Дворец и храм

Грандиозные проекты Ирода Великого на сто лет вперед определили облик Иерусалима

Знание – сила
Не вступать в старость без любви: почему возраст пугает и как научиться его принимать Не вступать в старость без любви: почему возраст пугает и как научиться его принимать

Глава из книги «Возраст: Инструкция по применению»

Forbes
Что такое CSS. И как подключить CSS к HTML Что такое CSS. И как подключить CSS к HTML

О CSS, инструменте, который позволяет создавать красивые и стильные веб-страницы

Цифровой океан
Родиной баобабов назвали Мадагаскар Родиной баобабов назвали Мадагаскар

Общий предок баобабов появился на Мадагаскаре 41,1 миллиона лет назад

N+1
Не все коты одинаково полезны. История Непотопляемого Сэма — самого везучего кота в истории Не все коты одинаково полезны. История Непотопляемого Сэма — самого везучего кота в истории

Как кот Сэм три раза тонул, стал героем флота и дожил до старости

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

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

Psychologies
Супружеский «долг»: как на женщин влияет сексуализированное насилие в браке Супружеский «долг»: как на женщин влияет сексуализированное насилие в браке

Почему общество не замечает изнасилования в браке?

Forbes
Бесит коллега Бесит коллега

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

Лиза
Убийца прокрастинации: как работать по технике «Помодоро» Убийца прокрастинации: как работать по технике «Помодоро»

Как выполнять задачи эффективно и все успевать благодаря технике «Помодоро»

ТехИнсайдер
«Рынки вернулись к привычному росту» «Рынки вернулись к привычному росту»

Как экономика Рунета адаптировалась к высоким рискам

РБК
Таблетки в сторону Таблетки в сторону

Как распознать аллергию на лекарства и снизить риск ее появления

Лиза
Что добавить в воду, чтобы быстро отмыть окна до полной прозрачности: секреты клинеров Что добавить в воду, чтобы быстро отмыть окна до полной прозрачности: секреты клинеров

Что добавить в воду для мойки окон, чтобы сэкономить деньги на моющих средствах?

VOICE
К тебе или ко мне? К тебе или ко мне?

Как перевести отношения из сети в офлайн

Новый очаг
Не хочу, не буду!.. Не хочу, не буду!..

Как приучить детей к здоровой еде? Руководство для заботливых родителей

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