ast生成java代码 ast javascript( 二 )


package me.tomassetti.support;import java.io.File;public class DirExplorer {public interface FileHandler {void handle(int level, String path, File file);}public interface Filter {boolean interested(int level, String path, File file);}private FileHandler fileHandler;private Filter filter;public DirExplorer(Filter filter, FileHandler fileHandler) {this.filter = filter;this.fileHandler = fileHandler;}public void explore(File root) {explore(0, "", root);}private void explore(int level, String path, File file) {if (file.isDirectory()) {for (File child : file.listFiles()) {explore(level + 1, path + "/" + child.getName(), child);}} else {if (filter.interested(level, path, file)) {fileHandler.handle(level, path, file);}}}}
对于每个Java文件,我们首先要为每个Java文件构建一个抽象语法树(AST),然后对其进行导航 。这样做有两种主要策略:
1、使用访客:要在特定类型的AST节点上进行操作时,这是正确的策略 。
2、使用递归迭代器:这允许处理所有类型的节点 。
【ast生成java代码 ast javascript】关于ast生成java代码和ast javascript的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读