Программа или техническое средство выполняющее трансляцию программы это

Содержание

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

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

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

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

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

Какую функцию выполняет компилятор?

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

Какие действия выполняются при компиляции?

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

ВНИМАНИЕ, скептики! Как вам такой расклад?

  • Лексический анализ. Последовательность символов исходного файла преобразуется в последовательность лексем.
  • Синтаксический анализ. Последовательность лексем преобразуется в дерево разбора.
  • Семантический анализ. …
  • Оптимизация. …
  • Генерация кода.

Что такое Трансляция в программировании?

Трансляция программы — преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой. Выполняется транслятором.

Чем отличается компилятор от Интерпритатора?

Компиля́тор — программа или техническое средство, выполняющее компиляцию. Интерпрета́тор — программа (разновидность транслятора), выполняющая интерпретацию. Таким образом, можно заключить, что компилятор преобразует исходный код к близкому к машинному коду.

В чем разница между компиляцией и интерпретацией?

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

Что такое компиляция в С ++?

2) Компиляция Это промежуточный шаг между высокоуровневым языком и машинным (бинарным) кодом. Ассемблерный код — это доступное для понимания человеком представление машинного кода. Мы можем все также посмотреть и прочесть полученный результат.

На чем писать компилятор?

Используйте свой любимый язык Это совершенно нормально — писать компилятор на Pyhton, Ruby или любом другом языке, который вам нравится. Используйте простые алгоритмы, принцип которых вы хорошо понимаете.

Как компилируется C?

Компиляция исходных текстов на Си в исполняемый файл происходит в три этапа….Процесс компиляции состоит из следующих этапов:

Внимание, скептики! Как вам такой расклад

  1. Лексический анализ. …
  2. Синтаксический анализ. …
  3. Семантический анализ. …
  4. Оптимизация. …
  5. Генерация кода.

Как компилятор читает код?

6. Заключение

  1. Компилятор javac преобразует исходный код программы в байт-код, который может быть выполнен на любой платформе, на которой установлена виртуальная машина Java;
  2. После компиляции JVM интерпретирует получившийся байт-код;

Что такое интерпретатор простыми словами?

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

В чем заключается трансляция?

Трансляция — передача на дальнее расстояние речи, музыки, изображения средствами радио или телевидения (обычно осуществляемая непосредственно с места действия).

Что такое транслятор и его виды?

Транслятор — обслуживающая программа, преобразующая исходную программу, предоставленную на входном языке программирования, в рабочую программу, представленную на объектном языке. В настоящее время трансляторы разделяются на три основные группы: ассемблеры, компиляторы и интерпретаторы.

Зачем нужны интерпретаторы?

Интерпретаторы полезны для тестирования нового или модифицированного кода или при обучении программированию. Заранее скомпилированное программное обеспечение работает быстрее, чем интерпретируемые программы, поэтому скомпилированные программы предпочтительны для крупных и устоявшихся приложений.

Читайте также:
Как переименовать программу 1с

Что быстрее компиляция и интерпретация?

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

Источник: toptitle.ru

Транслятор

Трансля́тор — программа или техническое средство, выполняющее трансляцию программы [1] [2] .

Трансля́ция програ́ммы — преобразование программы, представленной на одном из языков программирования, в программу, написанную на другом языке. Транслятор обычно выполняет также диагностику ошибок, формирует словари идентификаторов, выдаёт для печати текст программы и т. д. [1]

Язык, на котором представлена входная программа, называется исходным языком, а сама программа — исходным кодом. Выходной язык называется целевым языком.

В общем случае понятие трансляции относится не только к языкам программирования, но и к другим языкам — как формальным компьютерным (вроде языков разметки типа HTML), так и естественным (русскому, английскому и т. п.) [3] [4] .

  • 1 Виды трансляторов
  • 2 Реализации
  • 2.1 Компиляция
  • 2.2 Интерпретация
  • 2.3 Динамическая компиляция

Виды трансляторов

