作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我使用 java 编译器树 api 为 java 源文件生成 ast。但是,我无法访问源文件中的注释。
到目前为止,我一直无法找到从源文件中提取注释的方法。是否有使用编译器 api 或其他工具的方法?
最佳答案
我们的 SD Java Front End是一个构建 AST(以及可选的符号表)的 Java 解析器。它直接在树节点上捕获评论。
Java 前端是编译器语言前端(C、C++、C#、COBOL、JavaScript 等)家族的一员,DMS Software Reengineering Toolkit 支持所有这些前端. DMS 旨在处理语言以实现转换,因此可以捕获注释、布局和格式,以便重新生成尽可能保留原始布局的代码。
2012 年 3 月 29 日编辑:(与发布的使用 ANTLR 执行此操作的答案形成对比)
要在 DMS 中获取对 AST 节点的评论,可以调用 DMS(类似 lisp 的)函数
(AST:GetComments <node>)
它提供对与 AST 节点关联的注释数组的访问。可以查询此数组的长度(可能为空),或针对每个数组元素,查询以下任何属性:(AST:Get... FileIndex, Line, Column, EndLine, EndColumn, String (exact Unicode comment内容)。
关于java - 如何从 java 编译器树 api 生成的 ast 访问注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3019729/
我是一名优秀的程序员,十分优秀!