【 以下文字转载自 CSArch 讨论区 】
发信人: philbloo (philbloo), 信区: CSArch
标 题: 有哪些算是比较活跃的compiler framework?
发信站: 水木社区 (Sat Feb 25 22:15:01 2023), 站内
工业界好像只有 llvm 算是活跃的并且算是开放的 framework。gcc 的前端和中端对第三方开发不太友好,算不上是 framework。LLVM 这东西优点和缺点都太明显。优点是几乎是唯一的二次开发平台,API 丰富好用,pass 作为例子足够多。缺点是过于庞大,编译速度缓慢,占用大量硬盘和内存。
.NET CLR 我不了解。Java C2 以及继任 Graal 算比较活跃,但也都没有把二次开发当作设计要点。
其它工业上的编译器我看的不多。阿里有个 xoc ,算是比较精简,比较成熟,而且对第三方开发也比较友好,但这基本上是个个人项目,有一定风险。微软玩的花样其实比较多,比如 F* 和 Low*,typescript,但这些毕竟比较偏门,而且前者注重的是 formal verfication,后者的 target 是 js。而且这些也都比较难二次开发。
学术界有些老的体系已经彻底歇菜了,比如 SUIF2,Trimaran,nanopass。open64 现在偶有发声。学术界最大的问题在于,本来算得上是多样性丰富的场面,被 LLVM 彻底摧毁了。学术界唯一还在苟延残喘的好像是 libfirm,而且 libfirm 不仅代码质量比较高,而且因为一直在慢慢延续,里面的算法比较齐整和现代,比 gcc/LLVM 还更激进一些。
所以 我的问题是 现在除了 LLVM 还有哪些算是比较活跃的,又对二次开发友好的编译器?我估计是没有答案的。但不死心,上来问问。
--
FROM 37.219.71.*