There were quite a few places in the tutorial where the snippets were not up to date with the full code listings given. I have updated all of the ones I could find, which mostly involves changing . to -> when accessing through a std::unique_ptr, changing while (1) to while (true), and other such small changes.
There are still however a few places where I am not sure what to do, such as:
- Chapter 4: ParseTopLevelExpr() in chapter 3 sets the ProtoTypeAST name to "", however it is referred to as "__anon_expr" in chapter 4. Would it be required to mention this change in chapter 4?
- Chapter 9: The code snippets refer to the top level expression as "main", however the full code listing refers to it as "__anon_expr". I think given the context of the chapter it makes sense to refer to it as "main", so I have updated the code listing to reflect that.
- Chapter 9: In chapter 9 the diff given for HandleTopLevelExpression() deletes code that is not mentioned anywhere else, so I am not sure what is to be done there.
- Miscellaneous: I don't think this is very important, however the casing used for the first word of error messages tends to vary between upper and lower case between chapters and I do not know if it is worth reconciling these differences.
we may remove this line.