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
给定一个表示 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