In the last week I’ve worked on doing several enhances to the parser
Besides several refactorings and cleanups, major changes include:
- we are able to correctly detect unfinished statements (missing dots)
- we are able to correctly detect unreachable statements (like a statement after a return statement)
And we still continue parsing. This makes that the faulty parser used for syntax highlighting and other much more precise, and several of my touches also fix some of the exceptions found while typing (that were due to wrong behaviours on the parser).
Also I did a small iteration on top of the “syntax feedback” so it’s less noisy. We can remove it at any time (that’s just removing a configuration). But I’d like more feedback before :)
To see the improvements
Pharo 8
Pharo9 previous to these changes
Pharo9 with these changes
Now, I’ll not deny this is still perfectible, as everything, but we can do another iteration on top :)
Guille