39 ms·
Agreed on all parts, give or take. An addition: I don't see how one could suppress error messages relating to features that haven't been unlocked without causin
by TheLoneWolfling 11y ago
Agreed on all parts, give or take. An addition: I don't see how one could suppress error messages relating to features that haven't been unlocked without causing program validity itself to be dependent on what features you have unlocked. Either that or have programs that don't have any observable error messages but still don't work. And that's a nasty side effect.
Note that a recursive-descent parser is actually probably the best approach for this. They have the combination of being simple and relatively easy to generate relevant error messages and recover from errors that you often don't get with other parsers.
The classic shortfall of a recursive-descent parser (exponential-time worst case complexity) doesn't generally apply to this sort of thing, as generally the programs are relatively short.