Существует несколько видов трансляторов [2] .

  • Диалоговый транслятор — транслятор, обеспечивающий использование языка программирования в режиме разделения времени.
  • Синтаксически-ориентированный (синтаксически-управляемый) транслятор — транслятор, получающий на вход описание синтаксиса и семантики языка, текст на описанном языке и выполняющий трансляцию в соответствии с заданным описанием.
  • Однопроходной транслятор — транслятор, преобразующий исходный код при его однократном последовательном чтении (за один проход).
  • Многопроходной транслятор — транслятор, преобразующий исходный код после его нескольких чтений (за несколько проходов).
  • Оптимизирующий транслятор — транслятор, выполняющий оптимизацию создаваемого кода. См. оптимизирующий компилятор.
  • Тестовый транслятор — транслятор, получающий на вход исходный код и выдающий на выходе изменённый исходный код. Запускается перед основным транслятором для добавления в исходный кодотладочныхпроцедур. Например, транслятор с языкаассемблера может выполнять замену макрокоманд на код.
  • Обратный транслятор — транслятор, выполняющий преобразование машинного кода в текст на каком-либо языке программирования. См. дизассемблер, декомпилятор.

Реализации

Цель трансляции — преобразование текста с одного языка на язык, понятный адресату. При трансляции компьютерной программы адресатом может быть:

  • устройство — процессор (трансляция называется компиляцией);
  • программа — интерпретатор (трансляция называется интерпретацией).
  • компиляция;
  • в исполняемый код
  • в машинный код
  • в байт-код

Компиляция

Основная статья: Компилятор

Язык процессора (устройства, машины) называется машинным языком, машинным кодом. Код на машинном языке исполняется процессором. Обычно, машинный язык — язык низкого уровня, но существуют процессоры, использующие языки высокого уровня (например, iAPX-432 [5] ). Однако, такие процессоры не получили распространения в силу своей сложности и дороговизны.

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

Процесс компиляции, как правило, состоит из нескольких этапов:

  • лексический анализ;
  • синтаксический анализ;
  • семантический анализ;
  • создание на основе результатов анализов промежуточного кода;
  • оптимизация промежуточного кода;
  • создание объектного кода, в данном случае машинного.

Программа может использовать сервисы, предоставляемые операционной системой, и сторонние библиотеки (например, библиотеки для работы с файлами и библиотеки для создания графического интерфейса). Для добавления в объектный файл машинного кода из других объектных файлов (кода статических библиотек) и информации о динамических библиотеках выполняется связывание (англ. link ) или компоновка. Связывание или компоновка выполняется редактором связей или компоновщиком. Компоновщик может быть отдельной программой или частью компилятора. Компоновщик создаёт исполняемый файл. Исполняемый файл (программа) запускается следующим образом:

  • по запросу пользователя в ядре операционной системы создаётся объект «процесс»;
  • загрузчик программоперационной системы выполняет следующие действия:
  • читает исполняемый файл;
  • загружает его в память;
  • загружает в памятьдинамические библиотеки;
  • выполняет связывание машинного кода программы с динамическими библиотеками (динамическое связывание);
  • передаёт управление программе.
  • компиляция программы выполняется один раз;
  • наличие компилятора на устройстве, для которого компилируется программа, не требуется.
  • компиляция — медленный процесс;
  • при внесении изменений в исходный код, требуется повторная компиляция.

Интерпретация

Основная статья: Интерпретатор

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

Интерпретатор может работать двумя способами:

  1. читать код и исполнять его сразу (чистая интерпретация[6] );
  2. читать код, создавать в памяти промежуточное представление кода (байт-код или p-код), выполнять промежуточное представление кода (смешанная реализация[6] ).
Читайте также:
Требования стандарта к результатам освоения программы представлены в виде ответ

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

Этапы работы интерпретатора:

  1. лексический анализ;
  2. синтаксический анализ;
  3. семантический анализ;
  4. создание промежуточного представления кода (при чистой интерпретации не выполняется);
  5. исполнение.

Интерпретатор моделирует машину (виртуальную машину), реализует цикл выборки-исполнения команд машины. Команды машины записываются не на машинном языке, а на языке высокого уровня. Интерпретатор можно назвать исполнителем языка виртуальной машины.

Чистая интерпретация применяется, обычно, для языков с простой структурой, например, языков сценариев, языков APL и Лисп.

