Errata (Elements of Compiler Design)
The List of Errors
Page 3, Section Relations and Translations, Line 9, 10, and 11
There are several occurrences of switched closing brackets: )}
instead of })
Reported 2012-10-08 by Jan Remeš of the Brno University of Technology
Page 3, Section Relations and Translations, Line 11
Change = 1
to ≥ 1
Reported 2012-10-08 by Jan Remeš of the Brno University of Technology
Page 22, Figure 2.1, the last row, Column Regular Expression
Change digits(ε|.digits)(ε|E(ε|+|-)digits)
to digits.(ε|digits)
Comment: The regular expression for real numbers should be consistent with Case Study 3/35 and 4/35. Therefore, FUN real numbers do not support exponents. According to this change, the following paragraph is inconsistent with FUN language as it contains examples of real numbers with exponents.
Reported 2011-01-12 by Stefan Kombrink.
Page 23, Definition 2.2
Change where w in Δ*,
to where w in Δ* and f in F,
Reported 2011-01-12 by Stefan Kombrink.
Page 23, Line -16 and -17 (the paragraph after Convention 2.3)
Change qay to qy
to qay to py
Reported 2012-09-24 by Karel Beneš of the Brno University of Technology
Page 34, Figure 2.14, second row, Column Example
Change i{
to l{
Reported 2011-01-12 by Stefan Kombrink.
Page 88, Example 3.4
Change Γ = {S, C},
to Γ = {S, C, a},
Reported 2011-01-12 by Stefan Kombrink.
Page 114, Gist of Algorithm 3.34
Remove the condition |x_0 x_1 … x_n| ≠ ε
After 1 ≤ i ≤ n,
insert new condition X_1 X_2 … X_n ≠ ε,
Reported 2012-10-01 by Zbyněk Křivka of the Brno University of Technology.
Page 165, Figure 5.6, the last row, Column Table Entry
The cell should contain smiley face.
Reported 2008-02-28 by Zbyněk Křivka of the Brno University of Technology.
Page 166, Figure 5.7, two cells are incorrect
Both cells on rows i and ) in column ¬ should contain sad face (see the picture).
Reported 2023-12-04 by Dalibor Kříčka of the Brno University of Technology.
Page 170, Figure 5.11, on the position θ_10∧ in LR table
Replace θ_7 with θ_8.
Reported 2011-11-21 by Martin Čermák of the Brno University of Technology.
Page 179, Figure 5.18, the row with label θ_9, the last column (ENDMARKER)
The cell should contain circled 4.
Reported 2011-09-19 by Zbyněk Křivka of the Brno University of Technology.
Page 179, Figure 5.18, on the position θ_10∧ in LR table
Replace θ_7 with θ_8.
Reported 2011-11-21 by Martin Čermák of the Brno University of Technology.
Page 179, the last line (recovery for circled 3)
Change insert Λθ_5 onto the pushdown
to insert V into the input
Reported 2011-09-19 by Zbyněk Křivka of the Brno University of Technology.
Page 180, Line 2 (recovery for circled 4)
Change insert )θ_6 onto the pushdown
to insert )θ_12 onto the pushdown
Reported 2011-09-19 by Zbyněk Křivka of the Brno University of Technology.
Page 180, Figure 5.19, the fourth row, Column Table Entries
Change goto[θ_1, E] = θ_3
to goto[θ_1, E] = θ_2
Reported 2013-02-03 by Zbyněk Křivka of the Brno University of Technology.
Thanks to the readers who contributed the corrections.