Crafting a parser, part 7: resilient, incremental parsing

IDE-grade parsing: lossless trees, errors as the normal path, and reparsing only the edited subtree.