Errata (Elements of Compiler Design)

  • Ordered by appearance in the text.
  • Last updated on October 1, 2012.
  • Send additional errors and comments to: meduna@fit.vutbr.cz

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, Line 9
  • Change ( ( a )* ( b.( b )*) ) to ( ( a* )( b ( b* ) ) )
  • Reported 2009-05-19 by Zbyněk Křivka 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 47, Line -11
  • Change ( ( a )( ( ( b )|( c ) ) )* ) to ( a( (b|c)* ) )
  • Reported 2009-05-18 by Alexander Meduna of the Brno University of Technology.

  • Page 88, Example 3.4
  • Change Γ = {S, C}, to Γ = {S, C, a},
  • Reported 2011-01-12 by Stefan Kombrink.

  • Page 97, Case Study 9/35
  • Eliminate rule T → F from the non-left-recursive grammar.
  • Reported 2010-04-20 by Alexander Meduna of the Brno University of Technology.

  • 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 114, Algorithm 3.34
  • Replace the condition |x_0 x_1 … x_n| ≥ 1 with |X_1 X_2 … X_n| ≥ 1
  • Reported 2012-10-01 by Zbyněk Křivka of the Brno University of Technology.

  • Page 117, Example 3.12
  • Remove the second sentence in Example 3.12 on page 117.
  • Reported 2009-09-23 by Alexander Meduna of the Brno University of Technology.

  • Page 146, Figure 4.2
  • Remove the row corresponding to T → F.
  • Reported 2010-04-24 by Alexander Meduna 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.

lectures/books/eocd_errata.txt · Last modified: 2023/12/10 22:57 by krivka
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki