;;; -*- Mode: tdl; Coding: utf-8; -*-
;;;
;;;  Copyright (c) 1994-2013
;;;    Dan Flickinger, Rob Malouf, Emily M. Bender
;;;    see LICENSE for conditions
;;;
;;;  constructions.tdl
;;;
;;;  The instances of phrases defined in syntax.tdl
;;;
;;;  Created: Ann Copestake, 30-Sept-97
;;;
;;; $Id: constructions.tdl 7479 2010-02-21 23:11:30Z danf $

;;
;;  Constructions

; <type val="sb-hd_mc_c">
; <description>Head+subject, main clause        
; <ex>C arrived.                 
; <nex>
; <todo>
; </type>
sb-hd_mc_c := subjh_mc_rule &
  [ RNAME sbhd ].

; Non-main-clause
; <type val="sb-hd_nmc_c">
; <description>Hd+subject, embedded clause      
; <ex>B thought [C arrived].     
; <nex>
; <todo>
; </type>
sb-hd_nmc_c := subjh_nonmc_rule &
  [ RNAME sbhn ].

; <type val="sb-hd_q_c">
; <description>Hd+subj, in-situ WH              
; <ex>B ate what?                
; <nex>
; <todo>
; </type>
sb-hd_q_c := subjh_rule_wh_insitu &
  [ RNAME sbhq ].

; <type val="hd-cmp_u_c">
; <description>Hd+complement                    
; <ex>B [hired C].               
; <nex>
; <todo>
; </type>
hd-cmp_u_c := hcomp_rule &
  [ RNAME hcp ].

; <type val="hd-cmp_2_c">
; <description>Hd+second complement             
; <ex>B [gave to C] E.           
; <nex>
; <todo>
; </type>
hd-cmp_2_c := h2comp_rule &
  [ RNAME hcp2 ].

; <type val="hd_optcmp_c">
; <description>Head discharges optional compl   
; <ex>B [ate] already.           
; <nex>
; <todo>
; </type>
hd_optcmp_c := hoptcomp_rule &
  [ RNAME hcpo ].

; <type val="hdn_optcmp_c">
; <description>NomHd discharges opt complement  
; <ex>The [picture] appeared.    
; <nex>
; <todo>
; </type>
hdn_optcmp_c := noptcomp_rule &
  [ RNAME ncpo ].

; <type val="mrk-nh_evnt_c">
; <description>Marker + event-based complement  
; <ex>B sang [and danced.]       
; <nex>
; <todo>
; </type>
mrk-nh_evnt_c := hmark_e_phr_rule &
  [ RNAME hmke ].

; <type val="mrk-nh_cl_c">
; <description>Marker + clause                  
; <ex>B sang [and C danced.]     
; <nex>
; <todo>
; </type>
mrk-nh_cl_c := hmark_s_phr_rule &
  [ RNAME hmkc ].

; <type val="mrk-nh_nom_c">
; <description>Marker + NP                      
; <ex>Cats [and some dogs] ran.  
; <nex>
; <todo>
; </type>
mrk-nh_nom_c := hmark_nom_rule &
  [ RNAME hmkn ].

; <type val="mrk-nh_n_c">
; <description>Marker + N-bar                   
; <ex>Every cat [and dog] ran.   
; <nex>
; <todo>
; </type>
mrk-nh_n_c := hmark_nbar_rule &
  [ RNAME hmkb ].

; <type val="mrk-nh_atom_c">
; <description>Paired marker + phrase           
; <ex>[Both B] and C arrived.    
; <nex>
; <todo>
; </type>
mrk-nh_atom_c := hmark_atomic_rule &
  [ RNAME hmka ].

; <type val="hd_xcmp_c">
; <description>Head extracts compl (to SLASH)   
; <ex>Who does B [admire] now?   
; <nex>
; <todo>
; </type>
hd_xcmp_c := extracomp_rule &
  [ RNAME hcpx ].

; <type val="hd_xsb-fin_c">
; <description>Extract subject from finite hd   
; <ex>Who do you think [went?]   
; <nex>
; <todo>
; </type>
hd_xsb-fin_c := extrasubj_fin_rule &
  [ RNAME shxf ].

; <type val="sp-hd_n_c">
; <description>Hd+specifier, nonhd = sem hd     
; <ex>[Every cat] slept.         
; <nex>
; <todo>
; </type>
sp-hd_n_c := hspec_rule &
  [ RNAME sph ].

; <type val="sp-hd_hc_c">
; <description>Hd+specifier, hd = sem hd        
; <ex>The [very old] cat slept.  
; <nex>
; <todo>
; </type>
sp-hd_hc_c := hspec_hc_rule &
  [ RNAME sphh ].

