Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

наташа коваль Ученик (119), закрыт 16 лет назад
Программа
Лучший ответ
Антон Профи (992) 16 лет назад
Трансля́тор — программа, которая принимает на вход программу на одном языке (он в этом случае называется исходный язык, а программа — исходный код) , и преобразует её в программу, написанную на другом языке (соответственно, целевой язык и объектный код) .

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

Наиболее часто встречаются две разновидности трансляторов:

Компиляторы — выдают результат в виде исполняемого файла (в данном случае считаем, что компоновка входит в компиляцию) . Этот файл:
транслируется один раз — может быть запущен самостоятельно
не требует для работы наличия на машине создавшего его транслятора
Интерпретаторы — исполняют программу после разбора (в этом случае в роли объектного кода выступает внутреннее представление программы интерпретатором) . Исполняется она построчно. В данном случае программа
транслируется (интерпретируется) при каждом запуске (если объектный код кешируется, возможны варианты)
требует для исполнения наличия на машине интерпретатора и исходного кода
Помимо «чисто» трансляторов и интерпретаторов, существует множество промежуточных вариантов. Так, большинство современных интерпретаторов перед исполнением переводят программу в байт-код (так как его покоммандно выполнять гораздо проще, а значит, быстрее) или даже прямо в машинный код (в последнем варианте от интерпретатора остался только автоматический запуск, поэтому такой «интерпретатор» называется JIT-компилятором) .

Важное примечание: продукты, использующие промежуточные варианты между парадигмами транслятора в машинный код и интерпретатора, выделились сравнительно недавно — когда машины стали достаточно мощными, чтобы компилировать код «на лету» . До этого времени трансляция была сложной и времязатратной задачей, и выполнялась только отдельно (и даже на других машинах) . В связи с этим, в старой литературе термины «транслятор» и «интерпретатор» противопоставляются друг другу как диаметрально противоположные подходы! Также, раньше компиляторы назывались «трансляторами» , поскольку компоновка как отдельная стадия выделилась позже, а трансляторы не в машинный код были мало распространены. (См. также Компилятор#Трансляция и компоновка)

2Sir.Good
Не знаешь - молчи)
Остальные ответы
Sir.Good Гуру (2822) 16 лет назад
ТРАНСЛЯТОР [translator]

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

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

2Hart COF: цыц, детка!
я написал коротко )) потом переправил =) ...
в отличии от тебя - слышишь звон да не знаешь где он :))) ...
p.s.: удачи =) пиши на мыло если чо...
NEMO Искусственный Интеллект (140330) 16 лет назад
Зависит от контекста. Переводчик, передатчик,
Похожие вопросы