JRuby, кажется, уже ответил, поэтому я добавлю то, что я знаю о Jython.
Jython использует сгенерированный ANTLRv3 синтаксический анализатор для генерации AST, который соответствует спецификации дляодин вы можете получить из встроенной функции компиляции Pythons (если вы попросите AST, Jython просто вернется после этой стадии).Затем он подается через специальный компилятор, который использует библиотеку генерации байт-кода Java ASM для генерации байт-кода Java, который затем загружается и выполняется.Jython (в отличие от JRuby) не имеет начального этапа интерпретации, но компилируется непосредственно в байт-код Java и позволяет JVM обрабатывать его оттуда.Из-за этого мне никогда не нравилось, когда люди описывали Jython как интерпретатор Python , написанный на Java, я бы предпочел назвать его реализацией Python для Java.