! NounWord (which takes no arguments) returns: ! ! 0 if the next word is unrecognised or does not carry the "noun" bit in ! its dictionary entry, ! 1 if a word meaning "me", ! the index in the pronoun table (plus 2) of the value field of a pronoun, ! if the word is a pronoun, ! the address in the dictionary if it is a recognised noun. ! ! The "current word" marker moves on one. ! ---------------------------------------------------------------------------- [ NounWord i j s; i=NextWord(); if (i==0) rfalse; if (i==ME1__WD or ME2__WD or ME3__WD) return 1; s = LanguagePronouns-->0; for (j=1 : j<=s : j=j+3) if (i == LanguagePronouns-->j) return j+2; if ((i->#dict_par1)&128 == 0) rfalse; return i; ];