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

    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? Please send email to ullman at gmail dt com.

    LocationProblemReported ByDate Reported
    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. 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. 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 SiS. 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. 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. 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. 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. 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. 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. 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