Достоинства интерпретаторов по сравнению с компиляторами:

  • возможность работы в интерактивном режиме;
  • отсутствие необходимости перекомпиляции исходного кода после внесения изменений и при переносе кода на другую платформу.

Недостатки интерпретаторов по сравнению с компиляторами:

  • низкая производительность (машинный код исполняется процессором, а интерпретируемый код — интерпретатором; машинный код самого интерпретатора исполняется процессором);
  • необходимость наличия интерпретатора на устройстве, на котором планируется интерпретация программы;
  • обнаружение ошибок синтаксиса на этапе выполнения (актуально для чистых интерпретаторов).

Сравнение чистого интерпретатора и интерпретатора, создающего байт-код:

  • чистый интерпретатор проще в реализации, так как для него не нужно писать код транслятора;
  • интерпретатор, создающий байт-код, может выполнять его оптимизацию и добиваться большей производительности, чем чистый интерпретатор;
  • интерпретатор, создающий байт-код, потребляет больше ресурсов системы (трансляция в байт-код занимает процессорное время; байт-код занимает место в памяти).

Динамическая компиляция

Основная статья: JIT-компиляция

Динамическая или JIT компиляция — трансляция, при которой исходный или промежуточный код преобразуется (компилируется) в машинный код непосредственно во время исполнения, «на лету» (англ. just in time , JIT ). Компиляция каждого участка кода выполняется только один раз; скомпилированный код сохраняется в кеше и при необходимости используется повторно.

Достоинства динамической компиляции по сравнению с компиляцией:

  • скорость работы динамически компилируемых программ близка к скорости работы компилируемых программ;
  • отсутствие необходимости перекомпиляции программы при переносе на другую платформу.

Недостатки динамической компиляции по сравнению с компиляцией и чистой интерпретацией:

  • бо́льшая сложность реализации;
  • бо́льшие требования к ресурсам.

Динамическая компиляция хорошо подходит для веб-приложений.

Динамическая компиляция появилась и поддерживается в той или иной мере в реализациях Java, .NET Framework, Perl, Python.

Смешение понятий трансляции и интерпретации

Понятия «трансляция» и «интерпретация» различаются. Во время трансляции выполняется преобразование кода программы с одного языка на другой. Во время интерпретации программа исполняется.

Так как целью трансляции является, обычно, подготовка к интерпретации, эти процессы рассматриваются вместе. Например, языки программирования часто характеризуются как «компилируемые» или «интерпретируемые» в зависимости от того, что преобладает при использовании языка: компиляция или интерпретация. Причём, практически все языки низкого уровня и третьего поколения, вроде ассемблера, Си или Модулы-2, являются компилируемыми, а более высокоуровневые языки, вроде Python или SQL — интерпретируемыми.

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

Более того, один и тот же язык программирования может и транслироваться, и интерпретироваться, и в обоих случаях должны присутствовать общие этапы анализа и распознавания конструкций и директив исходного языка. Это относится и к программным реализациям, и к аппаратным — так, процессоры семейства x86 перед исполнением инструкций машинного языка выполняют их декодирование, выделяя в опкодах поля операндов (указание регистров, адресов в памяти, констант), разрядности и т. п., а в процессорах Pentium с архитектурой NetBurst тот же самый машинный код перед сохранением во внутреннем кэше дополнительно транслируется в последовательность микроопераций.

Примечания

  1. ↑ 1,01,1 ГОСТ 19781-83 // Вычислительная техника. Терминология: Справочное пособие. Выпуск 1 / Рецензент канд. техн. наук Ю. П. Селиванов. — М. : Издательство стандартов, 1989. — 168 с. — 55 000 экз. — ISBN 5-7050-0155-X.
  2. ↑ 2,02,1Першиков В. И., Савинков В. М. Толковый словарь по информатике / Рецензенты: канд. физ.-мат. наук А. С. Марков и д-р физ.-мат. наук И. В. Поттосин. — М. : Финансы и статистика, 1991. — 543 с. — 50 000 экз. — ISBN 5-279-00367-0.
  3. ↑ СТ ИСО 2382/7-77 // Вычислительная техника. Терминология. Указ. соч.
  4. ↑ Толковый словарь по вычислительным системам = Dictionary of Computing / Под ред. В. Иллингуорта и др.: Пер. с англ. А. К. Белоцкого и др.; Под ред. Е. К. Масловского. — М. : Машиностроение, 1990. — 560 с. — 70 000 (доп.) экз. — ISBN 5-217-00617-X (СССР), ISBN 0-19-853913-4 (Великобритания).
  5. ↑Органик Э. Организация системы Интел 432 = A Programmer’s View of the Intel 432 System / Пер. с англ. — М. : Мир, 1987. — С. 20, 31. — 446 с. — 59 000 экз.
  6. ↑ 6,06,16,2Роберт У. Себеста. 1.7. Методы реализации // Основные концепции языков программирования = Concepts of Programming Languages / Пер. с англ. — 5-е изд. — М. : Вильямс, 2001. — С. 45‑52. — 672 с. — 5000 экз. — ISBN 5-8459-0192-8 (рус.), ISBN 0-201-75295-6 (англ.).
