Страницы

Поиск по вопросам

Показаны сообщения с ярлыком транслятор. Показать все сообщения
Показаны сообщения с ярлыком транслятор. Показать все сообщения

понедельник, 24 февраля 2020 г.

Может ли транслятор работать без интерпретатора или компилятора?

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


Может ли транслятор работать без интерпретатора или компилятора и почему?
    


Ответы

Ответ 1



Если придерживаться самых распространенных определений транслятора, интерпретатора и компилятора, то да. Транслятор - переводчик с какого-то языка на другой язык. Компилятор - переводчик на некий низкоуровневый язык, в форму подлежащую исполнению. Например в машинный код Интерпретатор - штука которая программу сразу исполняет. Например на некоторой виртуальной машине, а виртуальная машина уже на лету компилирует в машинный код. То есть штука, которая нашу программу переводит скажем с паскаля на javascript, это транслятор, но не компилятор. Если конечно наша машина не предназначена для исполнения сразу javascript. Вообще все эти три понятия на практике очень взаимосвязаны и переплетаются.

Ответ 2



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

среда, 11 декабря 2019 г.

Переводчик языков программирования

#транслятор


Интересно, существуют ли хотя бы какие-нибудь заготовки переводчиков для языков программирования.
Вопрос может показаться немного странным, но все же интересно узнать.
Например, прикольно бы было перевести код с Pascal'я на C++, с C++ на человеческий =)
Хотя и разработать что-то подобное будет непросто....

Что-то самому даже стало как-то чересчур интересно, может попробовать что-нибудь
подобное накатать на коленке?    


Ответы

Ответ 1



@nikita_sergeevich правильно сказал, но всё-же между схожими языками перевод возможен: Cpp в Delphi Много разных "переводчиков" JLCA

Ответ 2



Яркий пример - декомпилятор, который переводит с одного языка (машинный) на другой. Декомпилирует-то он, да, но как - это другой вопрос. Везде одни ошибки. Тоже самое с переводом одних человеческий языков на другой - машинный перевод не точен. Пока не существует таких мощностей чтобы можно было реализовать подобную идею.

Ответ 3



Синтаксис 1С отдаленно напоминает человеческий, чем-то похож на текст телеграммы — без склонений, предлогов, сокращенный. Вы это имели в виду?

Ответ 4



Есть. Как-то баловался f2c - переводчик с Фортрана77 на Си. Гадость неимоверная.

Ответ 5



Переводчиков нету. Особенно таких какие вы хотите :) Pascal это обычное структурированное(структурное) программирование, а C++ это объектно-ориентированный язык. В разных языках свои нюансы, перевод будет затруднителен. Да и зачем такое нужно. Без работы оставите людей такими программами))

четверг, 2 мая 2019 г.

Может ли транслятор работать без интерпретатора или компилятора?

Может ли транслятор работать без интерпретатора или компилятора и почему?


Ответ

Если придерживаться самых распространенных определений транслятора, интерпретатора и компилятора, то да.
Транслятор - переводчик с какого-то языка на другой язык. Компилятор - переводчик на некий низкоуровневый язык, в форму подлежащую исполнению. Например в машинный код Интерпретатор - штука которая программу сразу исполняет. Например на некоторой виртуальной машине, а виртуальная машина уже на лету компилирует в машинный код.
То есть штука, которая нашу программу переводит скажем с паскаля на javascript, это транслятор, но не компилятор. Если конечно наша машина не предназначена для исполнения сразу javascript.
Вообще все эти три понятия на практике очень взаимосвязаны и переплетаются.