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