首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找多语言编译器或优化器(c、c++、java)

问查找多语言编译器或优化器(c、c++、java)
EN

Stack Overflow用户
提问于 2012-05-22 00:26:10
回答 1查看 1.3K关注 0票数 2

简而言之,我正在寻找一种方法来编辑开源编译器或优化器,以将传统的锁实现更改为软件跨国内存事务。我有三种目标语言: C、C++和Java。一个想法可能是使用GCC,因为它现在有stm支持。问题是,我想不出一种方法来实现对GCJ转储的java字节码的这些更改。同样的问题也出现在llvm上。

我试图找到一个编译器或优化器,比如gcc或llvm,我可以很容易地利用它们来修改源代码或源代码的中间表示形式。

EN

回答 1

Stack Overflow用户

发布于 2012-05-22 08:07:26

如果你想要一个可以解析和转换C,C++和Java的工具,你可以考虑我们的DMS Software Reengineering Toolkit。

DMS解析一种语言的源代码,构建AST,允许您在这些AST上应用过程性或模式直接重写,并可以为修改后的程序重新生成有效的源文本。源到源转换比过程化转换要容易得多,因为您不需要了解太多关于树结构的知识就可以导航/修改它。

DMS具有front ends for Java, C, C99, and C++11 all in a variety of dialects,使DMS能够解析和漂亮地打印这些语言,并构建完整的符号表,这对于对代码进行任何严重的转换都是绝对必要的。对于C和Java,DMS可以提供control flow, dataflow and call graphs,这在许多分析和转换任务中都很有用。对于C++,DMS有控制流分析,数据流分析随之而来。

您应该能够通过指定作为锁习惯用法的模式来找到“传统的”锁实现,然后应用转换来删除它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10688936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档