;;; -*- Mode: tdl; Coding: utf-8; -*- ;;; ;;; Copyright (c) 1994-2013 ;;; Dan Flickinger, Rob Malouf, Emily M. Bender ;;; see LICENSE for conditions ;;; ;;; parsenodes.tdl ;;; ;;; Parse node definitions to support node labels in printed parse trees ;;; ;;; Created: Dan Flickinger 15-Aug-94 ;;; ;;; $Id$ ;;; AAC - for the LKB, the order of definitions in the file is significant ;;; because the definitions are tried in order until one matches. ;;; This replaces the functionality of the variable *node-labels* ;;; in the PAGE machinery slash := meta & [ SYNSEM.NONLOC.SLASH 1-dlist & [ LIST < local_basic > ], META-PREFIX "/", META-SUFFIX "" ]. conj-s := label & [ SYNSEM synsem & [ LOCAL [ CAT.VAL.COMPS *cons*, ARG-S *cons*, CONJ complex-conj ] ], INFLECTD +, LNAME "CONJ" ]. conj-s2 := label & [ SYNSEM synsem & [ LOCAL [ CAT.VAL.COMPS *cons*, ARG-S *cons*, CONJ atomic-conj ] ], INFLECTD +, LNAME "CONJ" ]. conj-s3 := label & [ SYNSEM synsem & [ LOCAL [ CAT [ HEAD conj-s, VAL.COMPS < > ], CONJ cnil ] ], INFLECTD +, LNAME "S" ]. nohead := label & [ SYNSEM.LOCAL.CAT.HEAD no_head, INFLECTD +, LNAME "XP" ]. pp-i := label & [ SYNSEM.LOCAL.CAT [ HEAD basic_prep & [ MOD < [ LOCAL intersective_mod ] > ], VAL.COMPS < > ], LNAME "PP" ]. p-n := label & [ SYNSEM.LOCAL.CAT [ HEAD basic_prep & [ MOD < > ], VAL.COMPS *cons* ], LNAME "P" ]. p-i := label & [ SYNSEM.LOCAL.CAT [ HEAD basic_prep & [ MOD < [ LOCAL intersective_mod ] > ], VAL.COMPS *cons* ], LNAME "P" ]. p-s := label & [ SYNSEM.LOCAL.CAT [ HEAD basic_prep & [ MOD < [ LOCAL scopal_mod ] > ], VAL.COMPS *cons* ], LNAME "P" ]. pp-n := label & [ SYNSEM.LOCAL.CAT [ HEAD prep & [ MOD < > ], VAL.COMPS < > ], LNAME "PP" ]. pp-s := label & [ SYNSEM.LOCAL.CAT [ HEAD basic_prep & [ MOD < [ LOCAL scopal_mod ] > ], VAL.COMPS < > ], LNAME "PP" ]. coord-v := label & [ SYNSEM.LOCAL [ CAT [ HEAD verb, VAL.COMPS *cons* ], CONT.HOOK.INDEX conj_event ], LNAME "V" ]. comp := label & [ SYNSEM.LOCAL.CAT [ HEAD comp, VAL.COMPS *cons* ], LNAME "COMP" ]. prdp-i := label & [ SYNSEM.LOCAL.CAT [ HEAD a_or_p & [ PRD + ], VAL [ SPR < anti_synsem_min >, SUBJ < anti_synsem_min >, COMPS < > ] ], LNAME "PRDP" ]. ;; Right half of conjoined VP vp-conj := label & [ SYNSEM.LOCAL [ CAT [ HEAD verb, VAL [ SUBJ < synsem >, COMPS < > ] ], CONJ complex-conj ], INFLECTD +, LNAME "VP-C" ]. vp-conj2 := label & [ SYNSEM.LOCAL [ CAT [ HEAD verb, VAL [ SUBJ < synsem >, COMPS < > ] ], CONJ atomic-conj ], INFLECTD +, LNAME "VP-C" ]. ; Passive VPs vpp := label & [ SYNSEM.LOCAL.CAT [ HEAD verb & [ VFORM pas ], VAL [ SUBJ < synsem >, COMPS < > ] ], INFLECTD +, LNAME "VP" ]. ; Pres-part VPs vp-prp := label & [ SYNSEM.LOCAL.CAT [ HEAD verb & [ VFORM prp ], VAL [ SUBJ < synsem >, COMPS < > ] ], INFLECTD +, LNAME "VP" ]. vplex := label & [ SYNSEM [ LOCAL [ CAT [ HEAD verb & [ AUX +], VAL [ SUBJ < synsem & [ OPT - ] >, COMPS < > ] ], CONJ cnil ], LEX + ], INFLECTD +, LNAME "VP" ]. vp := label & [ SYNSEM.LOCAL [ CAT [ HEAD verb, VAL [ SUBJ < synsem & [ OPT - ] >, COMPS < > ] ], CONJ cnil ], INFLECTD +, LNAME "VP" ]. vpinf := label & [ SYNSEM.LOCAL.CAT [ HEAD comp, VAL [ SUBJ < synsem >, COMPS < > ] ], LNAME "VP" ]. v := label & [ SYNSEM.LOCAL.CAT [ HEAD verb, VAL.COMPS *cons* ], INFLECTD +, LNAME "V" ]. tagaux := label & [ SYNSEM.LOCAL.CAT [ HEAD tagaux, VAL.COMPS *cons* ], INFLECTD +, LNAME "V" ]. s-r := label & [ SYNSEM.LOCAL [ CAT [ HEAD verbal, VAL [ SUBJ *anti_list*, COMPS < > ], MC + ] ], INFLECTD +, LNAME "S" ]. s-r-sub := label & [ SYNSEM.LOCAL [ CAT [ HEAD verbal, VAL [ SUBJ < >, COMPS < > ], MC na_or_- ] ], INFLECTD +, LNAME "S" ]. s-r1-sub := label & [ SYNSEM [ LOCAL [ CAT [ HEAD verbal & [ VFORM fin_or_inf ], VAL [ SUBJ < anti_synsem >, COMPS < > ], MC na_or_- ] ] ], INFLECTD +, LNAME "S" ]. s-r1 := label & [ SYNSEM [ LOCAL [ CAT [ HEAD verbal & [ VFORM fin_or_inf_or_imp ], VAL [ SUBJ < anti_synsem >, COMPS < > ] ] ] ], INFLECTD +, LNAME "S" ]. s1-sub := label & [ SYNSEM.LOCAL [ CAT [ HEAD verb, VAL [ SUBJ *olist*, SPR *olist*, COMPS < > ], MC na_or_- ] ], INFLECTD +, LNAME "S" ]. s1 := label & [ SYNSEM.LOCAL [ CAT [ HEAD verb, VAL [ SUBJ *olist*, SPR *olist*, COMPS < > ] ] ], INFLECTD +, LNAME "S" ]. s2-sub := label & [ SYNSEM.LOCAL [ CAT [ HEAD verb & [ VFORM fin_or_inf_or_imp ], VAL [ SUBJ < unexpressed >, SPR *olist*, COMPS < > ], MC na_or_- ] ], INFLECTD +, LNAME "S" ]. s2 := label & [ SYNSEM.LOCAL [ CAT [ HEAD verb & [ VFORM fin_or_inf_or_imp ], VAL [ SUBJ < unexpressed >, SPR *olist*, COMPS < > ] ] ], INFLECTD +, LNAME "S" ]. s1-c := label & [ SYNSEM.LOCAL.CAT [ HEAD comp, VAL [ SUBJ *olist*, SPR *olist*, COMPS < > ] ], INFLECTD +, LNAME "S" ]. s-r2-sub := label & [ SYNSEM.LOCAL [ CAT [ HEAD verbal & [ VFORM fin_or_inf_or_imp ], VAL [ SUBJ < >, COMPS < > ], MC na_or_- ] ], LNAME "S" ]. s-r2 := label & [ SYNSEM.LOCAL [ CAT [ HEAD verbal & [ VFORM fin_or_inf_or_imp ], VAL [ SUBJ < >, COMPS < > ] ] ], LNAME "S" ]. s-frag := label & [ SYNSEM.LOCAL [ CAT.HEAD frag & [ MINORS.ALTMIN role_rel ], CONJ lex-conj ], LNAME "S" ]. smallcl := label & [ SYNSEM.LOCAL [ CAT [ HEAD cr, VAL [ SUBJ *anti_list*, COMPS < > ] ] ], INFLECTD +, LNAME "SC" ]. conjred := label & [ SYNSEM.LOCAL [ CAT [ HEAD cr, VAL [ SUBJ < synsem >, COMPS < > ] ] ], INFLECTD +, LNAME "VP-CR" ]. ; For title nouns like in "professor smith" ;nt := label & ; [ SYNSEM.LOCAL.CAT.HEAD adv & [ MOD < [ LOCAL.CAT.HEAD noun ] > ], ; INFLECTD +, ; LNAME "N" ]. adv-dg := label & [ SYNSEM.LOCAL [ CAT.HEAD adv & [ MOD < > ], CONJ cnil ], LNAME "ADV" ]. adv1a := label & [ SYNSEM.LOCAL [ CAT [ HEAD basic_adv, POSTHD + ], CONJ cnil ], INFLECTD +, LNAME "ADV" ]. adv1b := label & [ SYNSEM.LOCAL [ CAT [ HEAD basic_adv, POSTHD - ], CONJ cnil ], INFLECTD +, LNAME "ADV" ]. adv1c := label & [ SYNSEM.LOCAL [ CAT.HEAD basic_adv, CONJ cnil ], INFLECTD +, LNAME "ADV" ]. adv2 := label & [ SYNSEM.LOCAL [ CAT.HEAD root-marker, CONJ cnil ], INFLECTD +, LNAME "ADV" ]. adv3 := label & [ SYNSEM.LOCAL [ CAT.HEAD detspec, CONJ cnil ], INFLECTD +, LNAME "ADV" ]. adv4 := label & [ SYNSEM.LOCAL [ CAT.HEAD basic_adv, CONJ complex-conj ], INFLECTD +, LNAME "ADV-C" ]. adv4-2 := label & [ SYNSEM.LOCAL [ CAT.HEAD basic_adv, CONJ atomic-conj ], INFLECTD +, LNAME "ADV-C" ]. n := label & [ SYNSEM.LOCAL.CAT [ HEAD nominal, VAL [ SPR.FIRST synsem & [ OPT - ], COMPS < > ] ], INFLECTD na_or_+, LNAME "N" ]. nc := label & [ SYNSEM.LOCAL.CAT [ HEAD nominal, VAL [ SPR.FIRST synsem & [ OPT - ], COMPS *cons* ] ], INFLECTD +, LNAME "N" ]. #| npt := label & [ SYNSEM.LOCAL.CAT [ HEAD partn, VAL.SPR *cons* ], INFLECTD +, LNAME "N" ]. |# nx := label & [ SYNSEM.LOCAL.CAT [ HEAD nominal, VAL [ SPR < synsem & [ OPT - ] >, COMPS < [ OPT - ], ... > ] ], INFLECTD +, LNAME "NX" ]. adj := label & [ SYNSEM.LOCAL.CAT [ HEAD adj, VAL.COMPS < synsem_min, ... > ], INFLECTD na_or_+, LNAME "ADJ" ]. adjp := label & [ SYNSEM.LOCAL.CAT [ HEAD adj, VAL.COMPS < > ], INFLECTD na_or_+, LNAME "AP" ]. numadj := label & [ SYNSEM.LOCAL.CAT.HEAD intadj, INFLECTD +, LNAME "ADJ" ]. supadj := label & [ SYNSEM.LOCAL.CAT.HEAD superl_adj, INFLECTD +, LNAME "ADJ" ]. compadj := label & [ SYNSEM.LOCAL.CAT.HEAD compar_adj, INFLECTD +, LNAME "ADJ" ]. np-conj := label & [ SYNSEM [ LOCAL [ CAT [ HEAD nominal, VAL [ SPR *olist* ] ], CONJ complex-conj ], NONLOC.QUE 0-dlist ], INFLECTD +, LNAME "NP-CJ" ]. np-conj-2 := label & [ SYNSEM [ LOCAL [ CAT [ HEAD nominal, VAL [ SPR *olist* ] ], CONJ atomic-conj ], NONLOC.QUE 0-dlist ], INFLECTD +, LNAME "NP-CJ" ]. pp-np := label & [ SYNSEM [ LOCAL [ CAT [ HEAD modnp, VAL.COMPS < > ], CONJ cnil ] ], INFLECTD +, LNAME "PP" ]. n-title := label & [ SYNSEM [ LOCAL [ CAT.HEAD ttl, CONJ cnil ], NONLOC.QUE 0-dlist ], INFLECTD +, LNAME "N" ]. npc := label & [ SYNSEM [ LOCAL [ CAT [ HEAD nominal, VAL [ SPR *olist*, COMPS < canonical_synsem > ] ], CONJ cnil ], NONLOC.QUE 0-dlist ], INFLECTD +, LNAME "NP" ]. np-t := label & [ SYNSEM [ LOCAL [ CAT [ HEAD nominal & [ MINORS.MIN temp_abstr_rel ], VAL [ SPR *olist* ] ], CONJ cnil ], NONLOC.QUE 0-dlist ], INFLECTD +, LNAME "NP" ]. np := label & [ SYNSEM [ LOCAL [ CAT [ HEAD nominal, VAL [ SPR *olist* ] ], CONT.HOOK.INDEX non_expl, CONJ cnil ], NONLOC.QUE 0-dlist ], LNAME "NP" ]. npx := label & [ SYNSEM.LOCAL [ CAT.HEAD nominal, CONT.HOOK.INDEX expl-ind, CONJ cnil ], INFLECTD +, LNAME "NP-X" ]. npp := label & [ SYNSEM.LOCAL.CAT [ HEAD nominal, VAL.SPR.FIRST.LOCAL.CAT.HEAD adv ], INFLECTD +, LNAME "NP" ]. np-wh := label & [ SYNSEM [ LOCAL.CAT [ HEAD nominal, VAL [ SPR *olist* ] ], NONLOC.QUE 1-dlist ], INFLECTD +, LNAME "NP-WH" ]. np-rel := label & [ SYNSEM [ LOCAL.CAT [ HEAD nominal, VAL [ SPR *olist* ] ], NONLOC.REL 1-dlist ], INFLECTD +, LNAME "NP-R" ]. nedadj := label & [ SYNSEM.LOCAL.CAT.HEAD n-ed, LNAME "AP" ]. det := label & [ SYNSEM.LOCAL.CAT.HEAD det, LNAME "DET" ]. ladv := label & [ SYNSEM.LOCAL.CAT.HEAD basic_lexadv, LNAME "LADV" ]. ttl-label := label & [ SYNSEM [ LOCAL [ CAT.HEAD ttl, CONJ cnil ] ], INFLECTD +, LNAME "NP" ]. prdp := label & [ SYNSEM.LOCAL.CAT [ HEAD.PRD +, VAL.COMPS < > ], INFLECTD +, LNAME "XP" ]. punct := label & [ SYNSEM.LOCAL.CAT.HEAD punct_hd, LNAME "PNCT" ]. punct_pr := label & [ SYNSEM.LOCAL.CAT.HEAD punct_pair_hd, LNAME "PNCT" ]. frg := label & [ INFLECTD +, LNAME "FRG" ]. foreignphr := label & [ SYNSEM.LOCAL.CAT.HEAD fw, LNAME "FP" ]. bridge_binary := label & [ INFLECTD -, SYNSEM.LOCAL.CAT.HEAD bridge_head, LNAME "BP" ]. bridge_unary := label & [ INFLECTD na, SYNSEM [ LOCAL.CAT.HEAD bridge_head, LEX - ], LNAME "BX" ]. bridge_lex := label & [ INFLECTD na, SYNSEM [ LOCAL.CAT.HEAD bridge_head, LEX + ], LNAME "BLX" ]. nstemlabel := label & [ INFLECTD na_or_-, SYNSEM.LOCAL.CAT.HEAD nominal, LNAME "N" ]. ttlstemlabel := label & [ INFLECTD -, SYNSEM.LOCAL.CAT.HEAD ttl, LNAME "N" ]. astemlabel := label & [ INFLECTD -, SYNSEM.LOCAL.CAT.HEAD adj, LNAME "ADJ" ]. vstemlabel := label & [ INFLECTD -, SYNSEM.LOCAL.CAT.HEAD verb, LNAME "V" ]. stemlabel := label & [ INFLECTD -, LNAME "STEM" ].