我正在寻找解决此问题陈述的步骤/库/方法。
- 给定一个编程语言的源文件,我需要对其进行解析并将其细分为组件。
示例:给定一个 Java 文件,我需要在其中找到以下内容。
- 进口清单
- 里面的类
- 类中的属性
- 其中的方法 - 沿着参数(如果有)。等等
我需要提取这些并单独存储。为什么我想这样做?
- 我想在这些组件的顶部构建一个倒排索引。
对倒排索引的示例查询 1. 查找具有类名称的文件列表:示例 2. 查找变量 XXX 在 AAA 类中使用的位置。
我需要支持上述查询
所以,我的计划有一个文件,如果我从中构建这些组件,那么在它的顶部构建一个倒排索引会很容易。
示例:Sample -- Class - Sample.java(Keyword - Component - FileName ) 我想像上面那样构建一个倒排索引。
我看到它正在许多像 IntelliJ 这样的 IDE 中实现。我感兴趣的是构建这样的东西需要付出多少努力。我想尝试为至少一种语言实现相同的功能。
提前致谢。