I’ve been digging into the parser, again.
I’m starting to think that, one of these days, I’m just going to rewrite it. Refactor it, rather; not changing any functionality, but just trying to make a version which is then easier to repurpose, adapt and understand.
I’m interested right now in how the parser can be extracted and made available to the game as less of a “main loop” and more of an information-gathering system, that reads in a line and returns what it has to say about it. The error message / disambiguation question system would then sit on top of that, rather than right in the heart of it.
I’m not sure what direct benefit this would be to authors, but it might open the way for more development work on the parser, which has been mostly untouched over the last ten/fifteen years. The issue of extracting decent information for giving errors comes up quite often and I’m sure that could be improved.
This isn’t a promise to do it, yet. But it sounds like a worthy challenge.
Assuming the I7 team aren’t about to rewrite the whole thing into I7 themselves?