| ANSWER TO EXERCISE 23 | |
|
The interesting point here is that when the grammar property finds the word "take'', it accepts it and has to move verb_wordnum on by one to signal that a word has been parsed succesfully.
Object -> Dan "Dyslexic Dan"
with name "dan" "dyslexic",
grammar
[; if (verb_word == 'take') { verb_wordnum++; return 'drop'; }
if (verb_word == 'drop') { verb_wordnum++; return 'take'; }
],
orders
[ i;
Take: "~What,~ says Dan, ~ you want me to take ",
(the) noun, "?~";
Drop: "~What,~ says Dan, ~ you want me to drop ",
(the) noun, "?~";
Inv: "~That I can do,~ says Dan. ~I'm empty-handed.~";
No: "~Right you be then.~";
Yes: "~I'll be having to think about that.~";
default: "~Don't know how,~ says Dan.";
],
initial "Dyslexic Dan is here.",
has animate proper;
|