Я разбирался в том, как именно работает переводчик, погуглил и пришел к какому-то выводу, просто хотел, чтобы его исправил кто-то, кто сможет дать мне лучшее понимание работы переводчика. >
Итак, я понял следующее:
Интерпретатор — это программа, которая преобразует код от
языка высокого уровня к машине формате.
если говорить конкретно о Java-интерпретаторе, то он получает код в двоичном формате
(который ранее транслируется Java-компилятором из исходного кода в байт-код).
теперь платформой для интерпретатора Java является JVM, в которой он работает, поэтому
по сути, он будет создавать код, который может быть запущен JVM.
поэтому он принимает байт-код, создает промежуточный код и целевую машину
код и передает его JVM.
JVM, по очереди, выполняет этот код на платформе ОС, в которой
реализована или запускается JVM.
Теперь мне все еще непонятен подпроцесс, который происходит между ними, т.е.
интерпретатор создает промежуточный код.
интерпретируемый код затем оптимизируется.
затем генерируется целевой код
и наконец выполняется.
Еще несколько вопросов:
так является ли только интерпретатор ответственным за генерацию целевого кода? и
выполнение?
и означает ли выполнение, что оно выполняется в JVM или в базовой ОС?
Я разбирался в том, как именно работает переводчик, погуглил и пришел к какому-то выводу, просто хотел, чтобы его исправил кто-то, кто сможет дать мне лучшее понимание работы переводчика. >
Итак, я понял следующее:
[list] [*]Интерпретатор — это программа, которая преобразует код от языка высокого уровня к машине формате. [*]если говорить конкретно о Java-интерпретаторе, то он получает код в двоичном формате (который ранее транслируется Java-компилятором из исходного кода в байт-код). [*]теперь платформой для интерпретатора Java является JVM, в которой он работает, поэтому по сути, он будет создавать код, который может быть запущен JVM. [*] поэтому он принимает байт-код, создает промежуточный код и целевую машину код и передает его JVM. [*]JVM, по очереди, выполняет этот код на платформе ОС, в которой реализована или запускается JVM. [/list]
Теперь мне все еще непонятен подпроцесс, который происходит между ними, т.е.
[list] [*]интерпретатор создает промежуточный код. [*]интерпретируемый код затем оптимизируется. [*]затем генерируется целевой код [*]и наконец выполняется. [/list]
Еще несколько вопросов:
[list] [*]так является ли только интерпретатор ответственным за генерацию целевого кода? и выполнение? [*]и означает ли выполнение, что оно выполняется в JVM или в базовой ОС? [/list]