Читайте также:
Государственная программа это законодательный акт

Литература

  • Касьянов В. Н., Поттосин И. В. Методы построения трансляторов. — Новосибирск: Наука, 1986. — 344 с.

Источник: xn--h1ajim.xn--p1ai

Что такое транслятор простыми словами?

У нас есть 25 ответов на вопрос Что такое транслятор простыми словами? Скорее всего, этого будет достаточно, чтобы вы получили ответ на ваш вопрос.

Содержание

  • В чем заключается функция транслятора?
  • Какие существуют виды трансляторов?
  • Что такое компилятор транслятор интерпретатор?
  • Сколько видов трансляторов существует по типу?
  • Что такое Трансляция в программировании?
  • Сколько видов транслятора существует?
  • Что такое транслятор простыми словами? Ответы пользователей
  • Что такое транслятор простыми словами? Видео-ответы

Отвечает Тебриз Пустоплеснов

Транслятор — это программа-переводчик, которая переводит текст с одного языка на другой, если нужно перевести ваш текст программы на «машинный язык», чтобы его понял ваш компьютер, то это и будет компилятором, то есть компилятор — это определенный вид транслятора.May 11, 2021

Трансля́тор — программа или техническое средство, выполняющее трансляцию программы . Трансля́ция програ́ммы — преобразование программы, представленной на одном из языков программирования, в программу на другом языке. Транслятор обычно выполняет также диагностику ошибок, формирует словари идентификаторов, выдаёт для печати текст программы и т. д.

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

Трансля́тор — программа или техническое средство, выполняющее трансляцию программы. [ 1] [ 2] Трансляция программы — преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой. [ 1]

Цель трансляции — преобразовать текст с одного языка на другой, который понятен адресату текста. В случае программ — трансляторов, адресатом является техническое устройство ( процессор) или программа — интерпретатор. Язык процессоров ( машинный код) обычно является низкоуровневым.

В чем заключается функция транслятора?

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

Какие существуют виды трансляторов?

Виды трансляторовАдресный. Функциональное устройство, преобразующее виртуальный адрес (Virtual address) в реальный адрес памяти (Memory address).Диалоговый. . Многопроходной. . Обратный. . Однопроходной. . Оптимизирующий. . Синтаксически-ориентированный (синтаксически-управляемый). . Тестовый.May 26, 2010

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

Компилятор переводит весь исходный модуль на машинный язык. При компиляции одна и та же программа имеет несколько представлений — в виде текста и в виде выполняемого файла. Интерпретатор последовательно переводит на машинный язык каждый оператор исходного модуля и сразу же выполняет его.

Сколько видов трансляторов существует по типу?

Транслятор — обслуживающая программа, преобразующая исходную программу, предоставленную на входном языке программирования, в рабочую программу, представленную на объектном языке. В настоящее время трансляторы разделяются на три основные группы: ассемблеры, компиляторы и интерпретаторы.

Что такое Трансляция в программировании?

Трансляция программы — преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой. Выполняется транслятором.

Сколько видов транслятора существует?

Транслятор — обслуживающая программа, преобразующая исходную программу, предоставленную на входном языке программирования, в рабочую программу, представленную на объектном языке. В настоящее время трансляторы разделяются на три основные группы: ассемблеры, компиляторы и интерпретаторы.

Источник: querybase.ru

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