;; Lexicon and Grammars in Chapter 5 ;; A lexicon of auxiliary words (setq *lexicon5-2* '((can (aux (modal +) (root CAN1) (vform pres) (agr ?a) (COMPFORM bare)) can1) (could (aux (modal +) (root COULD1) (vform (? v pres past)) (agr ?a) (COMPFORM bare))) (do (aux (modal +) (root DO1) (vform pres) (agr (? a 1s 2s 1p 2p 3p)) (COMPFORM bare))) (does (aux (modal +) (root DO1) (vform pres) (agr 3s) (COMPFORM bare))) (did (aux (modal +) (root DO1) (vform past) (agr ?a) (COMPFORM bare))) (have (aux (vform bare) (root HAVE-AUX) (COMPFORM pastprt))) (have (aux (vform pres) (root HAVE-AUX) (agr (?a 1s 2s 1p 2p 3p)) (COMPFORM pastprt))) (has (aux (vform pres) (root HAVE-AUX) (agr 3s) (COMPFORM pastprt))) (had (aux (vform past) (root HAVE-AUX) (agr ?a) (COMPFORM pastprt))) (having (aux (vform ing) (root HAVE-AUX) (COMPFORM pastprt))) (be (aux (root BE-AUX) (VFORM bare) (COMPFORM -))) (is (aux (root BE-AUX) (VFORM pres) (COMPFORM -) (AGR 3s))) (am (aux (root BE-AUX) (VFORM pres) (COMPFORM -) (AGR 1s))) (are (aux (root BE-AUX) (VFORM pres) (COMPFORM -) (AGR (?a 2s 1p 2p 3p)))) (was (aux (root BE-AUX) (VFORM past) (AGR (? a 1s 3s)) (COMPFORM -))) (were (aux (root BE-AUX) (VFORM past) (AGR (? a 2s 1p 2p 3p)) (COMPFORM -))) (been (aux (root BE-AUX) (VFORM pastprt) (COMPFORM -))) (being (aux (root BE-AUX) (VFORM ing) (COMPFORM -))))) ;; Here is grammar 5-3, which handles auxiliaries and passives (setq *grammar5-3* '((headfeatures (s vform agr) (vp vform agr) (np agr)) ((s (inv -)) -1> (np (agr ?a)) (head (vp (vform (? v pres past)) (agr ?a)))) ((vp) -2> (head (aux (compform ?v))) (vp (vform ?v))) ((vp) -3> (head (aux (root BE-AUX))) (vp (vform ing) (MAIN +))) ((vp) -4> (head (aux (root BE-AUX))) (vp (vform ing) (PASS +))) ((vp (PASS +)) -5> (head (aux (root BE-AUX))) (vp (vform pastprt) (MAIN +) (PASSGAP +))) ((vp (PASSGAP -) (MAIN +)) -6> (head (v (subcat _none)))) ((vp (PASSGAP -) (MAIN +)) -7> (head (v (subcat _np))) (np)) ((vp (PASSGAP +) (MAIN +)) -8> (head (v (subcat _np)))) ((np) -9> (art (agr ?a)) (head (n (agr ?a)))) ((np) -10> (head (name))) ((np) -11> (head (pro))))) ;; a lexicon of NPs with wh features (setq *lexicon5-6* '((what (pro (wh q) (root WHAT) (agr (? a 3s 3p)))) (what (qdet (wh q) (root WHAT) (agr (? a 3s 3p)))) (which (qdet (wh q) (root WHICH) (agr (? a 3s 3p)))) (which (pro (wh r) (root WHICH) (agr (? a 3s 3p)))) (when (pp-wrd (wh (? w q r)) (root WHEN) (ptype time))) (whose (pro (wh (? w q r)) (root WHOSE) (poss +) (agr (? a 3s 3p)))) (who (pro (wh (? w q r)) (root WHO) (agr 3s))) (where (pp-wrd (wh (? w q r)) (root WHERE) (ptype (? p loc mot)))))) (setq *lexicon-additions* '((put (v (subcat _np_pp-loc) (root PUT) (vform bare) (irreg-past +))) (put (v (subcat _np_pp-loc) (root PUT) (vform past) (agr ?a))) (put (v (subcat _np_pp-loc) (root PUT) (vform pastprt) (agr ?a))) (in (p (ptype loc) (pform in) (root IN1))) ;; an additional noun (bag (n (root BAG1) (agr 3s))) ) ) (setq *grammar5-7* '((headfeatures (np agr) (cnp agr) (det agr) (pp ptype pform)) ((np (poss ?p) (wh ?w)) -5-7-1> (head (pro (poss ?p) (wh ?w)))) ((np (wh ?w)) -5-7-2> (det (wh ?w) (agr ?a)) (head (cnp (agr ?a)))) ((cnp) -5-7-3> (head (n))) ((cnp) -5-7-4> (adj) (head (n))) ((det) -5-7-5> (head (art))) ((det (wh ?w)) -5-7-6> (head (np (poss +) (wh ?w) (agr (? a 3s 3p))))) ((det (wh ?w)) -5-7-7> (head (qdet (wh ?w)))) ((pp (wh ?w)) -5-7-8> (head (p)) (np (wh ?w))) ((pp (wh ?w)) -5-7-9> (head (pp-wrd (wh ?w)))))) (setq *grammar5-8* '((headfeatures (s vform agr) (vp vform agr)) ((s (inv -) (wh ?w)) -5-8-1> (np (wh ?w) (agr ?a)) (head (vp (vform (? v pres past)) (agr ?a)))) ((s (inv +) (wh ?w) (gap ?g)) -5-8-2> (head (aux (compform ?s) (agr ?a))) (np (wh ?w) (agr ?a) (gap -)) (vp (vform ?s) (gap ?g))) ((s) -5-8-3> (np (wh q) (gap -) (agr ?a)) (head (s (inv +) (gap (% np (agr ?a)))))) ((s) -5-8-4> (pp (wh q) (gap -) (ptype ?p) (pform ?pf)) (head (s (inv +) (gap (% pp (ptype ?p) (pform ?pf)))))) ((vp) -5-8-5> (head (aux (compform ?s))) (vp (vform ?s))) ((vp) -5-8-6> (head (v (subcat _none)))) ((vp) -5-8-7> (head (v (subcat _np))) (np)) ((vp) -5-8-8> (head (v (subcat _vp-inf))) (vp (vform inf))) ((vp) -5-8-9> (head (v (subcat _np_vp-inf))) (np) (vp (vform inf))) ((vp) -5-8-10> (head (to)) (vp (vform bare))) ((vp) -5-8-11> (head (v (subcat _np_pp-loc))) (np) (pp (ptype loc)))) ) (setq *grammar-RelClause* '((headfeatures (s vform) (vp vform agr) (np agr) (cnp agr)) ((cnp) -R1> (head (cnp)) (rel (gap -))) ((rel (gap -)) -R2> (np (wh r) (agr ?a)) (head (s (inv -) (vform (? v pres past)) (gap (% np (agr ?a)))))) ((rel (gap -)) -R3> (pp (wh r) (ptype ?p)) (head (s (inv -) (vform (? v pres past)) (gap (% pp (ptype ?p)))))) ((rel (gap -)) -R4> (np (wh r) (agr ?a)) (head (vp (vform (? v pres past)) (agr ?a)))) ((rel (gap -)) -R5> (head (s (vform (? v pres past)) (gap (% np))))) ((rel (gap -)) -R6> (head (vp (vform (? v ing pastprt))))))) (setq *basic-grammar* '((headfeatures (s vform agr) (vp vform agr) (np agr)) ((s (inv -) (wh ?w)) -5-8-1> (np (wh ?w) (agr ?a)) (head (vp (vform (? v pres past)) (agr ?a)))) ((s (inv +) (wh ?w) (gap ?g)) -5-8-2> (head (aux (compform ?s) (agr ?a))) (np (wh ?w) (agr ?a) (gap -)) (vp (vform ?s) (gap ?g))) ((s) -5-8-3> (np (wh q) (gap -) (agr ?a)) (head (s (inv +) (gap (% np (agr ?a)))))) ((s) -5-8-4> (pp (wh q) (gap -) (ptype ?p) (pform ?pf)) (head (s (inv +) (gap (% pp (ptype ?p) (pform ?pf)))))) ((vp (main +) (passgap -)) -5-8-5> (head (aux (compform ?s))) (vp (vform ?s))) ((vp (main +) (passgap -)) -5-8-6> (head (v (subcat _none)))) ((vp (main +) (passgap -)) -5-8-7> (head (v (subcat _np))) (np)) ((vp (main +) (passgap -)) -5-8-8> (head (v (subcat _vp-inf))) (vp (vform inf))) ((vp (main +) (passgap -)) -5-8-9> (head (v (subcat _np_vp-inf))) (np) (vp (vform inf))) ((vp (main -) (passgap -)) -5-8-10> (head (to)) (vp (vform bare))) ((vp (main +) (passgap -)) -5-8-11> (head (v (subcat _np_pp-loc))) (np) (pp (ptype loc))) ((vp) -b1> (head (v (subcat _adjp))) (adjp)) ((vp (PASSGAP +) (MAIN +)) -b2> (head (v (subcat _np)))) ((vp (main +) (passgap +)) -b3> (head (v (subcat _np_pp-loc))) (pp (ptype loc))) ((vp (main +) (passgap +)) -b4> (head (v (subcat _np_vp-inf))) (vp (vform inf))) ((vp (PASS +)) -b5> (head (aux (root BE-AUX))) (vp (vform pastprt) (MAIN +) (PASSGAP +))) ((np) -b6> (head (name))) ((adjp) -b7> (head (adj))) ((adjp) -b8> (head (adj (subcat _vp-inf))) (vp (vform inf))) )) (setq *non-vp-grammar* '((headfeatures (s vform agr) (vp vform agr) (np agr)) ((s (inv -) (wh ?w)) -5-8-1> (np (wh ?w) (agr ?a)) (head (vp (vform (? v pres past)) (agr ?a)))) ((s (inv +) (wh ?w) (gap ?g)) -5-8-2> (head (aux (compform ?s) (agr ?a))) (np (wh ?w) (agr ?a) (gap -)) (vp (vform ?s) (gap ?g))) ((s) -5-8-3> (np (wh q) (gap -) (agr ?a)) (head (s (inv +) (gap (% np (agr ?a)))))) ((s) -5-8-4> (pp (wh q) (gap -) (ptype ?p) (pform ?pf)) (head (s (inv +) (gap (% pp (ptype ?p) (pform ?pf)))))) ((vp (main +) (passgap -)) -5-8-5> (head (aux (compform ?s))) (vp (vform ?s))) ((vp (PASSGAP +) (MAIN +)) -b2> (head (v (subcat _np)))) ((vp (main +) (passgap +)) -b3> (head (v (subcat _np_pp-loc))) (pp (ptype loc))) ((vp (main +) (passgap +)) -b4> (head (v (subcat _np_vp-inf))) (vp (vform inf))) ((vp (PASS +)) -b5> (head (aux (root BE-AUX))) (vp (vform pastprt) (MAIN +) (PASSGAP +))) ((np) -b6> (head (name))) ((adjp) -b7> (head (adj))) ((adjp) -b8> (head (adj (subcat _vp-inf))) (vp (vform inf))) )) (setq *grammar-topicalization* '((headfeatures (s vform) ) ;; S -> NP S[-inv,/NP] ((S) -T1> (NP (wh -) (gap -) (agr ?a)) (head (S (wh -) (inv -) (vform (? v pres past)) (gap (% np (wh -) (agr ?a)))))) ;; S -> PP S[-inv, /PP] ((S) -T2> (PP (wh -) (gap -) (pform ?pf) (ptype ?pt)) (head (S (wh -) (inv -) (vform (? v pres past)) (gap (% pp (wh -) (pform ?pf) (ptype ?pt)))))) )) ;;(setq *grammar-conjunction* ;; '((headfeatures ;; (s vform agr) ;; (vp vform agr main pass passgap) ;; (np agr)) ;; ((np) ;; -np-conj> ;; (head (np)) ;; (conj) ;; (head (np))) ;; ((vp) ;; -vp-conj> ;; (head