编译原理(第2版)勘误表

今天刚买了这本书,顺便提供一下勘误表。

来自:http://infolab.stanford.edu/~ullman/dragon/errata.html

此书网站 http://dragonbook.stanford.edu/

 

 

Errata for Compilers: Principles, Techniques, and Tools, Second Edition
  1.  

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.

 

LocationProblemReported ByDate Reported
p. 3, l. 9 below the figureThe intended meaning was that assembly code is easier to debug than machine code.Sukhbir Singh7/4/09
p. 6, l. -3Comma needed after "60".Lyle Goldman10/17/09
p. 13, l. -9Comma needed after "C".Lyle Goldman9/5/09
p. 18, l. -16"removes" should be "remove".Lyle Goldman9/5/09
p. 28, l. 2No comma after "variable".Lyle Goldman9/5/09
p. 36, l. -4"and" needed before "profilers".Lyle Goldman9/5/09
p. 52, l. 61001 should be 1001.Lyle Goldman10/17/09
p. 73, l. 17"while loop" should be "the while-loop".Lyle Goldman10/17/09
p. 81, l. 14Comma needed after "lexer".Lyle Goldman10/17/09
p. 90, l. 13Semicolon missing at end of line.Michael Leuschel2/12/08
p. 90, Fig. 2.38, l. -2, -1The "}" at the end of the second-to-last line of the figure belongs at the end of the last line.Michael Dudley1/6/08
p. 91, l. 18The production should have type id ; on the right.Lyle Goldman10/17/09
p. 95, l. -2"a operator" should be "an operator".Han Lin12/29/08
p. 104, l. 13-14Both commas on l. 13 should be omitted, and the words "is evaluated" should be added after "right operand" on l. 14.Lyle Goldman10/17/09
p. 106, l. -11"construct" should be "constructs".Lyle Goldman10/17/09
p. 227, l. -5Delete "the" after "its".Nish Sinnadurai10/24/08
p. 230, Fig. 4.22In the row for E ', the productions should all have E ' rather than E on the left side.Lei Ju9/5/08
p. 230, first line below Fig, 4.22The 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 Ju9/15/08
p. 251, Fig. 4.36, l. -2"break" should be in boldface.Michael Leuschel2/12/08
p. 254, l. -4"Fig. 4.31" should be "Fig. 4.37".Daniel Mentz3/6/08
p. 263, middle, first item in set I0 S on the left should be S'.Michael Dudley2/12/08
p. 281, l. 2 E needed in front of →(E).Arto Kaarna3/31/08
p. 282, Fig. 4.50, Itemset I4Add S → iS.Mike Polyakov7/28/08
p. 283, Fig. 4.52The actions for lines (4) and (5) should be swapped. That is, the reduction occurs after line (4).Ciro D'Aniello2/27/08
p. 285, first line below Fig. 4.53"right" should be "left".Lei Ju9/15/08
p. 286, Fig. 4.54, last two linesThe Symbols on the stack should be E+E on the penultimate line and just E on the last line.Daniel Mentz3/6/08
p. 288, Example 4.69, l. 4Delete one "with the".Kevin Schultz7/28/08
p. 289, l. -9"token" should be "tokens".Kevin Schultz7/28/08
p. 299, l. 14"below" should be "to the right".Heiner Marxen10/28/09
p. 352, l. 14"top - 5" should be "top - 6".Daniel Mentz3/11/08
p. 359, caption of Fig. 6.3"Dag" should be "DAG".Arto Kaarna1/23/08
p. 360, Fig. 6.4A production similar to the first two for the operator * is needed.Ciro D'Aniello2/27/08
p. 372, 4 lines above Sect. 6.3.2"dag" should be "DAG".Arto Kaarna3/31/08
p. 393, last line of box"In words" should be "In simpler words".Saeed Mehrabi1/7/09
p. 409, Exercise 6.6.4 x == 1 should be x = 1 in each of the three parts.Daniel Lucredio1/29/10
p. 545, l. 19We must add a third step: Remove R from the address descriptors of variables other than x.Hao Dang12/12/09
p. 556, Fig. 8.18, the unnamed block at the far right ST a, R2 should be ST d, R2.Hans Ji7/26/08
p. 571, item 4, l. 3 r-j should be r-j+1.Hao Dang12/12/09
p. 594, Fig. 9.9.In box B5, t7 and t10 should be t2 and t4, respectively.Kevin Schultz5/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 Leuschel2/12/08
p. 617, Exercise 9.2.10, l. 3 genB should be useB.Gyun Woo3/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:

 

  1. Add t=x+y at the beginning of B.
  2. Replace every original x+y by t.
Richard Yoo2/3/10
p. 689, l. -9"line (4)" should be "line (3)".Gyun Woo10/24/08
p. 751, l. -11n1 -> n2 should be n2 -> n1.Roger Liao4/3/10
p. 752, Fig. 10.27Left box for c needs to be shaded.Roger Liao4/3/10
p. 788, l. 4"row" should be "column", since row-major order is stipulated.Gyun Woo10/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 Gan10/24/08
p. 795, l. 2 Z[1,7] should be Z[7,1].Jungwon Kim1/12/09
p. 807, l. -5The first i should be 1.Gyun Woo11/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 Deng7/25/08
p. 819, l. 1-2"read and write accesses" should be "two write accesses".Gyun Woo1/9/08
p. 836, item 5, line 2"-1" should be "1".Gyun Woo11/4/08
p. 848, Scaling example, third line of code on the left2N should be 2*N.3/06/08
p. 849, Permuation example, second line on the righti++ should be q++.3/06/08
p. 861, l. -8Remove the comma after "local".Gyun Woo2/18/08
p. 865, l. -2"code in (b)" should be "code in (c)".Gyun Woo2/20/08
p. 899, l. -15Reference [6] should be [10].Shih-Wei Liao2/27/08
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值