JSR-223 上下文中编译脚本的本质是什么

What is the nature of a compiled script in JSR-223 context

我找不到任何明确的答案。 脚本是否翻译成字节码?到特定于脚本的伪代码 ?

当我使用已编译的 nashorn 脚本时,它是否只是因为 JIT 编译器在脚本的 java 翻译上完成了它的工作而被编译 要么 因为已经为 nashorn 类型的解释 VM(一种 smallTalk 选项)准备了一个特定的脚本解析版本? 感谢您的帮助

编译脚本的"nature"完全取决于脚本引擎,例如

  • 原始脚本本身,如果脚本语言没有编译版本
  • 已解析的中间对象,例如表达式 abstract syntax tree
  • 用于评估脚本的内部对象结构,例如正则表达式编译成什么
  • 字节码
  • ...

之所以找不到明确的答案,是因为没有明确的答案。每个脚本引擎都会做自己的事情。