nashorn JS:执行 AST 字符串?

nashorn JS: execute AST string?

给定一个表示 Nashorn AST 的字符串,然后可以执行该字符串

在JDK8中,使用load("nashorn:parser.js")调用parse(String)可以得到一个AST,反过来怎么办:AST到execution?

您必须为 JDK8 parser.js 返回的 AST 编写自己的 AST 到漂亮的打印机转换器。

注意jdk9(https://docs.oracle.com/javase/9/docs/api/jdk/nashorn/api/tree/class-use/Parser.html)中有一个Java解析器API。对于这个解析器的 AST,这里有一个 "pretty printer" 示例脚本:

http://hg.openjdk.java.net/jdk9/dev/nashorn/file/17cc754c8936/samples/prettyprinter.js