回首页 回首页 ◎ 设为首页  
◎ 收藏本站  
◎ 给我留言  
  
  首 页  C/C++教程  C++之父的FAQ  C/C++动向  C/C++源代码  C/C++误区  Unix/Linux  下载中心  乱七八糟  蚂蚁的Blog  
  当前位置:首 页 >> C++之父的FAQ >> 普通 FAQ >> [翻译] 您是使用何种语言编写出 C++ 的呢?
最 近 更 新
[翻译] 为何 C++ 没被用..
[转] 你推荐哪个C++编译..
[转] 你有没有想到C++会..
[转] C++是面向对象语言..推荐
[翻译] 为何 C++ 如此庞..
[翻译] 您是使用何种语..
[翻译] “C++”何得此名?
[翻译] C++ 归您所有吗?
[转] 为什么AT&T要支持C..
[转] 你为什么要发明C++?
最 新 推 荐
[转] C++是面向对象语言..推荐
[翻译] 您怎么看待 C++/..推荐
[翻译] 何谓泛型编程?..推荐
[翻译] 什么是面向对象..推荐
[转] 如果不必考虑和 C ..推荐
[翻译] 类的伟大之处是..推荐
[翻译] C 是 C++ 的子集..推荐
热 门 排 行
[转] C和C++的区别是什..
[翻译] 为何 C++ 没被用..
[转] 你推荐哪个C++编译..
[翻译] 什么是面向对象..推荐
[转] 学习C++从哪本书开..
[翻译] 类的伟大之处是..推荐
[转] 我怎么开始学习C++..
[转] 学习C++需要多少时..
[翻译] C 是 C++ 的子集..推荐
[翻译] 为何编译 C++ 版..
站 内 搜 索

Web stdcpp.cn
关键词

搜索方式

搜索范围

精确匹配
广 告

[翻译] 您是使用何种语言编写出 C++ 的呢?


来源:蚂蚁的 C/C++ 标准编程 作者:Bjarne Stroustrup 翻译:antigloss 等级:一般
发布于2007-03-23 21:41 被读813次 【字体:

    第一个 C++ 编译器(Cfront)是使用 C++ 编写出来的。为此,我首先使用 C 编写了一个将“带类的 C”转换成 C 的预处理器。“带类的 C”属于 C 的一种变种,它是 C++ 的直接祖先。这个预处理器将“带类的 C”的结构成分(例如类和构造函数)翻译成 C。它是一个传统的预处理器,不能完全理解 C++ 语言,还将大多数类型检查留给了 C 编译器来做,而且其对 C++ 成分结构的翻译是单个单个地进行的,而不会先对全局进行分析。然后我利用“带类的 C”编写出了 Cfront 的第一个版本。

    Cfront 是一个传统的编译器,它会对 C++ 源代码进行完整的语法和语义检查。为此,它要有一个完整的词法分析器,要建立符号表,还要为每个类、函数等建立一套完整的内部树状表示。在生成 C 代码之前,它还会对 C++ 成分结构的内部树状表示做一些源代码层面上的优化。虽然这个版本(的 C++ 编译器)生成 C 代码,但它不依赖 C 做任何类型检查。它仅仅把 C 用作汇编器。最终生成的代码非常快。想知道更多信息,可参考 D&E

原文地址:http://www.research.att.com/~bs/bs_faq.html#bootstrapping

本文版权归 蚂蚁的 C/C++ 标准编程 以及 作者 Bjarne Stroustrup 翻译:antigloss 共同所有,转载请注明原作者和出处。谢谢。



相关专题:C++ 之父的言论
[转] 我该把const写在类型前面还是后面?
[翻译] 我应该使用按值传递还是按引用传递?

上一篇:[翻译] “C++”何得此名?
下一篇:[翻译] 为何 C++ 如此庞大?

共有评论 0 条 网友评分 1分 查看全部评论

查看全部评论

【发表评论】 评分:1分 2分 3分 4分 5分


验证码:

Powered By Www.Xydw.COM Ver1.14 管理
Copyright © 2005-2006 蚂蚁的 C/C++ 标准编程 All Right Reserved. XCMS
粤ICP备06014124号   站长:Antigloss