LINUX.ORG.RU

История изменений

Исправление quasimoto, (текущая версия) :

своими словами можно?

Почитай ссылку, я её привёл чтобы по ней сходить и посмотреть :) Хотя нужную цитату оттуда ты уже процитировал.

О чём я и говорил

Что-то ты не так понял. Там конкретные вещи, а ты сразу за обобщения. Эмуляция машкода это специальная задача (а не сразу «современный интерпретатор»). И у неё может быть решение с трансляцией (вот прямо так разные target <-> разные host или как в QEMU хитро), либо простой интерпретацией после декодера (что противопоставляется по ссылкам, вообще-то).

Т.о. современный интерпретатор можно с лёгкостью переделать в компилятор, ибо он является «динамическим транслятором».

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

На практике «чисто интерпретирующие эмуляторы» AFAIK никто уже давно не применяет. Даже bash не может просто взять, и эмулировать while true; do, ему надо ещё done для трансляции.

Зачем ты смешал эмуляторы и интерпретаторы ЯП? Ну и про ЯП в прошлом треде уже обсудили десять раз, и выше картинка была — http://i.imgur.com/QHTDpsa.png, пре-проверками и/или пре-трансляцией в байткод они занимаются, который VM выполняет, может потом JIT компилятор транслирует в машинный код, который непосредственно выполняется.

Исходная версия quasimoto, :

своими словами можно?

Почитай ссылку, я её привёл чтобы по ней сходить и посмотреть :) Хотя нужную цитату оттуда ты уже процитировал.

О чём я и говорил

Что-то ты не так понял. Там конкретные вещи, а ты сразу за обобщения. Эмуляция машкода это специальная задача (а не сразу «современный интерпретатор»). И у неё может быть решение с трансляцией (вот прямо так разные target <-> разные host или как в QEMU хитро), либо простой интерпретацией после декодера (что противопоставляется по ссылкам, вообще-то).

Т.о. современный интерпретатор можно с лёгкостью переделать в компилятор, ибо он является «динамическим транслятором».

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

На практике «чисто интерпретирующие эмуляторы» AFAIK никто уже давно не применяет. Даже bash не может просто взять, и эмулировать while true; do, ему надо ещё done для трансляции.

Дык это в прошлом треде уже обсудили десять раз, и выше картинка была — http://i.imgur.com/QHTDpsa.png, пре-проверками и/или пре-трансляцией в байткод они занимаются, который VM выполняет, может потом JIT компилятор транслирует в машинный код, который непосредственно выполняется.