Jump to content

Переводчик (компьютерный)

(Перенаправлено из перевода программы )

Транслятор — это компьютерная программа, которая преобразует инструкции программирования , или процессор языка программирования написанные в удобной для человека форме, в коды машинного языка, которые компьютеры понимают и обрабатывают. Это общий термин, который может относиться к компилятору , ассемблеру или интерпретатору — всему, что преобразует код с одного компьютерного языка в другой. [1] [2] К ним относятся переводы между компьютерными языками высокого уровня и понятными человеку компьютерными языками, такими как C++ и Java , языками промежуточного уровня, такими как байт-код Java , языками низкого уровня , такими как ассемблер и машинный код , а также между аналогичными уровнями языка на разных компьютерах. платформы , а также с любой из этих на любую другую из этих. [1] Программное и аппаратное обеспечение представляют разные уровни абстракции вычислений. Программное обеспечение обычно пишется на языках программирования высокого уровня, которые людям легче понять и которыми легче манипулировать, в то время как аппаратные реализации включают низкоуровневые описания физических компонентов и их взаимосвязей. Вычисления переводчика облегчают преобразование между этими уровнями абстракции. [3] В целом, вычисления-переводчики играют решающую роль в устранении разрыва между программными и аппаратными реализациями, позволяя разработчикам использовать сильные стороны каждой платформы и оптимизировать производительность, энергоэффективность и другие показатели в соответствии с конкретными требованиями приложения. [4]

Языковые процессоры программирования [ править ]

Процесс разработки программного обеспечения заметно различается в зависимости от типа переводчика, используемого разработчиком, и, конечно, он отличается от переводчика к переводчику. Этапы процесса разработки, на которые влияет транслятор, включают этап начального программирования, этап отладки и, в первую очередь, процесс выполнения. Факторы, на которые влияют на этих этапах, включают производительность кода, скорость обратной связи для процесса отладки, особенности языка и независимость платформы. Некоторые из наиболее известных процессоров языков программирования, используемых для трансляции кода, — это компиляторы , интерпретаторы и ассемблеры . [5]

Компиляторы [ править ]

Программное обеспечение компилятора взаимодействует с исходным кодом , преобразуя его, как правило, из языка программирования более высокого уровня в объектный код (ЦП) компьютера , который позже может быть выполнен центральным процессором . [6] Объектный код, создаваемый компилятором, состоит из машиночитаемого кода , который может обрабатывать компьютер. Этот этап вычислительного процесса известен как компиляция. Использование компилятора приводит к разделению процессов трансляции и выполнения. После компиляции новый объектный код сохраняется отдельно от исходного кода, в результате чего исходный код больше не требуется для процесса выполнения. В программах-компиляторах процесс трансляции происходит однократно, что приводит к созданию эффективного кода, который можно быстро выполнить любое количество раз. [6]

Трансляция высокоуровневого кода с помощью компилятора имеет очевидные преимущества. [7]

  • Компиляция приводит к ускорению выполнения программы. Поскольку код транслируется перед выполнением, его результаты оптимизируются и выполняются быстро.
  • Компиляторы более идеальны для защиты кода от плагиата и предотвращения использования исходного кода неавторизованной стороной.
  • Объектный код необходимо создать только один раз при компиляции исходного кода.

Есть явные недостатки при трансляции высокоуровневого кода с помощью компилятора. [7]

Это изображение представляет процесс перевода с помощью компилятора.

Некоторые известные языки программирования, использующие компиляторы, включают: [8]

Переводчики [ править ]

Программы-интерпретаторы функционируют путем интерпретации кода высокого уровня в код, пригодный для использования машиной, одновременно выполняя инструкции построчно. В отличие от компиляторов, интерпретаторам не нужно компилировать код перед выполнением инструкций. Процесс трансляции и исполнения выполняются одновременно и прерывается в случае ошибки в программе. Использование интерпретатора позволяет разработчикам тестировать и модифицировать код в режиме реального времени. Это упрощает процесс отладки, а также помогает создавать более эффективный код. Поскольку процесс трансляции и выполнения выполняется одновременно, время выполнения программ-интерпретаторов существенно. [5]

