;; ;; BroadYesNo.grammar ;; ;; Contains the subgrammar BROAD_YES_NO that allows the user to say ;; yes or no in a variety of ways. ;; ;; This grammar file can be included in another package. The subgrammar ;; returns an NL value of yes or no. The Top Level grammar that uses ;; the BROAD_YES_NO subgrammar should assign this value to the appropriate ;; slot. ;; ;; As an example see the file Confirmation.grammar ;; ;; ;; used internally by the YES_WORDS subgrammar ;; _IT_IS (it ?[sure certainly] is) ;; ;; many possible ways to say "yes" ;; ;; "uh-huh" has been disallowed as a legal yes-word, because it is too vague ;; and ambiguous. ;; YES_WORDS [(yes ?_IT_IS) _IT_IS yup yeah okay sure (you got it) (?(?yes that's) [right correct]) ] _YES_TRAILERS [please thanks (thank you)] ;; ;; used internally by the NO_WORDS subgrammar ;; _IT_IS_NOT [(it isn't) (it's not) (it is not)] ;; ;; many possible ways to say "no" ;; NO_WORDS [nope (absolutely not) (no ?[_IT_IS_NOT way]) _IT_IS_NOT (?(?no that's) [wrong (not [correct right]) incorrect ] ) ] _NO_TRAILERS [thanks (thank you)] ;; ;; a confirmation that allows hesitation, followed by yes/no words and an ;; optional "thank you" ;; BROAD_YES_NO (?[um uh hm] [(YES_WORDS ?_YES_TRAILERS) {return(yes)} (NO_WORDS ?_NO_TRAILERS) {return(no)} ] )