TAC Handout written by Maggie Johnson and revised by me. Three address code Three-address code(TAC) will be the intermediate representation used in our Decaf compiler. It is essentially a generic assembly language that falls in the lower-end of the mid-level IRs. Some variant of 2, 3 or 4 address code is fairly commonly used as an IR, since it maps well to most
文件格式: PDF大小: 14.06KB页数: 8
我从2002年7月开始翻译这本书,当时还是第二版。但是翻完前言和介绍部分 后, chinapub就登出广告,说要出版侯捷的译本。于是我中止了翻译,等着侯 先生的作品。 我是第一时间买的这本书,但是我失望了。比起第一版,我终于能看懂这本书 了,但是相比我的预期,它还是差一点。所以当 Bruce eckel在他的网站上公开 本书的第三版的时候,我决定把它翻译出来
文件格式: PDF大小: 186.71KB页数: 6
介绍 “他带来了语言,语言又创造了思维,而思维是衡量万物的标准 《解放了的普罗米修斯》,雪莱 人类..很大程度上是在受语言的支配,而语言也已经成为一种媒介,透过 它我们可以了解社会的方方面面。你能想象,一个人能不借助语言而完全 适应这个世界,或是仅仅把语言当作解决具体问题的交流工具和表述手段 吗?实际上,“真实世界”在很大程度上是建立在人类语言的习惯之上 的,而这又是人们没有意识到的
文件格式: PDF大小: 336.85KB页数: 18
Java的基本哲学是“糟糕的代码根本就得不到执行”。 捕捉错误的最佳时机应该是在编译的时候,也就是程序能运行之前。但 是,不是所有的错误都能在编译的时候被发现。有些问题只能到程序运行 的时候才能得到处理。它们要通过某种方式,让引发问题的代码将适当的 信息传给那些知道该怎样正确处理这些问题的程序
文件格式: PDF大小: 468.67KB页数: 41
接口( interface)和内部类( inner class)提供了一种更为复杂的组织和控 制系统中对象的方法。 比方说,C++就没有这种机制,不过聪明的程序员还是能模拟出这种效 果。Java之所以会有这个特性,是因为设计人员认为它非常重要,语言 应该直接用关键词提供支持
文件格式: PDF大小: 458.85KB页数: 47
多态性是继数据抽象和继承之后的,面向对象的编程语言的第三个基本特 性。 它提供了另一个层面的接口与实现的分离,也就是说把做什么和怎么做分 开来。多态性不但能改善代码的结构,提高其可读性,而且能让你创建可 扩展的(extensible)程序。所谓“可扩展”是指,程序不仅在项目最初的 开发阶段能“成长”,而且还可以在需要添加新特性的时候“成长
文件格式: PDF大小: 350.81KB页数: 29
Java最令人心动的特性就是它的代码复用了。但是仅仅拷贝源代码再作 修改是不能被称为“革命”的 那是C之类的过程语言所采用的办法,而且也不怎么成功。就像Java里 的一切,要解决这个问题还要靠类。你可以利用别人写好的、已经测试通 过的类来创建新的类,不必一切都从零开始 这么做的诀窍就是,要在不改动原有代码的前提下使用类。本章会介绍两 种做法
文件格式: PDF大小: 352.77KB页数: 30
在面向对象的设计中,最关键的问题就是“将会变和不会变的东西分离开 来 这一点对类库尤为重要。类库的使用者(客户程序员)应该能完全仰赖类 库,他们知道,即使类库出了新版本,他们也不必重写代码。另一方面 类库的创建者也应该可以在确保不影响客户程序员代码的前提下,保留对 类库作修正和改进的权利 要达到上述目的,可以使用约定
文件格式: PDF大小: 304.46KB页数: 23
随着计算机革命的进步,“不安全”的编程方式已经成为让编程变得如此 昂贵的主要原因了。 这类安全性问题包括初始化(initialization)和清理( cleanup)这两项。C 程序的很多bug都是由程序员忘了对变量进行初始化引起的。碰到一些 用户不知道该如何初始化,甚至不知道要进行初始化的类库时,情况就更 是这样了。清理是一个特殊的问题,因为变量用过之后就没用了,因此会 很容易把这一步给忘了。这样程序仍然保留着那些元素所占用的资源
文件格式: PDF大小: 375.02KB页数: 42
就像有感知力的生物那样,程序应该有能力操控它的世界,并且在执行过 程中作决定。 Java让你用运算符(operator)来控制数据用执行控制语句来作决定。 Java继承了C++,因此C和C++程序员会对它的语句和运算符感到很亲切。不过ava也作了一些改进和简化
文件格式: PDF大小: 389.22KB页数: 48