Есть явные преимущества перевода высокоуровневого кода с помощью интерпретатора.

  • Поскольку объектный код не создается в процессе интерпретации, для кода требуется меньше памяти. [5]
  • Языки-интерпретаторы не создают машинно-специфичный код и могут выполняться на машинах любого типа. [7]
  • Процесс разработки и отладки обычно происходит быстрее из-за меньшей сложности и большей гибкости. [7]

Есть явные недостатки при переводе высокоуровневого кода с помощью интерпретатора. [7]

  • Для запуска и интерпретации программ на компьютере должен быть установлен интерпретатор.
  • Время выполнения программы медленнее, чем у компилятора.

Некоторые известные языки программирования, в которых используются интерпретаторы, включают: [5]

Сборщики [ править ]

Программа на ассемблере функционирует путем преобразования ассемблерного кода низкого уровня в обычный машинный код, читаемый ЦП. Цель языка ассемблера, как и других языков кодирования, — сделать процесс программирования более удобным для пользователя, чем программирование на машинном языке. Языки ассемблера используют мнемонические устройства и символические адреса для различения кода операции, операндов и конкретных адресов памяти. Многие из этих компонентов нелегко читаются человеком, поэтому мнемоника, символы и метки делают код расшифровываемым. Ассемблер обрабатывает код по одной строке за раз, а затем переходит к следующей инструкции. Чтобы устранить проблемы, возникающие из-за адресации местоположений, процесс трансляции, известный как сборка, обычно выполняется в два этапа. Первый проход сборки выполняется для идентификации двоичных адресов, соответствующих символическим именам. Это важно для выполнения второго этапа, который представляет собой построчный перевод на машинный язык. [9]

Обычно используемые ассемблеры включают в себя:



См. также [ править ]

Ссылки [ править ]

  1. ^ Jump up to: Перейти обратно: а б Торнтон, Скотт (17 февраля 2017 г.). «Что такое компиляторы, трансляторы, интерпретаторы и ассемблеры?» . Советы по микроконтроллеру . Архивировано из оригинала 19 июля 2019 г. Проверено 2 февраля 2020 г.
  2. ^ «Переводчики и утилиты для разработки программ». Справочник по программному обеспечению (PDF) . Корпорация Интел . 1984 [1983]. п. 3-1. 230786-001. Архивировано (PDF) из оригинала 29 января 2020 г. Проверено 29 января 2020 г.
  3. ^ Болье, Адриан (2022). «A15. Интерфейсные и серверные технологии: важность владения несколькими языками программирования» .
  4. ^ Пагадала, Сантош Кумар (2004). «Портативная реализация среды автоматизированного проектирования композитных конструкций» .
  5. ^ Jump up to: Перейти обратно: а б с д «Языковые процессоры: ассемблер, компилятор и интерпретатор» . Гики для Гиков . 09.08.2018 . Проверено 15 марта 2024 г.
  6. ^ Jump up to: Перейти обратно: а б «CSE 5317/4305: Проектирование и изготовление компиляторов» . лямбда.ута.edu . Проверено 15 марта 2024 г.
  7. ^ Jump up to: Перейти обратно: а б с д и «Типы переводчиков» . Ада Информатика . 15 марта 2024 г. Проверено 15 марта 2024 г.
  8. ^ «Скомпилированные и интерпретируемые языки» . www.ibm.com . Проверено 15 марта 2024 г.
  9. ^ Jump up to: Перейти обратно: а б Патт, Йельский университет; Патель, Санджай (15 августа 2019 г.). Введение в вычислительные системы: от битов и вентилей до C/C++ и не только (3-е изд.). Нью-Йорк, штат Нью-Йорк: МакГроу-Хилл. стр. 231–243. ISBN  978-1260150537 .
  10. ^ Jump up to: Перейти обратно: а б с д Стоко, Уильям (6 мая 2024 г.). «Структура жестового языка» . Ежегодный обзор антропологии . 9 : 365–390. doi : 10.1146/annurev.an.09.100180.002053 . Проверено 15 марта 2024 г.

Дальнейшее чтение [ править ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2718efacfd5403a33aa479ed95e653d4__1716377520
URL1:https://arc.ask3.ru/arc/aa/27/d4/2718efacfd5403a33aa479ed95e653d4.html
Заголовок, (Title) документа по адресу, URL1:
Translator (computing) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)