Переводчик или язык программирования процессора является общий термин , который может относиться к чему - либо , что преобразует код с одного компьютера на другой язык. [1] [2] Программа, написанная на языке высокого уровня, называется исходной программой. К ним относятся переводы между высокоуровневыми и удобочитаемыми компьютерными языками, такими как C ++ и Java , языками промежуточного уровня, такими как байт-код Java , языками низкого уровня, такими как язык ассемблера и машинный код , а также между аналогичными уровнями языка на разныхвычислительные платформы , а также от одной из вышеперечисленных к другой. [1]
Термин также используется для переводчиков между реализациями программного обеспечения и аппаратных реализаций ( ASICs микрочипы ) одной и той же программы, а также из описаний программных микрочипа на логических элементов , необходимых для создания его. [ необходима цитата ]
Переводчики разных типов
Существует 3 различных типа переводчиков:
Компилятор
Компилятор является переводчик используется для преобразования высокого уровня языка программирования на язык программирования низкого уровня . Он конвертирует всю программу за один сеанс и сообщает об ошибках, обнаруженных после конвертации. Компилятору требуется время, чтобы выполнить свою работу, поскольку он сразу переводит код высокого уровня в код более низкого уровня, а затем сохраняет его в памяти. Компилятор зависит от процессора и платформы . К нему обращаются под другими именами, например: специальный компилятор, кросс-компилятор и компилятор от исходного кода к исходному. [3] [4] [5]
Устный переводчик
Переводчик похож на компилятор, как это переводчик используется для преобразования высокого уровня языка программирования на язык программирования низкого уровня . Разница в том, что он преобразует программу по одной строке кода за раз и сообщает об ошибках при обнаружении, а также выполняет преобразование. Интерпретатор работает быстрее, чем компилятор, поскольку он немедленно выполняет код после прочтения кода. Его часто используют в качестве инструмента отладки при разработке программного обеспечения, поскольку он может выполнять одну строку кода за раз. Интерпретатор также более портативен, чем компилятор, поскольку он не зависит от процессора , вы можете работать с разными аппаратными архитектурами . [6] [7] [5]
Ассемблер
Ассемблер является переводчик используется для перевода на языке ассемблера в машинный язык . Он выполняет ту же функцию, что и компилятор для языка ассемблера, но работает как интерпретатор. Язык ассемблера сложно понять, поскольку это язык программирования низкого уровня. Ассемблер переводит язык низкого уровня , такой как язык ассемблера, на язык еще более низкого уровня, такой как машинный код . [8] [9]
Смотрите также
- Двоичный транслятор (двоичный в двоичный, обычно код)
- Переводчик языка ассемблера (низкоуровневый исходный код, код)
- Преобразователь исходного текста в исходный (высокоуровневый исходный код, код)
- Rewriter (от источника к источнику, обычно код)
- Конвертер файлов (двоичный в двоичный, обычно данные)
- Транскодер (двоичный в двоичный, данные)
Рекомендации
- ^ a b Торнтон, Скотт (2017-02-17). «Что такое компиляторы, переводчики, интерпретаторы и ассемблеры?» . Советы по микроконтроллеру . Архивировано 19 июля 2019 года . Проверено 2 февраля 2020 .
- ^ «Переводчики и утилиты для разработки программ». Справочник по программному обеспечению (PDF) . Корпорация Intel . 1984 [1983]. п. 3-1. 230786-001. Архивировано (PDF) из оригинала 29 января 2020 года . Проверено 29 января 2020 .
- ^ https://teachcomputerscience.com/translators/
- ^ https://www.microcontrollertips.com/compilers-translators-interpreters-assemblers-faq/
- ^ а б Шурер, Катя; Летондаль, Екатерина; Дево, Эрик (2008-02-04) [2003-01-06]. «Глава 5. Выполнение программы, Раздел 5.2. Интерпретатор и компилятор» . Введение в программирование с использованием Python - курс программирования для биологов в Институте Пастера . pasteur.fr . Институт Пастера . С. 37–40. Архивировано из оригинала на 2015-11-11 . Проверено 7 января 2015 . [1]
- ^ https://teachcomputerscience.com/translators/
- ^ https://www.microcontrollertips.com/compilers-translators-interpreters-assemblers-faq/
- ^ https://teachcomputerscience.com/translators/
- ^ https://www.microcontrollertips.com/compilers-translators-interpreters-assemblers-faq/
дальнейшее чтение
- Калингарт, Питер (1979) [1978-11-05]. Написано в Университете Северной Каролины в Чапел-Хилл . Горовиц, Эллис (ред.). Ассемблеры, компиляторы и перевод программ . Серия «Компьютерное программное обеспечение» (1-е изд., 1-е изд.). Потомак, Мэриленд, США: Computer Science Press, Inc. ISBN 0-914894-23-4. ISSN 0888-2088 . LCCN 78-21905 . Архивировано 20 марта 2020 года . Проверено 20 марта 2020 . (2 + xiv + 270 + 6 страниц)
- Принг-Милл, Дэвид (2018-03-04). "Почему AI не освоил языковой перевод?" . Singularity Hub . Университет сингулярности . Архивировано 29 декабря 2019 года . Проверено 2 февраля 2020 .
- Эдвардс, Стивен А. (осень 2013 г.). «Языковые процессоры» (PDF) . Колумбийский университет . Архивировано (PDF) из оригинала на 24.06.2019 . Проверено 2 февраля 2020 .
- Такер, Аллен; Белфорд, Женева Г. "Информатика" . Британская энциклопедия . Архивировано 23 июля 2019 года . Проверено 2 февраля 2020 .