Any*_*orn 21 c++ compiler-construction frontend backend
对于我自己的教育,我很好奇编译器使用哪个C++前端和后端.您能否告诉我使用以下技术的地方以及它们具有哪些标志/优势?
Open64 - 它是后端,前端还是两者兼而有之?哪些编译器使用它?我在CUDA编译器中遇到它.
EDG - 据我所知,这是英特尔编译器和Comeau的前端使用.其他编译器使用它吗?我在boost源代码中找到了不少引用它.
ANTLR - 这是一般解析器.有没有常见的编译器使用它?
关于编译器:
使用前端/后端gcc编译器套件使用?它与其他编译器有共同的遗产吗?
前端/后端PGI和PathScale编译器使用什么?
前端/后端XL编译器使用的是什么(IBM产品).
互联网上的深入链接或您的个人技术诀窍会很棒.我做了一些谷歌搜索,但我通常遇到的信息相当肤浅.
谢谢.
Jer*_*fin 11
EDG是Intel和Comeau使用的前端.请参阅EDG的其他用户的客户列表.
ANTLR是一个解析器生成器.我不知道围绕使用ANTLR构建的解析器构建的任何C++编译器(但这并不意味着它不存在).
GCC是一套编译器,具有C,C++,Fortran,Ada,Java等的前端,以及比我想要考虑的更多处理器的后端.
Open64也是一套编译器,包括几个前端(对于C,C++,Fortran,以及可能还有其他我目前都不记得的)和后端(针对X64,Itanium,ARM,以及可能还有其他我不记得和/或不知道.我相信它的起源(双关语并未指出)是SGI的编译器.我似乎记得读过一些暗示Open64来自某个版本的GCC前端的东西,但是我不知道1)它在内部与GCC有多相似,或者2)GCC的版本得出 - 但它已经存在了很长时间,我猜它是最近的GCC 3.x,很可能是GCC 2.x.
我相信PathScale已经创建了至少一个从Open64派生的编译器,但是他们也可能有其他编译器.
据我所知,IBM的编译器完全是他们自己创建的.我猜 IBM(现已停产)VisualAge for C++与XL C++分享了一些遗产/开发/代码,但不确定,甚至不能开始猜测它的程度,即使假设它是真的.
与前端/后端gcc编译器套件使用?它与其他编译器有共同的遗产吗?
首字母缩略词"GCC"代表"GNU编译器集合"(最初是"GNU C编译器"),这已经给出了一个提示:GNU编译器是编译器的集合,最着名的是C和C++,但也适用于Fortran,Objective-C和其他.它们共享一个专门为GCC开发的共同后端和中间表示.
前端都是为GCC定制的.有些是由第三方提供的,最值得注意的是由Apple提供的Objective-C前端.
| 归档时间: |
|
| 查看次数: |
5169 次 |
| 最近记录: |