;;; -*- Mode: tdl; Coding: utf-8; -*- ;;; ;;; Copyright (c) 1994-2005 ;;; Dan Flickinger, Rob Malouf, Emily M. Bender ;;; see erg/licence.txt for conditions ;;; ;;; parsenodes.tdl ;;; ;;; Parse node definitions to support node labels in printed parse trees ;;; ;;; Created: Dan Flickinger 15-Aug-94 ;;; ;;; $Id: parse-nodes.tdl,v 1.2 2006/12/21 15:48:00 oe Exp $ ;;; 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 real-conj ] ], INFLECTD +, LNAME "CONJ" ]. conj-c := label & [ SYNSEM synsem & [ LOCAL [ CAT.VAL.COMPS *cons*, ARG-S *cons*, CONJ real-conj ] ], INFLECTD +, LNAME "CONJ-C" ]. comp := label & [ SYNSEM.LOCAL.CAT [ HEAD comp, VAL.COMPS *cons* & [ FIRST.OPT -] ], LNAME "COMP" ]. lexcomp := label & [ SYNSEM.LOCAL.CAT.HEAD lexcomp, 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 real-conj ], INFLECTD +, LNAME "VP-C" ]. ; Passive VPs vpp := label & [ SYNSEM.LOCAL.CAT [ HEAD verb & [ VFORM pas ], VAL [ SUBJ < synsem_min >, COMPS < > ] ], INFLECTD +, LNAME "VPP" ]. ; Pres-part VPs vp-prp := label & [ SYNSEM.LOCAL.CAT [ HEAD verb & [ VFORM prp ], VAL [ 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 < expressed_synsem & [ OPT - ] >, COMPS < > ] ], CONJ cnil ], INFLECTD +, LNAME "VP" ]. vp_nonfin := label & [ SYNSEM.LOCAL [ CAT [ HEAD verb, VAL [ SUBJ < unexpressed_reg >, COMPS < > ] ], CONJ cnil ], INFLECTD +, 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 & [ VFORM fin_or_inf_or_imp ], VAL [ SUBJ < >, COMPS < > ] ], CONT.MSG message ] ], 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 := label & [ SYNSEM.LOCAL [ CAT [ HEAD verb & [ VFORM fin_or_inf_or_imp ], VAL [ SUBJ *olist*, SPR *olist*, COMPS < > ] ] ], INFLECTD +, LNAME "S" ]. s2 := label & [ SYNSEM.LOCAL [ CAT [ HEAD verb & [ VFORM fin_or_inf_or_imp ], VAL [ SUBJ < unexpressed >, SPR *olist*, COMPS < > ] ], CONT.MSG message ], INFLECTD +, LNAME "S" ]. s1-c := label & [ SYNSEM.LOCAL [ CAT [ HEAD comp, VAL [ SUBJ *olist*, SPR *olist*, COMPS < > ] ], CONT.MSG message ], INFLECTD +, LNAME "S-COMP" ]. 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 & [ KEYS.ALTKEY role_rel ], CONJ lex-conj ], LNAME "S" ]. ; 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 ], INFLECTD +, 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 real-conj ], INFLECTD +, LNAME "ADV-C" ]. p-n := label & [ SYNSEM.LOCAL.CAT [ HEAD prep & [ MOD < > ], VAL.COMPS *cons* ], LNAME "P" ]. p-i := label & [ SYNSEM.LOCAL.CAT [ HEAD prep & [ MOD < [ LOCAL intersective_mod ] > ], VAL.COMPS *cons* ], LNAME "P" ]. p-s := label & [ SYNSEM.LOCAL.CAT [ HEAD prep & [ MOD < [ LOCAL scopal_mod ] > ], VAL.COMPS *cons* ], LNAME "P" ]. pp-n := label & [ SYNSEM.LOCAL.CAT [ HEAD prep & [ MOD < > ], VAL.COMPS < > ], LNAME "PP" ]. pp-i := label & [ SYNSEM.LOCAL.CAT [ HEAD prep & [ MOD < [ LOCAL intersective_mod ] > ], VAL.COMPS < > ], LNAME "PP" ]. pp-s := label & [ SYNSEM.LOCAL.CAT [ HEAD prep & [ MOD < [ LOCAL scopal_mod ] > ], VAL.COMPS < > ], LNAME "PP" ]. n := label & [ SYNSEM.LOCAL.CAT [ HEAD nominal, VAL [ SPR < synsem & [ OPT - ] >, COMPS < > ] ], INFLECTD +, LNAME "N" ]. nc := label & [ SYNSEM.LOCAL.CAT [ HEAD nominal, VAL [ SPR < synsem & [ OPT - ] >, COMPS < canonical_synsem, ... > ] ], 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, ... > ], INFLECTD +, LNAME "ADJ" ]. adjp := label & [ SYNSEM.LOCAL.CAT [ HEAD adj, VAL.COMPS < > ], INFLECTD +, 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" ]. vpinf := label & [ SYNSEM.LOCAL.CAT [ HEAD comp, VAL.COMPS < > ], LNAME "VP" ]. nedadj := label & [ SYNSEM.LOCAL.CAT.HEAD n-ed, LNAME "AP" ]. np-conj := label & [ SYNSEM [ LOCAL [ CAT [ HEAD nominal, VAL [ SPR *olist* ] ], CONJ real-conj ], NONLOC.QUE 0-dlist ], INFLECTD +, LNAME "NP-CJ" ]. pp-np := label & [ SYNSEM [ LOCAL [ CAT [ HEAD modnp, VAL.COMPS < > ], CONJ cnil ] ], INFLECTD +, LNAME "PP" ]. 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 & [ KEYS.KEY 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 ], INFLECTD +, 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 < [ 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" ]. det := label & [ SYNSEM.LOCAL.CAT.HEAD det & [ MOD < > ], 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" ]. nohead := label & [ SYNSEM.LOCAL.CAT.HEAD no_head, INFLECTD +, LNAME "XP" ]. nstemlabel := label & [ INFLECTD -, 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" ].