Errata for Language Implementation Patterns
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 over 1 year 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.
| Paper | Description | Found in | Fixed in | |
|---|---|---|---|---|
| 14 |
#43395: epub bug: Linked sections in the PDF read as "Section 1.2", but in the epub they read as "the section 1.2", which is really jarring when place...more...
|
B8.0
21-May-10 |
||
| 70 |
#48990: In the following two sentences describing Pattern 4, the word "parser" (but not parsing") should be replaced with "grammar":
A more powerfu...more...
|
P3.0
26-Mar-12 |
||
| 97 |
#47659: public class AddNode extends AST should extend ExprNode--Terence Parr |
P3.0
29-Sep-11 |
||
| 118 |
#47652: "computing expression value result types" that should be removed right before the example because the code does not have that method.--Terence Parr |
P3.0
27-Sep-11 |
||
| 134 |
#47660: "This implementation has a number of advantages over an embedded walker." should reference traditional visitor not embedded Walker or perhaps ...more...
|
P3.0
29-Sep-11 |
||
| 136 |
#47661: PrintVisitor.java should be IndependentPrintVisitor.java on this page and the previous. Line counts might be off by one also.--Terence Parr |
P3.0
29-Sep-11 |
||
| 146 |
#47865: "Killing off a character means there should be no further references to it."
May not be an accurate analogy. In a story, a character killed /...more...
|
P1.0
30-Oct-11 |
||
| 167 |
#47662: "pop arg scope" in the comment of the code for DefRef.g should probably be " pop method scope".--Terence Parr |
P3.0
29-Sep-11 |
||
| 186 |
#47663: BuiltInType should be BuiltInTypeSymbol--Terence Parr |
P3.0
29-Sep-11 |
||
| 187 |
#47583: End of line 7 should be "to sym".--Dave Thomas |
P3.0
16-Sep-11 |
||
| 212 |
#47481: I think the code to promote nodes in getResultType() is wrong. It promotes ta to ta and tb to tb. I guess it should promote ta to tb and tb to...more...
|
P3.0
01-Sep-11 |
||
| 212 |
#50383: The type promotion in getResultType is wrong since it currently looks up using using promoteFromTo[ta][ta] and promoteFromTo[tb][tb] which for...more...
|
P3.0
16-Dec-12 |
||
| 230 |
#47664: "The next two chapters catalog the most common patterns for interpreting and translating programs." should be about the next two parts about n...more...
|
P3.0
29-Sep-11 |
||
| 236 |
#50409: "If resolves to a local variable or parameter," should probably start with "If x resolves…"--Roderick Mann |
P3.0
24-Dec-12 |
||
| 279 |
#47894: "the return address *and* space for parameters"--Terence Parr |
P3.0
02-Nov-11 |
||
| 280 |
#47895: "only 7 out of the 26 bytes" should be 27 bytes.--Terence Parr |
P3.0
02-Nov-11 |
||
| 296 |
#47893: at the end of the second paragraph "skip tree writing" should be "skip tree rewriting"--Terence Parr |
P3.0
02-Nov-11 |
||
| 304 |
#47896: Method gen(): "return Method(m.id, gen(m.bodyBlock));" should have "new" in there.--Terence Parr |
P3.0
02-Nov-11 |

