Known misprints in Basics of Compiler Design
There have been many editions of the book, and all have had
misprints, though these have become fewer and fewer over time. Below
are the known misprints from the latest editions. Minor spelling
mistakes are now shown.
Misprints in the 2009 edition
- Page 98, line 12 from bottom: Replace "figure refexpressiontree2"
by "figure 3.12".
- Page 202, lines 8 to 6 from bottom: Replace this Danish sentence
by its English translation "We will now attempt to combine the
prologue and epilogue with a function body of the above form in order
to reduce the number of callee-saves registers saved.".
- Page 231, figure 11.1: Add "where x ≠ y" to the case for
x := M[y] and add a case for x := M[x] with
empty gen.
- Page 233: kill[i] for i=12 in figure 11.3 should be
1,5,9,12.
- Page 234: Swap the columns in[i] and out[i] in all
iterations.
- Page 240, figure 11.7: Replace t = i*4 by t = a+i*4.
Misprints in the 2008 edition
- Page 86, mid-page: Replace "in section 3.12.1"
by "below".
- Page 87, line 3 from bottom: Replace
"seeleft-recursion-elimination" by "see".
- Page 101, line 15 from bottom: Replace "figure refexpressiontree2"
by "figure 3.12".
- Page 122, figure 5.2, entry about =: Replace
"t1" by "v1" and
"t2" by "v2".
- Page 194, exercise 8.4: Peplace "(such as multiplication and
division) ... in address registers" by "(such as multiplication and
division) ... in data registers".
- Page 220, lines 8 to 6 from bottom: Replace this Danish sentence
by its English translation "We will now attempt to combine the
prologue and epilogue with a function body of the above form in order
to reduce the number of callee-saves registers saved.".
- Page 225, figure 10.1: Add "where x ≠ y" to the case for
x := M[y] and add a case for x := M[x] with
empty gen.
- Page 227: kill[i] for i=1 and i=12 in figure 10.3 should be
1,5,9,12.
- Page 229: Swap the columns in[i] and out[i] in all
iterations.
- Page 233: Swap the descriptions of upper(Q,x)
and lower(Q,x).
- Page 234, figure 10.7: Replace t = i*4 by t = a+i*4.
- Page 234, lines 2, 3 and 6 from bottom: Replace "i>9" by "9<i", "i≥0" by "0≤i" and "i>10" by "10<i", so all inequalities use < or ≤.
If you should find any more misprints or other errors, please report these to me.