This errata sheet applies to all printings. For printings prior to Spring, 2008, please see The First Errata Sheet.
Found an error not listed in the table below or in the First Errata Sheet? Please send email to ullman at gmail dt com.
Location
Problem
Reported By
Date Reported
p. 3, l. 9 below the figure |
The intended meaning was that assembly code is easier to debug than machine code. |
Sukhbir Singh |
7/4/09 |
p. 6, l. -3 |
Comma needed after "60". |
Lyle Goldman |
10/17/09 |
p. 13, l. -9 |
Comma needed after "C". |
Lyle Goldman |
9/5/09 |
p. 18, l. -16 |
"removes" should be "remove". |
Lyle Goldman |
9/5/09 |
p. 28, l. 2 |
No comma after "variable". |
Lyle Goldman |
9/5/09 |
p. 36, l. -4 |
"and" needed before "profilers". |
Lyle Goldman |
9/5/09 |
p. 52, l. 6 |
1001 should be 1001. |
Lyle Goldman |
10/17/09 |
p. 73, l. 17 |
"while loop" should be "the while-loop". |
Lyle Goldman |
10/17/09 |
p. 81, l. 14 |
Comma needed after "lexer". |
Lyle Goldman |
10/17/09 |
p. 90, l. 13 |
Semicolon missing at end of line. |
Michael Leuschel |
2/12/08 |
p. 90, Fig. 2.38, l. -2, -1 |
The "}" at the end of the second-to-last line of the figure belongs at the end of the last line. |
Michael Dudley |
1/6/08 |
p. 91, l. 18 |
The production should have type id ; on the right. |
Lyle Goldman |
10/17/09 |
p. 95, l. -2 |
"a operator" should be "an operator". |
Han Lin |
12/29/08 |
p. 104, l. 13-14 |
Both commas on l. 13 should be omitted, and the words "is evaluated" should be added after "right operand" on l. 14. |
Lyle Goldman |
10/17/09 |
p. 106, l. -11 |
"construct" should be "constructs". |
Lyle Goldman |
10/17/09 |
p. 227, l. -5 |
Delete "the" after "its". |
Nish Sinnadurai |
10/24/08 |
p. 230, Fig. 4.22 |
In the row for E ', the productions should all have E ' rather than E on the left side. |
Lei Ju |
9/5/08 |
p. 230, first line below Fig, 4.22 |
The erroneous input on that line would actually cause a synch action immediately, popping the E off the stack and ending the parse. Thus, to match the more interesting behavior of Fig. 4.23, we change the ")" to "+" on l. 1 below Fig. 4.22, and also in the first line below the header in Fig. 4.23. |
Lei Ju |
9/15/08 |
p. 251, Fig. 4.36, l. -2 |
"break" should be in boldface. |
Michael Leuschel |
2/12/08 |
p. 254, l. -4 |
"Fig. 4.31" should be "Fig. 4.37". |
Daniel Mentz |
3/6/08 |
p. 263, middle, first item in set I0
|
S on the left should be S'. |
Michael Dudley |
2/12/08 |
p. 281, l. 2 |
E needed in front of →(E). |
Arto Kaarna |
3/31/08 |
p. 282, Fig. 4.50, Itemset I4
|
Add S → iS. |
Mike Polyakov |
7/28/08 |
p. 283, Fig. 4.52 |
The actions for lines (4) and (5) should be swapped. That is, the reduction occurs after line (4). |
Ciro D'Aniello |
2/27/08 |
p. 285, first line below Fig. 4.53 |
"right" should be "left". |
Lei Ju |
9/15/08 |
p. 286, Fig. 4.54, last two lines |
The Symbols on the stack should be E+E on the penultimate line and just E on the last line. |
Daniel Mentz |
3/6/08 |
p. 288, Example 4.69, l. 4 |
Delete one "with the". |
Kevin Schultz |
7/28/08 |
p. 289, l. -9 |
"token" should be "tokens". |
Kevin Schultz |
7/28/08 |
p. 299, l. 14 |
"below" should be "to the right". |
Heiner Marxen |
10/28/09 |
p. 352, l. 14 |
"top - 5" should be "top - 6". |
Daniel Mentz |
3/11/08 |
p. 359, caption of Fig. 6.3 |
"Dag" should be "DAG". |
Arto Kaarna |
1/23/08 |
p. 360, Fig. 6.4 |
A production similar to the first two for the operator * is needed. |
Ciro D'Aniello |
2/27/08 |
p. 372, 4 lines above Sect. 6.3.2 |
"dag" should be "DAG". |
Arto Kaarna |
3/31/08 |
p. 393, last line of box |
"In words" should be "In simpler words". |
Saeed Mehrabi |
1/7/09 |
p. 409, Exercise 6.6.4 |
x == 1 should be x = 1 in each of the three parts. |
Daniel Lucredio |
1/29/10 |
p. 545, l. 19 |
We must add a third step: Remove R from the address descriptors of variables other than x. |
Hao Dang |
12/12/09 |
p. 556, Fig. 8.18, the unnamed block at the far right |
ST a, R2 should be ST d, R2. |
Hans Ji |
7/26/08 |
p. 571, item 4, l. 3 |
r-j should be r-j+1. |
Hao Dang |
12/12/09 |
p. 594, Fig. 9.9. |
In box B5, t7 and t10 should be t2 and t4, respectively. |
Kevin Schultz |
5/9/08 |
p. 609, Example 9.13, l. 4-5 |
B2 does not define i or j, since they are used before definition (assuming no aliases). |
Michael Leuschel |
2/12/08 |
p. 617, Exercise 9.2.10, l. 3 |
genB should be useB. |
Gyun Woo |
3/22/08 |
p. 654, items 8(b) and 8(c) |
These items should be combined as:
8(b) For all blocks B such that x+y is in latest[B] intersect used[B].out:
- Add t=x+y at the beginning of B.
- Replace every original x+y by t.
|
Richard Yoo |
2/3/10 |
p. 689, l. -9 |
"line (4)" should be "line (3)". |
Gyun Woo |
10/24/08 |
p. 751, l. -11 |
n1 -> n2 should be n2 -> n1. |
Roger Liao |
4/3/10 |
p. 752, Fig. 10.27 |
Left box for c needs to be shaded. |
Roger Liao |
4/3/10 |
p. 788, l. 4 |
"row" should be "column", since row-major order is stipulated. |
Gyun Woo |
10/27/08 |
p. 792, items 2, 3, 4 above Example 11.8 |
B really has 2d rows, and b and 0 are of length 2d. |
Ge Gan |
10/24/08 |
p. 795, l. 2 |
Z[1,7] should be Z[7,1]. |
Jungwon Kim |
1/12/09 |
p. 807, l. -5 |
The first i should be 1. |
Gyun Woo |
11/4/08 |
p. 816, middle, inequalities (2a) and (2b) |
"+ b" is missing from the left side of (a) and "+ b'" is missing from the left side of (b). |
William Deng |
7/25/08 |
p. 819, l. 1-2 |
"read and write accesses" should be "two write accesses". |
Gyun Woo |
1/9/08 |
p. 836, item 5, line 2 |
"-1" should be "1". |
Gyun Woo |
11/4/08 |
p. 848, Scaling example, third line of code on the left |
2N should be 2*N. |
|
3/06/08 |
p. 849, Permuation example, second line on the right |
i++ should be q++. |
|
3/06/08 |
p. 861, l. -8 |
Remove the comma after "local". |
Gyun Woo |
2/18/08 |
p. 865, l. -2 |
"code in (b)" should be "code in (c)". |
Gyun Woo |
2/20/08 |
p. 899, l. -15 |
Reference [6] should be [10]. |
Shih-Wei Liao |
2/27/08 |
相关推荐
本资源提供了"清华版编译原理课后答案",旨在帮助学习者更好地理解和掌握编译器设计的基本概念和方法。** **编译原理主要涵盖以下几个关键知识点:** 1. **词法分析(Lexical Analysis)**:这是编译器的第一步,...
《 Beginning Linux Programming 4th Edition code》是关于Linux程序设计的经典著作的第四版源代码,结合了实际的编程示例和深入的理论讲解,旨在帮助开发者理解和掌握在Linux环境下编写程序的技术。这本书覆盖了从...
10. **错误修正与调试技巧**:手册中的“勘误表”可能记录了设计中常见的错误和解决方法,这对于初学者来说是宝贵的实践经验。 通过深入学习《FPGA设计指导手册》,读者将能够逐步掌握FPGA设计的基本技能,并具备...
**勘误表**:提供了一个列表,记录了已知的错误或需要更正的地方,方便读者查证。 #### 五、内容详解 **第 1 章:介绍** - **如何构建一个 LFS 系统**:介绍了构建 LFS 系统的基本步骤,包括分区准备、软件包安装...
第2章 数据、变量和计算 29 2.1 C++程序结构 29 2.1.1 main()函数 36 2.1.2 程序语句 36 2.1.3 空白 38 2.1.4 语句块 38 2.1.5 自动生成的控制台程序 39 2.2 定义变量 40 2.2.1 命名变量 40 2.2.2 声明变量...
E.2 勘误表 E.3 联系Red Hat Software E.4 一般资源列表 E.5 一般问题 E.5.1 我如何得到新版本的Red Hat? E.5.2 我如何报告错误? E.5.3 Red Hat Linux是否包含源代码? E.6 安装 E.6.1 我有一个空的硬盘, 并...
E.2 勘误表 E.3 联系Red Hat Software E.4 一般资源列表 E.5 一般问题 E.5.1 我如何得到新版本的Red Hat? E.5.2 我如何报告错误? E.5.3 Red Hat Linux是否包含源代码? E.6 安装 E.6.1 我有一个空的硬盘, 并...
E.2 勘误表 E.3 联系Red Hat Software E.4 一般资源列表 E.5 一般问题 E.5.1 我如何得到新版本的Red Hat? E.5.2 我如何报告错误? E.5.3 Red Hat Linux是否包含源代码? E.6 安装 E.6.1 我有一个空的硬盘, 并...
E.2 勘误表 E.3 联系Red Hat Software E.4 一般资源列表 E.5 一般问题 E.5.1 我如何得到新版本的Red Hat? E.5.2 我如何报告错误? E.5.3 Red Hat Linux是否包含源代码? E.6 安装 E.6.1 我有一个空的硬盘, 并...