什么语言适合代码解析和调用图绘制

发布于 2024-11-29 09:15:38 字数 310 浏览 1 评论 0原文

我有一个想法来解析一些 C++/C 代码并从中绘制图片(非常类似于调用图)。但我可能绘制的不仅仅是静态图片(其中有一些命名的框),而且还希望这些框是相关的(连接的),以便最终用户可以调整框,但连接框的线仍然存在。

换句话说,最终目标是用户可以通过调整图表中的元素来与图表进行交互。

还需要动画语言/框架支持的更高级功能。

我在这里发帖寻找实现这个想法的最佳语言(C++(在 Microsoft MVC 框架中?)或 python 等)。平台(Windows 与 Unix)也是有待确定的。也许 Java 在这方面也是一个不错的选择..

谢谢!

I have an idea to parse some C++/C code and draw a picture (pretty much like a call graph) out of it. But I may draw more than static pictures (some named boxes within) but also hoping that the boxes are relational (connected) so that end-user can adjust the boxes around but the line connecting the boxes are still there.

In other words, the ultimate goal is that the user can interact with the diagram by adjust elements within it.

More advanced feature of the language/framework support for animation is also desired.

And I'm posting here looking for the best language for this idea (C++(in Microsoft MVC framework?) or python etc). Platform (windows vs. Unix) is also something to be determined. May be Java is also a good option in that matter..

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

盛夏尉蓝 2024-12-06 09:15:38

解析/分析 C 和对 C++ 进行同样的操作是完全不同的任务。

DMS 软件重组工具包 具有解析器和各种流量分析器 for CC++

对于 C,分析器进行控制和数据流分析、全局分析点以及使用分析点构建调用图。对于C++(实际上是C++11),我们正在努力完成控制流分析;这是一种很难分析的语言。 DMS 具有用于数据流等的内置机制,但将 C++ 前端与所有这些联系起来需要一段时间。

Parsing/analyzing C and doing the same for C++ are completely different tasks.

The DMS Software Reengineering Toolkit has parsers and various kinds of flow analyzers for C and C++.

For C, the analyzers do control and data flow flow analysis, global points-to analysis, and call graph construction using the points-to-analysis. For C++ (actually C++11), we are working to complete control flow analysis; its a tough language to analyzer. DMS has built-in machinery for data flow, etc., but it will take us awhile to ties the C++ front end to all of this.

暮凉 2024-12-06 09:15:38

如果您想要的只是调用图,则无需解析 C++。您可以将其编译为 LLVM IR(使用 llvm-gcc、Dragonegg 或 Clang)并从中间代码中显示您的调用图。至于大图可视化,我自己也在拼命寻找这样的工具,目前只能使用 Graphviz。

If a call graph is all you want, you don't have to parse C++. You can compile it into LLVM IR instead (with llvm-gcc, Dragonegg or Clang) and display your call graph out of the intermediate code. As for the large graphs visualisation, I'm in a desperate search for such a tool myself, beging stuck with Graphviz for now.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文