Disambiguation Control by Jon Ingold and L602

I don’t know how high updating this is on Jon’s to-do list – his day job is now running Inkle Studios, a choice-based IF company which you should totally check out if you haven’t done so!

Anyway, I went through the extension and bopped all the compiler errors. This was very much a Chinese Room Experiment kind of thing, as I don’t understand the I6 at all; I just went through the errors on the Console page and pasted in the corresponding code from the new parser. There were only a few changes necessary to get it to compile:

L__M(##Miscellany, 20); changed to best_etype = ANIMAAGAIN_PE;
L__M(##Miscellany, 21); changed to PARSER_COMMAND_INTERNAL_RM(‘D’); new_line; (in two places)
print (string) COMMA__TX; changed to print ", ";
print (string) OR__TX; changed to PARSER_CLARIF_INTERNAL_RM(‘H’);

and it looks like the new parser defines something in (or just after) NounDomain that the old one didn’t, so we need to include that in the replacement for NounDomain, so I added

[ PARSER_CLARIF_INTERNAL_R; ];

just before the Instead of “NounDomain” line.

I also changed one of the examples so it says “End the story finally” instead of “End the game.”

This is just a patch, or maybe a spackle, because as I said I don’t know what the underlying logic is; and it isn’t adaptive (the messages will read “What do you want to…” even if the story isn’t in second person present). But it does seem to compile and yield the desired result for the examples, and hopefully it’ll be something to get on with. I also hope Jon won’t mind me posting this!

Uploaded it as a .txt because my computer doesn’t seem to be able to find extensions when I go to upload them.
Disambiguation Control Fix.txt (111 KB)