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; |