Как называется программа которая превращает высокоуровневый код в машинные инструкции

Если вы программист, то наверняка слышали слово “компилятор”. Но знаете ли вы, что это такое на самом деле? Вы когда-нибудь задумывались, что происходит под капотом, когда вы запускаете команду javac(если у вас код на Java)? Вы когда-нибудь хотели создать свой собственный язык программирования? — и просто заводили бесполезный репозиторий GitHub, где все равно есть только один readme.md , потому что вы даже не знаете, с чего начать. Я думаю, что начинать стоит с этого: узнать больше о компиляторе .

Итак, в этой статье мы разберёмся, что представляет собой компилятор. Если вы опытный программист, который знает про компилятор каждую мелочь, то извините, эта статья не для вас. Но если вы — тот самый парень из абзаца выше, то вперёд за мной, в кроличью нору. На протяжении статьи я буду обсуждать следующие подтемы:

  • введение в компилятор;
  • типы компиляторов;
  • архитектура компилятора.

Мне хочется, чтобы к концу статьи вы могли понимать, что происходит под капотом, когда вы запускаете команду javac, а также получили некоторое представление о том, как написать свой собственный язык программирования.

ИИ научили писать код | Copilot от GitHub и OpenAI

Вступление

Компилятор — это не что иное, как переводчик исходного кода.

Задача компилятора — перевести исходный код с одного языка на другой. Это означает, что если вы скормите компилятору исходный код Java , то сможете получить исходный код Python (не самый лучший пример, просто для понимания сути. На самом деле вы получите байт-код Java , который можно запустить на JVM). Для выполнения этого процесса у компилятора есть несколько взаимосвязанных компонентов.

Читайте также:
Написать программу которая сортирует массив из n элементов по возрастанию методом пузырька

Типы компиляторов

Компилятор

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

  • 1 Основы
  • 2 Структура компилятора
  • 3 Компиляция и компоновка
  • 4 Примеры компиляторов
  • 5 См. также
  • 6 Ссылки

Основы [ ]

Большинство компиляторов переводят программу с некоторого высокоуровневого языка программирования в низкоуровневом языке . Например, для языка Java это язык Java Virtual Machine, .NET Framework компилируются заранее).

Для каждой целевой машины ( Apple и т. д.) и каждой операционной системы или семейства операционных систем, работающих на целевой машине, требуется написание своего компилятора. Существуют также так называемые «кросс-компиляторы», позволяющие на одной машине и в среде одной ОС получать код, предназначенный для выполнения на другой целевой машине или в среде другой ОС. Кроме того, компиляторы для одной и той же целевой машины могут быть оптимизированы под разные Intel , создаёт машинный код, который быстрее всего выполняется на компьютерах с этими процессорами.

Существуют программы, которые решают обратную задачу — перевод программы с низкоуровневого языка на высокоуровневый. Этот процесс называют декомпиляцией, а программы — Структура компилятора [ ]

Пишу программу в машинных кодах

Процесс компиляции состоит из следующих этапов:

    Компиляция и компоновка [ ]

Важной исторической особенностью компилятора, отраженной в его названии ( Шаблон:Lang-en — собирать вместе, составлять), являлось то, что он мог производить и GCC) до сих пор физически объединены со своими компоновщиками. В связи с этим, вместо термина «компилятор» иногда используют термин «транслятор» как его синоним: либо в старой литературе, либо когда хотят подчеркнуть его способность переводить программу в машинный код (и наоборот, используют термин «компилятор» для подчеркивания способности собирать из многих файлов один).

Читайте также:
Полезные программы в Стиме

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

GCC, Free Pascal Compiler , См. также [ ]

  • Компиляторы: принципы, методы и средства разработки
  • Ахо, Альфред В., Сети, Рави, Ульман, Джеффри Д. Шаблон:Lang-en 5-8459-0189-8 (рус.)
  • Хантер Р. Проектирование и конструирование компиляторов : Пер. с англ. С. М. Круговой — М. Финансы и статистика, 1984 — 232 с. ил. 24 см

Источник: osdev.fandom.com

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

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

Если вы программист, то наверняка слышали слово “компилятор”. Но знаете ли вы, что это такое на самом деле? Вы когда-нибудь задумывались, что происходит под капотом, когда вы запускаете команду javac (если у вас код на Java)? Вы когда-нибудь хотели создать свой собственный язык программирования? — и просто заводили бесполезный репозиторий GitHub, где все равно есть только один readme.md, потому что вы даже не знаете, с чего начать. Я думаю, что начинать стоит с этого: узнать больше о компиляторе.

Итак, в этой статье мы разберёмся, что представляет собой компилятор. Если вы опытный программист, который знает про компилятор каждую мелочь, то извините, эта статья не для вас. Но если вы — тот самый парень из абзаца выше, то вперёд за мной, в кроличью нору. На протяжении статьи я буду обсуждать следующие подтемы:

  • введение в компилятор;
  • типы компиляторов;
  • архитектура компилятора.

Мне хочется, чтобы к концу статьи вы могли понимать, что происходит под капотом, когда вы запускаете команду javac , а также получили некоторое представление о том, как написать свой собственный язык программирования.

Вступление

Компилятор — это не что иное, как переводчик исходного кода.

Задача компилятора — перевести исходный код с одного языка на другой. Это означает, что если вы скормите компилятору исходный код Java, то сможете получить исходный код Python (не самый лучший пример, просто для понимания сути. На самом деле вы получите байт-код Java, который можно запустить на JVM). Для выполнения этого процесса у компилятора есть несколько взаимосвязанных компонентов.

Читайте также:
Найти задачи программу компьютера

Типы компиляторов

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru