0

我正在寻找允许使用选择器在 AST 上搜索给定语言的语言/库(即“/function(int, int)”以查找具有给定签名或“namespace(name=xxx)/method(name=yyy) 的所有函数*)" 以查找给定命名空间中以 yyy 开头的所有方法)。

我知道总是有可能将 AST 转换为 XML 并使用 XPath / XQuery,但我正在寻找内置或易于与语言集成的东西。

4

2 回答 2

1

http://cs.nyu.edu/~lharris/content/programquerylangs.html

当我在玩这样的东西时,我的重点最初是专门面向 Java 的,也使用 Eclipse AST 工具。这与语言无关,我所知道的大多数工具也不是。

但是,它确实包含了一些项目链接(我只玩过其中两个,而且很长一段时间都没有),这可能会给你一些想法,尽管我不清楚你想从答案中得到什么样的信息。AST 本身与实现紧密相关。

于 2012-08-18T22:06:49.853 回答
1

这是实用的:https ://live.gnome.org/GObjectIntrospection/

以及 gcc 插件 dehydra:https ://developer.mozilla.org/en-US/docs/Dehydra LLVM 有很多项目:http ://llvm.org/ProjectsWithLLVM/

这是理论上的:http: //www.complang.org/colm/但可能很有趣。

另请参阅此线程,关于使用 OWL/语义网进行查询的主题:http: //lists.w3.org/Archives/Public/semantic-web/2012Aug/0077.html

于 2012-08-18T22:08:04.257 回答