; <type val="sp-hd_hc-cmp_c">
; <description>Hd+specifier w/comp, hd = sem hd 
; <ex>The [more ancient| cat than mine slept.  
; <nex>
; <todo>
; </type>
sp-hd_hc-cmp_c := hspec_hc_cmp_rule &
  [ RNAME sphc ].

; <type val="aj-hd_scp_c">
; <description>Hd+preceding scopal adjunct      
; <ex>Probably B won.            
; <nex>
; <todo>
; </type>
aj-hd_scp_c := adjh_s_rule &
  [ RNAME mhs ].

; <type val="aj-hd_scp-xp_c">
; <description>Hd+prec.scop.adj, VP head        
; <ex>B [probably won].          
; <nex>
; <todo>
; </type>
aj-hd_scp-xp_c := adjh_s_nopair_rule &
  [ RNAME mhv ].

; <type val="aj-hd_scp-pr_c">
; <description>Hd+pr.scop.adj, VP hd, prd pnct  
; <ex>If C loses, B wins.        
; <nex>
; <todo>
; </type>
aj-hd_scp-pr_c := adjh_s_prpnct_rule &
  [ RNAME mhvp ].

; <type val="hd-aj_scp-pr_c">
; <description>Hd+foll.scop.adjnct, paird pnct  
; <ex>B wins, if C loses.        
; <nex>
; <todo>
; </type>
hd-aj_scp-pr_c := hadj_s_prpnct_rule &
  [ RNAME hms ].

; <type val="hd-aj_scp_c">
; <description>Hd+following scopal adjunct      
; <ex>B wins if C loses.         
; <nex>
; <todo>
; </type>
hd-aj_scp_c := hadj_s_nopair_rule &
  [ RNAME hmsn ].

; <type val="aj-hdn_norm_c">
; <description>Nominal head + preceding adjnct  
; <ex>The [big cat] slept.       
; <nex>
; <todo>
; </type>
aj-hdn_norm_c := adj_n_rule &
  [ RNAME mhn ].

; <type val="aj-hdn_adjn_c">
; <description>NomHd+prec.adj, hd pre-modified  
; <ex>The [big old cat] slept.   
; <nex>
; <todo>
; </type>
aj-hdn_adjn_c := adj_adjn_rule &
  [ RNAME mhna ].

; <type val="aj-hd_int_c">
; <description>Hd+prec.intersective adjunct     
; <ex>B [quickly left].          
; <nex>
; <todo>
; </type>
aj-hd_int_c := adjh_i_rule &
  [ RNAME mhi ].

; <type val="aj-hd_int-inv_c">
; <description>Hd+prec.int.adjnct, hd inverted  
; <ex>On Tuesday, can you stay?  
; <nex>
; <todo>
; </type>
aj-hd_int-inv_c := adjh_i_inv_rule &
  [ RNAME mhiv ].

; <type val="aj-hd_int-rel_c">
; <description>Hd+prec.int.adjnct, hd rel-vp    
; <ex>which [on Tuesday met Kim] 
; <nex>
; <todo>
; </type>
aj-hd_int-rel_c := adjh_i_rel_rule &
  [ RNAME mhr ].

; <type val="hdn-aj_rc_c">
; <description>NomHd+following relative clause  
; <ex>The [cat we chased] ran.   
; <nex>
; <todo>
; </type>
hdn-aj_rc_c := hadj_i_relcl_npr_rule &
  [ RNAME hmrn ].

; <type val="hdn-aj_rc-pr_c">
; <description>NomHd+foll.rel.cl, paired pnct   
; <ex>A [cat, which ran,] fell.  
; <nex>
; <todo>
; </type>
hdn-aj_rc-pr_c := hadj_i_relcl_pr_rule &
  [ RNAME hmrc ].

; <type val="hdn-aj_redrel_c">
; <description>NomHd+foll.predicative phrase    
; <ex>A [cat in a tree] fell.    
; <nex>
; <todo>
; </type>
hdn-aj_redrel_c := hadj_i_redrel_npr_rule &
  [ RNAME hmpn ].

; <type val="hdn-aj_redrel-pr_c">
; <description>NomHd+foll.prd.phr, paired pnct  
; <ex>A [cat, in a tree,] fell.  
; <nex>
; <todo>
; </type>
hdn-aj_redrel-pr_c := hadj_i_redrel_pr_rule &
  [ RNAME hmpc ].

; <type val="hd-aj_int-unsl_c">
; <description>Hd+foll.int.adjct, no gap        
; <ex>B [left quietly].          
; <nex>
; <todo>
; </type>
hd-aj_int-unsl_c := hadj_i_unsl_rule &
  [ RNAME hmiu ].

; <type val="hd-aj_int-sl_c">
; <description>Hd+foll.int.adjct, gap in adj    
; <ex>That cafe, we [dined in].  
; <nex>
; <todo>
; </type>
hd-aj_int-sl_c := hadj_i_sl_rule &
  [ RNAME hmis ].

; <type val="hd-aj_vmod_c">
; <description>Hd+foll.int.adjct, prec. NP cmp  
; <ex>B [saw here] a big parade. 
; <nex>
; <todo>
; </type>
hd-aj_vmod_c := v_mod_int_rule &
  [ RNAME vlmi ].

; <type val="hd-aj_vmod-s_c">
; <description>Hd+foll.scop.adjct, prec. NP cmp 
; <ex>B [saw here] a big parade. 
; <nex>
; <todo>
; </type>
hd-aj_vmod-s_c := v_mod_scop_rule &
  [ RNAME vlms ].

; <type val="hd-aj_cmod_c">
; <description>Conj+foll.int.adjct, prec. NP cmp  
; <ex>B [and yesterday] C arose. 
; <nex>
; <todo>
; </type>
hd-aj_cmod_c := conj_mod_int_rule &
  [ RNAME clmi ].

; <type val="hd-aj_cmod-s_c">
; <description>Conj+foll.scop.adjct, prec. NP cmp  
; <ex>B [and probably] C arose. 
; <nex>
; <todo>
; </type>
hd-aj_cmod-s_c := conj_mod_scop_rule &
  [ RNAME clms ].

; <type val="hd_xaj-int-vp_c">
; <description>Extract int.adjunct from VP      
; <ex>Here we [stand.]           
; <nex>
; <todo>
; </type>
hd_xaj-int-vp_c := extradj_i_vp_rule &
  [ RNAME hmxv ].

; <type val="hd_xaj-int-s_c">
; <description>Extract int.adjunct from S       
; <ex>When is he Kim?            
; <nex>
; <todo>
; </type>
hd_xaj-int-s_c := extradj_i_s_rule &
  [ RNAME hmxs ].

; <type val="hd_xaj-crd-s_c">
; <description>Extract adjunct from coord S     
; <ex>Now B arises and C arrives 
; <nex>
; <todo>
; </type>
hd_xaj-crd-s_c := extradj_i_s_coord_rule &
  [ RNAME hmxc ].

; <type val="cl_rc-fin-nwh_c">
; <description>Rel.clause from fin.S, no relpr  
; <ex>The cat [we chased] ran.   
; <nex>
; <todo>
; </type>
cl_rc-fin-nwh_c := fin_non_wh_rel_rule &
  [ RNAME rclf ].

; <type val="cl_rc-inf-nwh_c">
; <description>Rel.cl. fr.infin VP, non-sb gap  
; <ex>People [to admire] sang.   
; <nex>
; <todo>
; </type>
cl_rc-inf-nwh_c := inf_non_wh_rel_rule &
  [ RNAME rcli ].

; <type val="cl_rc-inf-nwh-sb_c">
; <description>Rel.cl. from infin VP, subj gap  
; <ex>Dogs [to chase cats] run.  
; <nex>
; <todo>
; </type>
cl_rc-inf-nwh-sb_c := inf_non_wh_subj_rel_rule &
  [ RNAME rcls ].

; <type val="cl_rc-instr_c">
; <description>Rel.cl. fr.inf.VP,no gap, instr  
; <ex>Money [to buy lunch] fell. 
; <nex>
; <todo>
; </type>
cl_rc-instr_c := instr_inf_non_wh_rel_rule &
  [ RNAME rcln ].

; <type val="cl_rc-fin-modgap_c">
; <description>Rel.cl. fr.fin.S,mod gap         
; <ex>The day [we arrived] fell. 
; <nex>
; <todo>
; </type>
cl_rc-fin-modgap_c := fin_modgap_rel_rule &
  [ RNAME rcmf ].

; <type val="cl_rc-inf-modgap_c">
; <description>Rel.cl. fr.inf.S,mod gap         
; <ex>The day [to arrive] fell.  
; <nex>
; <todo>
; </type>
cl_rc-inf-modgap_c := inf_modgap_rel_rule &
  [ RNAME rcmi ].

; <type val="vp_rc-redrel_c">
; <description>Rel.cl. from predicative VP      
; <ex>Dogs [chasing cats] bark.  
; <nex>
; <todo>
; </type>
vp_rc-redrel_c := red_rel_cl_rule &
  [ RNAME rclv ].

; <type val="vp_sbrd-prd-prp_c">
; <description>Pred.subord phr from prp-VP      
; <ex>Kim arrived, [smiling.]    
; <nex>
; <todo>
; </type>
vp_sbrd-prd-prp_c := subconj_prdp_prp_rule &
  [ RNAME scpr ].

; <type val="vp_sbrd-prd-pas_c">
; <description>Pred.subord phr from passive VP  
; <ex>Kim arrived, [inspired.]   
; <nex>
; <todo>
; </type>
vp_sbrd-prd-pas_c := subconj_prdp_pas_rule &
  [ RNAME scps ].

; <type val="vp_sbrd-prd-aj_c">
; <description>Pred.subord phr from adjctv phr  
; <ex>Kim arrived, [very happy.] 
; <nex>
; <todo>
; </type>
vp_sbrd-prd-aj_c := subconj_prdp_adj_rule &
  [ RNAME scpa ].

; <type val="vp_sbrd-prd-ell_c">
; <description>Pred.subord phr, modfs ellip.VP  
; <ex>Kim might, [given time.]   
; <nex>
; <todo>
; </type>
vp_sbrd-prd-ell_c := subconj_prdp_ellip_rule &
  [ RNAME scpe ].

; <type val="j_sbrd-pre_c">
; <description>Pred.subord phr fr.adj, prehead  
; <ex>[Unhappy,] we left.        
; <nex>
; <todo>
; </type>
j_sbrd-pre_c := subconj_prdp_a_init_rule &
  [ RNAME sca ].

; <type val="vp_sbrd-pre_c">
; <description>Pred.subord phr fr.VP, prehead   
; <ex>[Seeing Kim] they left.    
; <nex>
; <todo>
; </type>
vp_sbrd-pre_c := subconj_prdp_v_init_rule &
  [ RNAME scv ].

; <type val="vp_sbrd-pre-lx_c">
; <description>Pred.subord phr fr.lex VP, prehd 
; <ex>[Smiling,] Kim arose.      
; <nex>
; <todo>
; </type>
vp_sbrd-pre-lx_c := subconj_prdp_v_init_lex_rule &
  [ SYNSEM.PUNCT.RPUNCT comma_punct,
    RNAME scvl ].

; <type val="hdn_bnp_c">
; <description>Bare noun phrase (no determiner) 
; <ex>[Cats] sleep.              
; <nex>
; <todo>
; </type>
hdn_bnp_c := bare_np_rule &
  [ RNAME bnp ].

; <type val="hdn_bnp-prd_c">
; <description>Bare predicative noun phrase     
; <ex>B will be president.       
; <nex>
; <todo>
; </type>
hdn_bnp-prd_c := bare_np_prd_rule &
  [ RNAME bnpp ].

; <type val="hdn_bnp-pn_c">
; <description>Bare NP from proper name         
; <ex>[Browne] arrived.          
; <nex>
; <todo>
; </type>
hdn_bnp-pn_c := proper_np_rule &
  [ RNAME nppr ].

; DPF 30-mar-10 - Moved constraint on SPR here from syntax.tdl, but maybe
; it's not necessary? - FIX

; <type val="hdn_bnp-num_c">
; <description>Bare NP from number              
; <ex>[42] is even.              
; <nex>
; <todo>
; </type>
hdn_bnp-num_c := num_np_rule &
  [ ARGS < [ SYNSEM.LOCAL.CAT.VAL.SPR < canonical_synsem > ] >,
    RNAME npnb ].

; <type val="hdn_bnp-qnt_c">
; <description>NP from already-quantified dtr   
; <ex>[Some in Paris] slept.     
; <nex>
; <todo>
; </type>
hdn_bnp-qnt_c := bare_npq_rule &
  [ RNAME npbq ].

; <type val="hdn_bnp-sg-nmod_c">
; <description>NP fr. detless bare sg N-N cpnd  
; <ex>It was at [eye level.]     
; <nex>
; <todo>
; </type>
hdn_bnp-sg-nmod_c := detlesspp_np_nmod_rule &
  [ RNAME dnpn ].

; <type val="hdn_bnp-sg-jmod_c">
; <description>NP fr. detless bare sg adj+noun  
; <ex>It was at [close range.]   
; <nex>
; <todo>
; </type>
hdn_bnp-sg-jmod_c := detlesspp_np_jmod_rule &
  [ RNAME dnpj ].

; <type val="hdn_bnp-sg-nomod_c">
; <description>NP fr. detless bare sg unmodfd   
; <ex>It was within [range.]     
; <nex>
; <todo>
; </type>
hdn_bnp-sg-nomod_c := detlesspp_np_nomod_rule &
  [ RNAME dnpx ].

; <type val="hdn_bnp-vger_c">
; <description>NP from verbal gerund            
; <ex>Hiring them was easy.      
; <nex>
; <todo>
; </type>
hdn_bnp-vger_c := bare_vger_rule &
  [ RNAME npvg ].

; <type val="np-hdn_cpd_c">
; <description>Compound from proper-name+noun   
; <ex>The [IBM report] arrived.  
; <nex>
; <todo>
; </type>
np-hdn_cpd_c := np_n_cmpnd_rule &
  [ RNAME npn ].

; <type val="np-hdn_cpd-pr_c">
; <description>Compound, proper+noun, paird pnct
; <ex>The [Cupertino, Calif., company] arrived.  
; <nex>
; <todo>
; </type>
np-hdn_cpd-pr_c := np_n_cmpnd_pr_rule &
  [ RNAME nppn ].

; <type val="np-hdn_ttl-cpd_c">
; <description>Compound from title+proper-name  
; <ex>[Professor Browne] left.   
; <nex>
; <todo>
; </type>
np-hdn_ttl-cpd_c := np_title_cmpnd_rule &
  [ RNAME npnt ].

; <type val="np-hdn_ttl-cpd-pl_c">
; <description>Compound from title+plural proper
; <ex>[Mssrs. B and C] left.     
; <nex>
; <todo>
; </type>
np-hdn_ttl-cpd-pl_c := np_title_cmpnd_pl_rule &
  [ RNAME nptp ].

; <type val="np-hdn_nme-cpd_c">
; <description>Compound from two proper names   
; <ex>[Pat Browne] left.         
; <nex>
; <todo>
; </type>
np-hdn_nme-cpd_c := np_name_cmpnd_rule &
  [ RNAME npnm ].

; <type val="np-hdn_num-cpd_c">
; <description>Compound from noun+number        
; <ex>Do [problem 6] first.      
; <nex>
; <todo>
; </type>
np-hdn_num-cpd_c := np_num_cmpnd_rule &
  [ RNAME npno ].

; <type val="np-hdn_cty-cpd_c">
; <description>Compound from city+state names   
; <ex>[Portland, Oregon] grew.   
; <nex>
; <todo>
; </type>
np-hdn_cty-cpd_c := np_city_state_rule &
  [ RNAME npcs ].

; <type val="n-hdn_cpd_c">
; <description>Compound from two normal nouns   
; <ex>The [guard dog] barked.    
; <nex>
; <todo>
; </type>
n-hdn_cpd_c := noun_n_cmpnd_rule &
  [ RNAME nnc ].

; <type val="n-hdn_j-n-cpd_c">
; <description>Compound from noun+[adj+noun]    
; <ex>kitchen heavy appliance    
; <nex>
; <todo>
; </type>
n-hdn_j-n-cpd_c := noun_adjn_cmpnd_rule &
  [ RNAME nanc ].

;; DPF 2014-09-02 - This rule for |Fondsbu tourist lodge| is not yet constrained
;; enough to avoid spurious ambiguity in ordinary noun compounds, so comment out
;; for now.
;;
; <type val="n-hdn_ttl-cpd_c">
; <description>Compound from noun+posthd-title  
; <ex>at Bygdin [mountain lodge] 
; <nex>
; <todo>
; </type>
;n-hdn_ttl-cpd_c := noun_title_cmpnd_rule &
;  [ RNAME ntc ].

; <type val="n-v_j-cpd_c">
; <description>Compound from noun+prdverb       
; <ex>a [snow-covered] town      
; <nex>
; <todo>
; </type>
n-v_j-cpd_c := n_v_cmpnd_rule &
  [ RNAME nvc ].

; <type val="n-j_j-t-cpd_c">
; <description>Compound from noun+trans-adj     
; <ex>a [dog-happy] town         
; <nex>
; <todo>
; </type>
n-j_j-t-cpd_c := n_adj_cmpnd_rule &
  [ RNAME natc ].

; <type val="n-j_j-cpd_c">
; <description>Compound from noun+adj           
; <ex>a [dog-friendly] town      
; <nex>
; <todo>
; </type>
n-j_j-cpd_c := n_adj_intr_cmpnd_rule &
  [ RNAME naic ].

; <type val="j_n-ed_c">
; <description>Adj-phr from adj + noun+ed       
; <ex>the [long eared] dog       
; <nex>
; <todo>
; </type>
j_n-ed_c := n-adj_rule &
  [ RNAME ntoj ].

; <type val="hdn-np_app-pr_c">
; <description>Appositive fr.two NPs, w/commas  
; <ex>[Joe, the plumber,] spoke. 
; <nex>
; <todo>
; </type>
hdn-np_app-pr_c := appos_prpnct_rule &
  [ RNAME app ].

; <type val="hdn-np_app-r-pr_c">
; <description>Appositive, NP2 prop, w/commas   
; <ex>[the plumber, Joe,] spoke. 
; <nex>
; <todo>
; </type>
hdn-np_app-r-pr_c := appos_prpnct_pnr_rule &
  [ RNAME appr ].

; <type val="hdn-np_app-num_c">
; <description>Appositive, NP2 number           
; <ex>[Joe, 22,] spoke.          
; <nex>
; <todo>
; </type>
hdn-np_app-num_c := appos_prpnct_num_rule &
  [ RNAME apnm ].

; <type val="hdn-np_app_c">
; <description>Appositive NP from two NPs       
; <ex>[Joe the plumber] spoke.   
; <nex>
; <todo>
; </type>
hdn-np_app_c := appos_nopair_rule &
  [ RNAME appn ].

; <type val="hdn-np_app-r_c">
; <description>Appositive, NP2 prop, nopair     
; <ex>[The plumber Joe] spoke.   
; <nex>
; <todo>
; </type>
hdn-np_app-r_c := appos_nopair_pnr_rule &
  [ RNAME apnr ].

; <type val="hdn-np_app-idf_c">
; <description>Appositive with indef.NP modifr  
; <ex>[Joe, a plumber,] spoke.   
; <nex>
; <todo>
; </type>
hdn-np_app-idf_c := appos_indef_rule &
  [ RNAME appi ].

; <type val="hdn-np_app-idf-p_c">
; <description>Appositive, indef.NP, parnthszd  
; <ex>[Joe (a plumber)] spoke.   
; <nex>
; <todo>
; </type>
hdn-np_app-idf-p_c := appos_indef_paren_rule &
  [ RNAME apip ].

; <type val="hdn-np_app-nbr_c">
; <description>Appositive with N-bar modifier   
; <ex>Kim, president of the PTA  
; <nex>
; <todo>
; </type>
hdn-np_app-nbr_c := appos_nbar_rule &
  [ RNAME apnb ].

; <type val="np_adv_c">
; <description>Modifier phrase from NP          
; <ex>B arrived [this week.]     
; <nex>
; <todo>
; </type>
np_adv_c := npadv_mod_rule &
  [ RNAME nadv ].

; <type val="np_adv-yr_c">
; <description>Modifier phrase from year NP     
; <ex>Jan. 11 [2008] arrived.    
; <nex>
; <todo>
; </type>
np_adv-yr_c := npadv_yofc_rule &
  [ RNAME nadvy ].

; <type val="np_adv-mnp_c">
; <description>Modifier phrase from measure NP  
; <ex>Markets fell [50 points.]  
; <nex>
; <todo>
; </type>
np_adv-mnp_c := npadv_measnp_rule &
  [ RNAME nadvm ].

; <type val="hdn_np-num_c">
; <description>NP from number                   
; <ex>[700 billion] is too much. 
; <nex>
; <todo>
; </type>
hdn_np-num_c := num_noun_rule &
  [ RNAME numn ].

; <type val="n-n_num-seq_c">
; <description>NP from sequence of numbers      
; <ex>The number is [48 205 53.] 
; <nex>
; <todo>
; </type>
n-n_num-seq_c := num_noun_seq_rule &
  [ RNAME nseq ].

; <type val="hdn_color_c">
; <description>noun from color adjective        
; <ex>[Red] suits you.           
; <nex>
; <todo>
; </type>
hdn_color_c := color_noun_rule &
  [ RNAME ncol ].

; <type val="flr-hd_nwh_c">
; <description>Filler-head, non-wh filler       
; <ex>Kim, we should hire.       
; <nex>
; <todo>
; </type>
flr-hd_nwh_c := filler_head_rule_non_wh_edgen &
  [ RNAME fhne ].

; <type val="flr-hd_nwh-nc_c">
; <description>Fill-head, non-wh, no NP, no comma
; <ex>Today we should arrive.   
; <nex>
; <todo>
; </type>
flr-hd_nwh-nc_c := filler_head_rule_non_wh_infgen &
  [ RNAME fhni ].

;; For fronted NPs, if no comma, then exclude imperative, to avoid spurious
;; analysis of |you work|
; <type val="flr-hd_nwh-nc-np_c">
; <description>Fill-head, non-wh, NP, no comma  
; <ex>Kim we should hire.        
; <nex>
; <todo>
; </type>
flr-hd_nwh-nc-np_c := filler_head_rule_non_wh_np &
  [ RNAME fhnn ].

; <type val="flr-hd_wh-mc_c">
; <description>Fill-head, wh non-subj, main cl  
; <ex>Who did they hire?         
; <nex>
; <todo>
; </type>
flr-hd_wh-mc_c := filler_head_rule_wh_root &
  [ RNAME fhw ].

; <type val="flr-hd_wh-mc-sb_c">
; <description>Fill-head, wh subj, main cl      
; <ex>Who left?                  
; <nex>
; <todo>
; </type>
flr-hd_wh-mc-sb_c := filler_head_rule_wh_subj &
  [ RNAME fhs ].

; <type val="flr-hd_wh-nmc-fin_c">
; <description>Fill-head, wh, fin hd, embed cl  
; <ex>B wondered [who won.]      
; <nex>
; <todo>
; </type>
flr-hd_wh-nmc-fin_c := filler_head_rule_wh_nr_fin &
  [ RNAME fhf ].

; <type val="flr-hd_wh-nmc-inf_c">
; <description>Fill-head, wh, inf hd, embed cl  
; <ex>B knew [who to hire.]      
; <nex>
; <todo>
; </type>
flr-hd_wh-nmc-inf_c := filler_head_rule_wh_nr_inf &
  [ RNAME fhi ].

; <type val="flr-hd_rel-fin_c">
; <description>Fill-head, finite, relative cls  
; <ex>people [who slept]         
; <nex>
; <todo>
; </type>
flr-hd_rel-fin_c := filler_head_fin_rule_rel &
  [ RNAME fhr ].

; <type val="flr-hd_rel-inf_c">
; <description>Fill-head, inf, relative cls     
; <ex>people [on whom to rely]   
; <nex>
; <todo>
; </type>
flr-hd_rel-inf_c := filler_head_inf_rule_rel &
  [ RNAME fhri ].

; <type val="hd-cl_fr-rel_c">
; <description>Free relative clause             
; <ex>We run whenever Kim runs.  
; <nex>
; <todo>
; </type>
hd-cl_fr-rel_c := free_rel_rule &
  [ RNAME frf ].

; <type val="vp-vp_crd-fin-t_c">
; <description>Conjnd VP, fin, top              
; <ex>B [sees C and chases D.]   
; <nex>
; <todo>
; </type>
vp-vp_crd-fin-t_c := vp_coord_fin_top_phr &
  [ RNAME ctvpf ].

; <type val="vp-vp_crd-fin-m_c">
; <description>Conjnd VP, fin, mid              
; <ex>B rose, [sang, & chased D.]
; <nex>
; <todo>
; </type>
vp-vp_crd-fin-m_c := vp_coord_fin_mid_eg_phr &
  [ RNAME cmvpf ].

; <type val="vp-vp_crd-fin-im_c">
; <description>Conjnd VP, fin, mid, no comma    
; <ex>B rose [sang & chased D.]  
; <nex>
; <todo>
; </type>
vp-vp_crd-fin-im_c := vp_coord_fin_mid_ig_phr &
  [ RNAME cmfpi ].

; <type val="vp-vp_crd-nfin-t_c">
; <description>Conjnd VP, nonfin, top           
; <ex>B'll [see C and chase D.]  
; <nex>
; <todo>
; </type>
vp-vp_crd-nfin-t_c := vp_coord_nonfin_top_phr &
  [ RNAME ctvpn ].

; <type val="vp-vp_crd-nfin-m_c">
; <description>Conjnd VP, nonfin, mid           
; <ex>B'll rise, [sing, & see D.]
; <nex>
; <todo>
; </type>
vp-vp_crd-nfin-m_c := vp_coord_nonfin_mid_eg_phr &
  [ RNAME cmvpn ].

; <type val="vp-vp_crd-nfin-im_c">
; <description>Conjnd VP, nonfin, mid, no comma 
; <ex>B'll rise [sing & see D.]  
; <nex>
; <todo>
; </type>
vp-vp_crd-nfin-im_c := vp_coord_nonfin_mid_ig_phr &
  [ RNAME cmvpi ].

; <type val="v-v_crd-fin-ncj_c">
; <description>Conjnd V,VP, fin, no conjunctn   
; <ex>B [sees C, chases D.]      
; <nex>
; <todo>
; </type>
v-v_crd-fin-ncj_c := v_coord_fin_top_noconj_phr &
  [ RNAME ctvr ].

; <type val="v-v_crd-nfin-ncj_c">
; <description>Conjnd V,VP, nonfin, no conjunctn
; <ex>B will [see C, chase D.]   
; <nex>
; <todo>
; </type>
v-v_crd-nfin-ncj_c := v_coord_nonfin_top_noconj_phr &
  [ RNAME ctvrn ].

; <type val="cl-cl_crd-t_c">
; <description>Conjoined clauses, non-int, top  
; <ex>B sang and C danced.       
; <nex>
; <todo>
; </type>
cl-cl_crd-t_c := s_coord_top_phr &
  [ RNAME cts ].

; <type val="cl-cl_crd-int-t_c">
; <description>Conjnd clauses, interrog, top    
; <ex>Who sang and who danced?   
; <nex>
; <todo>
; </type>
cl-cl_crd-int-t_c := s_coord_int_top_phr &
  [ RNAME ctsq ].

; <type val="cl-cl_crd-m_c">
; <description>Conjoined clauses, mid           
; <ex>B sang, [C ran, & D sat.]  
; <nex>
; <todo>
; </type>
cl-cl_crd-m_c := s_coord_mid_eg_phr &
  [ RNAME cmse ].

; <type val="cl-cl_crd-im_c">
; <description>Conjoined clauses, no cma, mid   
; <ex>B sang, [C ran & D sat.]   
; <nex>
; <todo>
; </type>
cl-cl_crd-im_c := s_coord_mid_ig_phr &
  [ RNAME cmsi ].

; <type val="cl-cl_crd-rc-t_c">
; <description>Conjoined relative clauses       
; <ex>people [who fly & who run] 
; <nex>
; <todo>
; </type>
cl-cl_crd-rc-t_c := relcl_coord_top_phr &
  [ RNAME ctrt ].

; <type val="pp-pp_crd-t_c">
; <description>Conjnd PP, top                   
; <ex>B is [in Paris and at work]
; <nex>
; <todo>
; </type>
pp-pp_crd-t_c := pp_coord_top_phr &
  [ RNAME ctpp ].

; <type val="pp-pp_crd-m_c">
; <description>Conjnd PP, mid                   
; <ex>B's [here, in P, & at work]
; <nex>
; <todo>
; </type>
pp-pp_crd-m_c := pp_coord_mid_eg_phr &
  [ RNAME cmpp ].

; <type val="pp-pp_crd-im_c">
; <description>Conjnd PP, mid, no comma         
; <ex>B's [here, in P & at work] 
; <nex>
; <todo>
; </type>
pp-pp_crd-im_c := pp_coord_mid_ig_phr &
  [ RNAME cmppi ].

; <type val="np-np_crd-t_c">
; <description>Conjoined noun phrases, top      
; <ex>[The cat and the dog] ran. 
; <nex>
; <todo>
; </type>
np-np_crd-t_c := np_coord_top_eg_rule &
  [ RNAME ctnp ].

; <type val="np-np_crd-i-t_c">
; <description>Conjoined accus-case pro and NP  
; <ex>[Me and Kim] left.         
; <nex>
; <todo>
; </type>
np-np_crd-i-t_c := np_coord_top_ig1_rule &
  [ RNAME ctnp1 ].

; <type val="np-np_crd-i2-t_c">
; <description>Conjoined NP and accus-case pro  
; <ex>[Kim and me] left.         
; <nex>
; <todo>
; </type>
np-np_crd-i2-t_c := np_coord_top_ig2_rule &
  [ RNAME ctnp2 ].

; <type val="np-np_crd-i3-t_c">
; <description>Conjoined NP and nom-case pro    
; <ex>B saw [Kim and I].         
; <nex>
; <todo>
; </type>
np-np_crd-i3-t_c := np_coord_top_ig3_rule &
  [ RNAME ctnp3 ].

; <type val="np-np_crd-m_c">
; <description>Conjoined noun phrases, mid      
; <ex>Kim, [Pat, and Tom] ran.   
; <nex>
; <todo>
; </type>
np-np_crd-m_c := np_coord_mid_eg_rule &
  [ RNAME cmne ].

; <type val="np-np_crd-im_c">
; <description>Conjoined NPs, no comma, mid     
; <ex>Kim, [Pat and Tom] ran.    
; <nex>
; <todo>
; </type>
np-np_crd-im_c := np_coord_mid_ig_rule &
  [ RNAME cmni ].

; <type val="np-np_crd-nc-m_c">
; <description>Conjoined NPs, no comma, mid     
; <ex>Buy books, [tapes, films.] 
; <nex>
; <todo>
; </type>
np-np_crd-nc-m_c := np_coord_mid_noconj_rule &
  [ RNAME cmnn ].

; <type val="n-n_crd-nc-m_c">
; <description>Conjoined nouns, no comma, mid   
; <ex>Buy a book, [tape, film.]  
; <nex>
; <todo>
; </type>
n-n_crd-nc-m_c := nbar_coord_mid_noconj_rule &
  [ RNAME cmnb ].

; <type val="np-np_crd-nc-t_c">
; <description>Conjoined NPs, no comma, top     
; <ex>Buy [tapes, films.]        
; <nex>
; <todo>
; </type>
np-np_crd-nc-t_c := np_coord_top_noconj_rule &
  [ RNAME ctnn ].

; <type val="n-n_crd-t_c">
; <description>Conjnd Ns, sym agr, nondiv, top  
; <ex>The [cat and dog] ran.     
; <nex>
; <todo>
; </type>
n-n_crd-t_c := nbar_coord_top_1_nondiv_rule &
  [ RNAME ctn ].

; <type val="n-n_crd-div-t_c">
; <description>Conjnd Ns, sym agr, div, top     
; <ex>The [cats and dogs] ran.   
; <nex>
; <todo>
; </type>
n-n_crd-div-t_c := nbar_coord_top_1_div_rule &
  [ RNAME ctnd ].

; <type val="n-n_crd-2-t_c">
; <description>Conjnd Ns, sym agr, nondiv, top  
; <ex>The [cat and dog] ran.     
; <nex>
; <todo>
; </type>
n-n_crd-2-t_c := nbar_coord_top_2_rule &
  [ RNAME ctn2 ].

; <type val="n-n_crd-3-t_c">
; <description>Conjnd Ns, single referent, top  
; <ex>My [friend and guide] ran. 
; <nex>
; <todo>
; </type>
n-n_crd-3-t_c := nbar_coord_top_3_rule &
  [ RNAME ctn3 ].

; <type val="n-n_crd-m_c">
; <description>Conjoined N-bars, mid            
; <ex>No cat, [dog, or rat] ran. 
; <nex>
; <todo>
; </type>
n-n_crd-m_c := nbar_coord_mid_eg_rule &
  [ RNAME cmen ].

; <type val="n-n_crd-im_c">
; <description>Conjoined N-bars, no comma, mid  
; <ex>No cat, [dog or rat] ran.  
; <nex>
; <todo>
; </type>
n-n_crd-im_c := nbar_coord_mid_ig_rule &
  [ RNAME cmin ].

; <type val="n-n_crd-asym-t_c">
; <description>Conjnd Ns, asym agr, sg+pl, top  
; <ex>The [cat and dogs] ran.    
; <nex>
; <todo>
; </type>
n-n_crd-asym-t_c := nbar_coord_asym_top_rule &
  [ RNAME ctna ].

; <type val="n-n_crd-asym2-t_c">
; <description>Conjnd Ns, asym agr, pl+sg, top  
; <ex>The [cats and dog] ran.    
; <nex>
; <todo>
; </type>
n-n_crd-asym2-t_c := nbar_coord_asym_top_2_rule &
  [ RNAME ctnb ].

; <type val="j-n_crd-t_c">
; <description>Conjoined adjective + noun       
; <ex>[wooden and marble] stairs 
; <nex>
; <todo>
; </type>
j-n_crd-t_c := adj_noun_coord_rule &
  [ RNAME ctjn ].

; <type val="n-j_crd-t_c">
; <description>Conjoined noun +adjective        
; <ex>[marble and wooden] stairs 
; <nex>
; <todo>
; </type>
n-j_crd-t_c := noun_adj_coord_rule &
  [ RNAME ctnj ].

; <type val="j-j_crd-att-t_c">
; <description>Conjnd attrib adjectives, top    
; <ex>the [old and young] cats   
; <nex>
; <todo>
; </type>
j-j_crd-att-t_c := adj_attr_coord_top_phr &
  [ RNAME ctaa ].

; <type val="j-j_crd-prd-t_c">
; <description>Conjnd pred adjs, top            
; <ex>B is [young and tall].     
; <nex>
; <todo>
; </type>
j-j_crd-prd-t_c := adj_pred_coord_top_phr &
  [ RNAME ctap ].

; <type val="j-j_crd-prd-m_c">
; <description>Conjnd pred adjs, mid            
; <ex>B is old, [big, and tall]. 
; <nex>
; <todo>
; </type>
j-j_crd-prd-m_c := adj_pred_coord_mid_eg_phr &
  [ RNAME cmea ].

; <type val="j-j_crd-prd-im_c">
; <description>Conjnd pred adjs, no comma, mid  
; <ex>B is old, [big and tall].  
; <nex>
; <todo>
; </type>
j-j_crd-prd-im_c := adj_pred_coord_mid_ig_phr &
  [ RNAME cmia ].

; <type val="jpr-jpr_crd-t_c">
; <description>Conjnd subord prd phr, adj, top  
; <ex>B ran, [happy but tired.]  
; <nex>
; <todo>
; </type>
jpr-jpr_crd-t_c := ap_predp_coord_top_phr &
  [ RNAME ctax ].

; <type val="jpr-jpr_crd-m_c">
; <description>Conjnd subord prd phr, adj, mid  
; <ex>B ran, hot, [fit, and low] 
; <nex>
; <todo>
; </type>
jpr-jpr_crd-m_c := ap_predp_coord_mid_eg_phr &
  [ RNAME cmax ].

; <type val="jpr-jpr_crd-im_c">
; <description>Conjnd sbrd phr, adj,no-cma, mid 
; <ex>B ran, hot, [fit and low.] 
; <nex>
; <todo>
; </type>
jpr-jpr_crd-im_c := ap_predp_coord_mid_ig_phr &
  [ RNAME cmay ].

; <type val="jpr-vpr_crd-t_c">
; <description>Conjnd sbrd prd phr, adj,V, top  
; <ex>B ran, [happy and freed.]  
; <nex>
; <todo>
; </type>
jpr-vpr_crd-t_c := ap_vp_predp_coord_top_phr &
  [ RNAME ctav ].

; <type val="jpr-vpr_crd-m_c">
; <description>Conjnd sbrd prd phr, adj,V, mid  
; <ex>B ran, hot, [fit, and lit.]
; <nex>
; <todo>
; </type>
jpr-vpr_crd-m_c := ap_vp_predp_coord_mid_eg_phr &
  [ RNAME cmav ].

; <type val="jpr-vpr_crd-im_c">
; <description>Conjnd sbd phr, adj,V,no-cma, mid
; <ex>B ran, hot, [fit and lit.] 
; <nex>
; <todo>
; </type>
jpr-vpr_crd-im_c := ap_vp_predp_coord_mid_ig_phr &
  [ RNAME cmaz ].

; <type val="vppr-vppr_crd-t_c">
; <description>Conjnd subord prd phr, VP, top   
; <ex>B ran, [feared and loved.] 
; <nex>
; <todo>
; </type>
vppr-vppr_crd-t_c := vp_predp_coord_top_phr &
  [ RNAME ctvpx ].

; <type val="vppr-vppr_crd-m_c">
; <description>Conjnd subord prd phr, VP, mid   
; <ex>B ran, torn, [bent, & cut] 
; <nex>
; <todo>
; </type>
vppr-vppr_crd-m_c := vp_predp_coord_mid_eg_phr &
  [ RNAME cmvpx ].

; <type val="vppr-vppr_crd-im_c">
; <description>Conjnd sbrd phr, VP, no-cma, mid 
; <ex>B ran, torn, [bent & cut.] 
; <nex>
; <todo>
; </type>
vppr-vppr_crd-im_c := vp_predp_coord_mid_ig_phr &
  [ RNAME cmvpy ].

; <type val="ppr-ppr_crd-t_c">
; <description>Conjnd sbrd prd phr, PP+XP, top  
; <ex>B ran, [in Rome but lost.] 
; <nex>
; <todo>
; </type>
ppr-ppr_crd-t_c := pp_predp_coord_top_phr &
  [ RNAME ctpx ].

; <type val="ppr-ppr_crd-m_c">
; <description>Conjnd sbrd prd phr, PP+XP, mid  
; <ex>B ran, sad, [in R, & lost] 
; <nex>
; <todo>
; </type>
ppr-ppr_crd-m_c := pp_predp_coord_mid_eg_phr &
  [ RNAME cmpx ].

; <type val="ppr-ppr_crd-im_c">
; <description>Conjnd sbrd PP+XP, no-cma, mid   
; <ex>B ran, sad, [in R & lost]  
; <nex>
; <todo>
; </type>
ppr-ppr_crd-im_c := pp_predp_coord_mid_ig_phr &
  [ RNAME cmpy ].

; <type val="hd_imp_c">
; <description>Imperative clause from base VP   
; <ex>Hire Browne!               
; <nex>
; <todo>
; </type>
hd_imp_c := imperative_mc_rule &
  [ RNAME imp ].

; <type val="hd_yesno_c">
; <description>Yes-no question from inverted S  
; <ex>Did B arrive?              
; <nex>
; <todo>
; </type>
hd_yesno_c := yesno_rule &
  [ RNAME ync ].

; <type val="hd_inv-nwh_c">
; <description>Inverted non-wh declarative cls  
; <ex>Never [has B won here.]    
; <nex>
; <todo>
; </type>
hd_inv-nwh_c := inv_decl_rule &
  [ RNAME idc ].

; <type val="num-n_mnp_c">
; <description>Measure NP from number+noun      
; <ex>A [two liter] jar broke.   
; <nex>
; <todo>
; </type>
num-n_mnp_c := measure_np_rule &
  [ RNAME mnp ].

; <type val="n-num_mnp_c">
; <description>Measure NP from meas-symbol+num  
; <ex>We dislike [$6] fuel.      
; <nex>
; <todo>
; </type>
n-num_mnp_c := measure_np_symbol_rule &
  [ RNAME mnps ].

; <type val="n_mnp_c">
; <description>Measure NP from bare noun        
; <ex>This road is [miles] long. 
; <nex>
; <todo>
; </type>
n_mnp_c := bare_measure_np_rule &
  [ RNAME mnpb ].

; <type val="mnp_deg_c">
; <description>Deg phrase fr meas NP, attrib    
; <ex>The [5 meter] tall tree fell.
; <nex>
; <todo>
; </type>
mnp_deg_c := meas_np_degadv_attr_rule &
  [ RNAME mnda ].

; <type val="mnp_deg-prd_c">
; <description>Deg phrase fr meas NP, predic    
; <ex>Trees are [5 meters] tall. 
; <nex>
; <todo>
; </type>
mnp_deg-prd_c := meas_np_degadv_pred_rule &
  [ RNAME mndp ].

; <type val="num_prt-nc_c">
; <description>Partitive NP fr.number, no cmp   
; <ex>[Six] were sleeping.       
; <nex>
; <todo>
; </type>
num_prt-nc_c := partitive_num_nocomp_rule &
  [ RNAME pnn ].

; <type val="num_prt-of_c">
; <description>Partitive fr.number, of_PP cmp   
; <ex>[Six] of them slept.       
; <nex>
; <todo>
; </type>
num_prt-of_c := partitive_num_ppof_rule &
  [ RNAME pno ].

; <type val="num_prt-det-nc_c">
; <description>Partitive fr.det+number, no cmp  
; <ex>[These six] slept.         
; <nex>
; <todo>
; </type>
num_prt-det-nc_c := partitive_intadj_nocomp_rule &
  [ RNAME pnan ].

; <type val="num_prt-det-of_c">
; <description>Partitive fr.det+num, of-PP cmp  
; <ex>[The first of them] left.  
; <nex>
; <todo>
; </type>
num_prt-det-of_c := partitive_intadj_ppof_rule &
  [ RNAME pnac ].

; <type val="cl_np-wh_c">
; <description>NP from WH clause                
; <ex>[What he saw] scared him.  
; <nex>
; <todo>
; </type>
cl_np-wh_c := np_cp_wh_rule &
  [ RNAME npsq ].

; <type val="vp_cp-sb_c">
; <description>VP requiring non-WH clausal subj 
; <ex>That B won [bothered C.]   
; <nex>
; <todo>
; </type>
vp_cp-sb_c := cp_subj_rule &
  [ RNAME cpsb ].

; <type val="vp_cp-sb-inf_c">
; <description>VP requiring non-WH inf.cls subj 
; <ex>For B to win [bothered C.] 
; <nex>
; <todo>
; </type>
vp_cp-sb-inf_c := cp_subj_inf_rule &
  [ RNAME cpsi ].

; <type val="vp_np-ger_c">
; <description>NP from verbal gerund            
; <ex>Winning money [pleased C.] 
; <nex>
; <todo>
; </type>
vp_np-ger_c := vgerund_rule &
  [ RNAME vger ].

; <type val="np_prt-poss_c">
; <description>Partitive fr. possessive NP      
; <ex>[The cat's] is empty.      
; <nex>
; <todo>
; </type>
np_prt-poss_c := partitive_np_rule &
  [ RNAME npp ].

; <type val="np_voc-post_c">
; <description>Vocative modifier fr.NP, postmod 
; <ex>Where are we, [Kim?]       
; <nex>
; <todo>
; </type>
np_voc-post_c := vocative_np_rule &
  [ RNAME npv ].

; <type val="np_voc-pre_c">
; <description>Vocative modifier, premod        
; <ex>[Kim,] where are we?       
; <nex>
; <todo>
; </type>
np_voc-pre_c := vocative_np_lmod_rule &
  [ RNAME npvl ].

; <type val="num_det_c">
; <description>Determiner from number           
; <ex>[Ten cats] slept.          
; <nex>
; <todo>
; </type>
num_det_c := num_det_rule &
  [ RNAME numd ].

; <type val="hd-hd_rnr_c">
; <description>Right-node raising, VP           
; <ex>B admires and relies on C  
; <nex>
; <todo>
; </type>
hd-hd_rnr_c := right_node_raise_vp_rule &
  [ RNAME rnrv ].

; <type val="hd-hd_rnr-nv_c">
; <description>Right-node raising, not VP       
; <ex>B is under or replaced by C
; <nex>
; <todo>
; </type>
hd-hd_rnr-nv_c := right_node_raise_nonvp_rule &
  [ RNAME rnro ].

; <type val="np_frg_c">
; <description>Fragment NP                      
; <ex>The cat.                   
; <nex>
; <todo>
; </type>
np_frg_c := frag_np_rule &
  [ RNAME frnp ].

; <type val="np_cnj-frg_c">
; <description>Fragment conj+NP                 
; <ex>And the cat.               
; <nex>
; <todo>
; </type>
np_cnj-frg_c := frag_np_conj_rule &
  [ RNAME frnpc ].

; <type val="np_nb-frg_c">
; <description>Fragment N-bar                   
; <ex>Angry cat.                 
; <nex>
; <todo>
; </type>
np_nb-frg_c := frag_nbar_rule &
  [ RNAME frnb ].

; <type val="pp_frg_c">
; <description>Fragment PP                      
; <ex>In Paris.                  
; <nex>
; <todo>
; </type>
pp_frg_c := frag_pp_ind_rule &
  [ RNAME frpi ].

; <type val="j_frg_c">
; <description>Fragment adjective phrase        
; <ex>Angry at dogs.             
; <nex>
; <todo>
; </type>
j_frg_c := frag_adj_rule &
  [ RNAME frj ].

; <type val="r_scp-frg_c">
; <description>Fragment scopal adverb phrase    
; <ex>Probably.                  
; <nex>
; <todo>
; </type>
r_scp-frg_c := frag_adv_rule &
  [ RNAME frr ].

; <type val="r_int-frg_c">
; <description>Fragment intersective adverb     
; <ex>Quietly.                   
; <nex>
; <todo>
; </type>
r_int-frg_c := frag_int_adv_rule &
  [ RNAME frri ].

; <type val="r_dsc-frg_c">
; <description>Fragment discourse adverb        
; <ex>Yes.                       
; <nex>
; <todo>
; </type>
r_dsc-frg_c := frag_dadv_rule &
  [ RNAME frrd ].

; <type val="r_cl-frg_c">
; <description>Fragment clausal adverb          
; <ex>Because we left.           
; <nex>
; <todo>
; </type>
r_cl-frg_c := frag_sent_adv_rule &
  [ RNAME frrc ].

; <type val="cl_cnj-frg_c">
; <description>Fragment clause with conjunctn   
; <ex>And Kim stayed.            
; <nex>
; <todo>
; </type>
cl_cnj-frg_c := frag_sent_conj_rule &
  [ RNAME frsc ].

; <type val="vp_fin-frg_c">
; <description>Fragment finite VP               
; <ex>Chases cats.               
; <nex>
; <todo>
; </type>
vp_fin-frg_c := frag_vp_fin_rule &
  [ RNAME frvp ].

; <type val="vp_nfin-frg_c">
; <description>Fragment nonfinite VP            
; <ex>To chase cats.             
; <nex>
; <todo>
; </type>
vp_nfin-frg_c := frag_vp_nonfin_rule &
  [ RNAME frvn ].

; <type val="cl_cp-frg_c">
; <description>Fragment embedded clause         
; <ex>That it chases cats.       
; <nex>
; <todo>
; </type>
cl_cp-frg_c := frag_sbar_rule &
  [ RNAME frsb ].

; <type val="cl_rel-frg_c">
; <description>Fragment relative cluase         
; <ex>Which we assumed.          
; <nex>
; <todo>
; </type>
cl_rel-frg_c := frag_relcl_rule &
  [ RNAME frsr ].

; <type val="aj-np_frg_c">
; <description>Fragment scopal modifier + NP    
; <ex>Probably Browne.           
; <nex>
; <todo>
; </type>
aj-np_frg_c := frag_l_mod_s_np_rule &
  [ RNAME frln ].

; <type val="aj-np_int-frg_c">
; <description>Fragment intersctv modif + NP    
; <ex>On Tuesday, the cat.       
; <nex>
; <todo>
; </type>
aj-np_int-frg_c := frag_l_mod_i_np_rule &
  [ RNAME frli ].

; <type val="aj-pp_frg_c">
; <description>Fragment scopal modif + PP       
; <ex>Probably in Paris.         
; <nex>
; <todo>
; </type>
aj-pp_frg_c := frag_l_mod_pp_rule &
  [ RNAME frlp ].

; <type val="aj-r_frg_c">
; <description>Fragment scopal mod + adverbial  
; <ex>Maybe, if we can.          
; <nex>
; <todo>
; </type>
aj-r_frg_c := frag_l_mod_adv_rule &
  [ RNAME frlr ].

; <type val="np-aj_frg_c">
; <description>Fragment NP + scopal modifier    
; <ex>The cats, probably.        
; <nex>
; <todo>
; </type>
np-aj_frg_c := frag_r_mod_np_rule &
  [ RNAME frrn ].

; <type val="np-aj_rorp-frg_c">
; <description>Fragment NP + PP or intsctv adv  
; <ex>Many problems afterwards.  
; <nex>
; <todo>
; </type>
np-aj_rorp-frg_c := frag_r_mod_np_i_rule &
  [ RNAME frni ].

; <type val="np-aj_j-frg_c">
; <description>Fragment NP + adjective phrase   
; <ex>Pizza ready.               
; <nex>
; <todo>
; </type>
np-aj_j-frg_c := frag_r_mod_np_adj_rule &
  [ RNAME frra ].

; <type val="nb-aj_frg_c">
; <description>Fragment N-bar + scopal modif    
; <ex>Cat : a feline.            
; <nex>
; <todo>
; </type>
nb-aj_frg_c := frag_r_mod_nbar_rule &
  [ RNAME frrb ].

; <type val="pp-aj_frg_c">
; <description>Fragment PP + scopal modifier    
; <ex>In Paris before we left.   
; <nex>
; <todo>
; </type>
pp-aj_frg_c := frag_r_mod_scop_pp_rule &
  [ RNAME frrs ].

; <type val="j-aj_frg_c">
; <description>Fragment adjectv + scopal modif  
; <ex>Unhappy if they leave.     
; <nex>
; <todo>
; </type>
j-aj_frg_c := frag_r_mod_ap_rule &
  [ RNAME frrj ].

; <type val="hdn-cl_prnth_c">
; <description>NomHd + parenthetical clause     
; <ex>[Cats (they snore)] slept. 
; <nex>
; <todo>
; </type>
hdn-cl_prnth_c := paren_float_s_rule &
  [ RNAME pfls ].

; <type val="hdn-n_prnth_c">
; <description>NomHd + parenthetical N-bar      
; <ex>[Some guy (democrat)] ran. 
; <nex>
; <todo>
; </type>
hdn-n_prnth_c := paren_float_nbar_rule &
  [ RNAME pfln ].

; <type val="hdn-cl_dsh_c">
; <description>NomHd + dash-marked clause       
; <ex>[Cats - they snore - ] ran.
; <nex>
; <todo>
; </type>
hdn-cl_dsh_c := dash_float_s_rule &
  [ RNAME dfls ].

; <type val="np-prdp_vpmod_c">
; <description>Modifier from pred.small clause  
; <ex>We ran, [Kim petrified].   
; <nex>
; <todo>
; </type>
np-prdp_vpmod_c := np_pred_rule &
  [ RNAME nppd ].

; <type val="hd-pct_c">
; <description>Head + punctuation token         
; <ex>B [arrived -] C left.      
; <nex>
; <todo>
; </type>
hd-pct_c := punct_marker_hinit_rule &
  [ RNAME pthi ].

; <type val="cl-cl_runon_c">
; <description>Run-on sentence w/two clauses    
; <ex>B arrived; C left.         
; <nex>
; <todo>
; </type>
cl-cl_runon_c := run_on_coord_rule &
  [ RNAME sns ].

; <type val="cl-cl_runon-cma_c">
; <description>Run-on sentence, comma-joined    
; <ex>B arrived, C left.         
; <nex>
; <todo>
; </type>
cl-cl_runon-cma_c := run_on_coord_comma_rule &
  [ RNAME snsc ].

; <type val="cl-np_runon_c">
; <description>Run-on sentence fr.clause + NP   
; <ex>B arrived; disaster.       
; <nex>
; <todo>
; </type>
cl-np_runon_c := run_on_np_rule &
  [ RNAME frsn ].

; <type val="cl-np_runon-prn_c">
; <description>Run-on S fr.clause + parenth NP  
; <ex>B arrived (disaster).      
; <nex>
; <todo>
; </type>
cl-np_runon-prn_c := run_on_np_paren_rule & 
  [ RNAME fsnp ].

; <type val="np-cl_numitem_c">
; <description>Num+sentence                     
; <ex>2. Browne arrived.         
; <nex>
; <todo>
; </type>
np-cl_numitem_c := npnum_s_rule &
  [ RNAME nums ].

; <type val="np-cl_indef_c">
; <description>IndefNP+sentence                 
; <ex>A fool, Browne left.       
; <nex>
; <todo>
; </type>
np-cl_indef_c := npindef_s_rule &
  [ RNAME nis ].

; <type val="cl-rc_c">
; <description>VP-final relative clause         
; <ex>It rained, which surprised C.
; <nex>
; <todo>
; </type>
cl-rc_c := vp-final-relcl_phrase &
  [ RNAME src ].

; <type val="w-w_fw-seq-m_c">
; <description>Seq. of italic/foreign wds, mid  
; <ex>[amo amas] amat            
; <nex>
; <todo>
; </type>
w-w_fw-seq-m_c := fw_seq_l_rule &
  [ RNAME fsql ].

; <type val="w-w_fw-seq-t_c">
; <description>NP fr.seq.of italic/foreign wds  
; <ex>[[amo amas] amat]          
; <nex>
; <todo>
; </type>
w-w_fw-seq-t_c := fw_seq_r_rule &
  [ RNAME fsqr ].

;;
;; disabled in the LKB, by virtue of temporary expedient *parse-ignore-rules*
;;
; <type val="xp_brck-pr_c">
; <description>Paired bracketed phrase          
; <ex>The \[sun-drenched\] cat   
; <nex>
; <todo>
; </type>
xp_brck-pr_c := paired_bracket_rule &
  [ RNAME anti_ctype ].

;;
;; Added unary and binary bridging rules for robust full-forest treebanking
;;
#|
; <type val="xp-xp_bridge_c">
; <description>Robust binary bridging rule      
; <ex>[We admire B] [admires C]  
; <nex>
; <todo>
; </type>
xp-xp_bridge_c := bridge_binary_phrase &
  [ RNAME xxbb ].

; <type val="xp_bridge_c">
; <description>Robust unary bridging rule       
; <ex>We admire B   [admires C]  
; <nex>
; <todo>
; </type>
xp_bridge_c := bridge_unary_phrase &
  [ RNAME xxbu ].
|#