We try to keep our books accurate, but sometimes mistakes creep in. This page lists the errors submitted by our astute readers. If you've found a new error, please submit it.

The latest version of the book is P3.0, released 7 months ago. If you've bought a PDF of the book and would like to upgrade it to this version (for free), visit your home page.

Key: Typo Tech. Error Suggestion Not a problem Next edition

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:  

(To find out what version you have, look at the copyright page, a few pages in from the front of the book. If it says (say) 'Second Printing', then here it'll be P2.0. If there are interim PDF releases in that printing, they'll be 2.1, 2.2, and so on.)

PDF Paper Description Found in Fixed in
43
#36803: Look at this sentence from that page: "Sentences are ambiguous if at least one of its phrases is ambiguous." I think it should be "A senten...more...
P3.0
02-Jan-09
46
#39247: The WS rule in tour/basic/Expr.g includes '\n'|'\r' With input like: 1+2\n \n \n 4+5 the WS rule eats the newlines between 2 and 4, ...more...
P1.0
24-May-09
51

#39810: (Footnote) "rule references within alternative" needs more letters. "rule references within an alternative" or "rule references within alternatives".--Tom Nurkkala

P3.0
03-Jul-09
56

#36933: The link cited in footnote 12 is no longer valid.--Sebastian Gift

P3.0
07-Jan-09
60

#38366: Building ASTs with a Grammar, second paragraph, second sentence:

As you we along, ... ????--Anders

P3.0
16-Mar-09
73

#36609: Paragraph 3, sentence 1 - "A grammar describe ..." should be "A grammar describes ...".--George S. Cowan

P1.0
25-Dec-08
81
#36612: In Figure 4.1, make the "." bolder. I find I repeatedly miss it, when looking at this table. Also, the utility of this entry as a reference wo...more...
P1.0
25-Dec-08
237

#36610: Paragraph 2 and 1st method name in following example code disagree. Should they both be "displayRecognitionError()" or "getErrorMessage(...)"?--George S. Cowan

P1.0
25-Dec-08
265
#39134: The example grammar on p. 264 requires at least one token A to occur. Thus, the rewrite on the facing page should be a : A a | A ; ...more...
P3.0
07-May-09
274

#35848: In the end of second paragraph: "can also be a statements". I think it should be "statement" (singular)--Sergio Medeiros

P2.0
12-Nov-08
282

#35847: In the end of first paragraph: "assuming type matches matches 'int'". I think it should be just "assuming type matches 'int'".--Sergio Medeiros

P2.0
12-Nov-08
283

#38195: About half way down the page, the phrase "but where the semicolon can also be a statements:", the last word should be singular ("statement").

P3.0
05-Mar-09
289
#38197: At end of page, and flowing onto the next, "choose which rule to match upon saying a single-digit such as 4." has two problems: "saying" shoul...more...
P3.0
05-Mar-09
312

#36611: Paragraph 2 (following 1st diagram): The paragraph begins with a spurious "1".--George

P1.0
25-Dec-08
323
#35865: In first paragraph: "... this means syntactic predicates let you use write grammars that ANTLR ..." Maybe the sentence should be: "... this...more...
P2.0
13-Nov-08
334
#36447: Second paragraph, second paragraph after the code snippet: "It reflects a situation where you want to treat identifiers s and sx differently d...more...
P2.0
15-Dec-08