在哪儿?有人可以在这些流行语言的IDE中给我一些源检索方法的例子:
答案 0 :(得分:5)
主要的IDE,如Visual Studio,Eclipse和IntelliJ Idea使用索引方法:解析所有项目文件并存储可能的完成符号(即方法名称)。因此,当用户按Ctrl + Space调用完成列表时,编辑器会查找存储的符号以过滤最合适的候选者。
这些源代码解析器名为" incremental parsers"它们通过两个特征与普通解析器区分开来:
增量解析器通过使用某种形式的缓存来实现这些目标。这个视觉演示简要说明了它们的工作原理:Incremental JSON parser。我建议你试一试。
您也可能有兴趣阅读这些来源:
不幸的是,实际上缺乏构建自己的增量解析器的工具。大多数IDE的核心解析器都是硬编码的,并且它们不共享任何常用方法。我上面提到的演示是使用不同增量解析器库的罕见异常之一 - Papa Carlo,用于在Java,Scala和JavaScript中构建解析器。另一个例子是Parsley - Clojure语言的增量解析库。