; Grammar for Tag Sequences (CLAWS2, SEC/Susanne) @C Ted Briscoe, 10/95
; Subcategorised verbs version, heavy-shift (_hs) rules commented out

FEATURE N{+, -}
FEATURE V{+, -}
FEATURE BAR{0, 1, 2}
FEATURE H{+, -}
FEATURE MINOR{DET, COMP, DEG, PRT, CONJ, INTERJ, NOT}
FEATURE PLU{+, -}
FEATURE POSS{+, -}
FEATURE NTYPE{PRO, REFL, NAME, NORM, PART, THERE, NUM, DIR, TIT, PRETIT, 
   POSTTIT, TEMP, MEAS, POSS, PLACE}
FEATURE ATYPE{ATT, PRD, POST, CAT, NUM, XCOMP, DG, PLACE}
FEATURE AFORM{ER, EST, NONE}
FEATURE VSUBCAT{SFIN, SCOMP, SINF, SING, SING_PP, VPINF, VPING, VPING_PP, VPPRT, VPBSE, 
NP, NP_NP,
NP_PP, NP_WHPP, NP_PPOF, NP_PP_PP, NP_AP, NP_SCOMP, NP_NP_SCOMP, PP, WHPP, PP_PP, 
PP_WHPP, PP_SCOMP, PP_WHS, PP_WHVP, PP_VPINF, PP_AP, AP, NONE}
FEATURE PSUBCAT{SFIN, SCOMP, SINF, SING, NP, PP, AP, VPINF, VPING, VPPRT, WHS, NONE}
FEATURE PFORM{FOR, FORS, OF, WITH, WITHOUT, WH, THAN, AS, PREP, PREPS}
FEATURE PRT{+, -}
FEATURE ADJ{+, -}
FEATURE CJTYPE{BEGIN, END}
FEATURE WH{+, -}
FEATURE ADV{+, -}
FEATURE MOD{+, -}
FEATURE AUX{TO, BE, HAVE, DO, MODAL, CAT, -}
FEATURE VFORM{BSE, INF, ING, PPART, PAST, PRES}
FEATURE INV{+, -}
FEATURE FIN{+, -}
FEATURE CONJ{+, -}
FEATURE T{+}
FEATURE PUNCT{comma, semicolon, colon, period, exmark, qumark, quote, dash, 
   lbrack, rbrack}
FEATURE SCOLON{+, -}
FEATURE COLON{+, -}
FEATURE DASH{+, -}
FEATURE TA{+, -}
FEATURE BAL{+, B, E}
FEATURE BRACK{+, -}
FEATURE COMMA{+, -}
FEATURE TXTCAT{UNIT, ADJUNCT}

FEATURE TXT{CL, PH}

SET VHEAD = {N, V, PLU, VFORM, AUX, FIN, CONJ}
SET NHEAD = {N, V, PLU, NTYPE, CONJ, POSS}
SET PHEAD = {N, V, PFORM, CONJ, ADJ}
SET AHEAD = {N, V, AFORM, ATYPE, ADV, CONJ, MOD}
SET PUNCTS = {SCOLON, COLON, DASH, COMMA, BRACK}

ALIAS V2 = [V +, N -, BAR 2, TXTCAT UNIT, TXT CL].
ALIAS V1 = [V +, N -, BAR 1].
ALIAS V0 = [V +, N -, BAR 0].
ALIAS N2 = [V -, N +, BAR 2, TXTCAT UNIT, TXT PH].
ALIAS N1 = [V -, N +, BAR 1, TXTCAT UNIT, TXT PH].
ALIAS N0 = [V -, N +, BAR 0].
ALIAS P2 = [V -, N -, BAR 2].
ALIAS P1 = [V -, N -, BAR 1].
ALIAS P0 = [V -, N -, BAR 0].
ALIAS A2 = [V +, N +, BAR 2].
ALIAS A1 = [V +, N +, BAR 1].
ALIAS A0 = [V +, N +, BAR 0].
ALIAS H2 = [H +, BAR 2].
ALIAS H1 = [H +, BAR 1].
ALIAS H0 = [H +, BAR 0].
ALIAS DT = [MINOR DET].
ALIAS CP = [MINOR COMP].
ALIAS DG = [MINOR DEG].
ALIAS PT = [MINOR PRT].
ALIAS CJ = [MINOR CONJ].
ALIAS IJ = [MINOR INTERJ].
ALIAS NG = [MINOR NOT].
ALIAS Tp = [T +].
ALIAS Tu = [TXTCAT UNIT].
ALIAS Tph = [TXTCAT UNIT, TXT PH].
ALIAS Ta = [TXTCAT ADJUNCT].
ALIAS +psc = [PUNCT semicolon].
ALIAS +pco = [PUNCT comma].
ALIAS +pcl = [PUNCT colon].
ALIAS +pqu = [PUNCT qumark].
ALIAS +pex = [PUNCT exmark].
ALIAS +pda = [PUNCT dash].
ALIAS +plb = [PUNCT lbrack].
ALIAS +prb = [PUNCT rbrack].
ALIAS +sc = [SCOLON +].
ALIAS -sc = [SCOLON -].
ALIAS -cl = [COLON -].
ALIAS +cl = [COLON +].
ALIAS -da = [DASH -].
ALIAS +da = [DASH +].
ALIAS -co = [COMMA -].
ALIAS +co = [COMMA +].
ALIAS -br = [BRACK -].
ALIAS +br = [BRACK +].
ALIAS nopunct = [-sc, -cl, -da, -co].
ALIAS +bal = [BAL +].
ALIAS +end = [BAL E].
ALIAS +beg = [BAL B].
ALIAS +ta = [TA +].
ALIAS -ta = [TA -].

CATEGORY TXT : [TXTCAT]
    => {TA, BAL, SCOLON, TXT, COLON, DASH, COMMA, BRACK, CONJ}.
CATEGORY CN : [N +, V -] => {PLU, NTYPE, BAR, WH, POSS, CONJ, MOD}.
CATEGORY CNw : [N +, V -, BAR 0] => {TA}.
CATEGORY CV : [N -, V +] => {PLU, BAR, VFORM, AUX, FIN, CONJ}.
CATEGORY CV1 : [N -, V +, BAR 1] => {MOD, SCOLON}.
CATEGORY CV2 : [N -, V +, BAR 2] => {INV, WH}.
CATEGORY CVw1 : [N -, V +, BAR 0] => {TA}.
CATEGORY CVw2 : [~INV, N -, V +, BAR 0] => {VSUBCAT, PRT}.
CATEGORY CP : [N -, V -] => {BAR, PFORM, ADJ, CONJ, MOD}.
CATEGORY CPb : [N -, V -, BAR 0] => {PSUBCAT, TA}.
CATEGORY CPw1 : [N -, V -, BAR 1] => {WH}.
CATEGORY CPw2 : [N -, V -, BAR 2] => {WH, SCOLON}.
CATEGORY CA : [N +, V +] => {BAR, AFORM, ATYPE, ADV, CONJ, MOD, TA}.
CATEGORY CA2 : [N +, V +, BAR 2] => {SCOLON}.
CATEGORY CDET : [MINOR DET] => {PLU, POSS, WH}.
CATEGORY CCOMP : [MINOR COMP] => {TA}.
CATEGORY CDEG : [MINOR DEG] => {}.
CATEGORY CPRT : [MINOR PRT] => {}.
CATEGORY CNOT : [MINOR NOT] => {}.
CATEGORY CINTERJ : [MINOR INTERJ] => {}.
CATEGORY CCJ : [MINOR CONJ] => {CJTYPE, TA}.

TOP Tp.

PSRULE T/txt-sc1 : Tp --> ( V2[+sc, +cl, FIN +] )* V2[-sc, FIN +] ( +pqu ) 
   ( +pex ).
PSRULE T/txt-sc2 : V2[+sc, -cl] --> ( V2[+sc, +cl, FIN +] )+ V2[-sc, FIN +] 
   ( +pqu ) ( +pex ).
PSRULE T/s_qu_s : Tp --> V2[FIN +, -sc] +pqu ( +pco ) V2[FIN +, nopunct].
PSRULE T/s_ex_s : Tp --> V2[FIN +, -sc] +pex ( +pco ) V2[FIN +, nopunct].
PSRULE T/txt-cl1 : V2[+sc, +cl] --> H2[-sc] ( +pqu ) +psc.
PSRULE T/txt-cl2 : V2[+sc, +cl] --> H2[-sc] +pex +psc.
PSRULE T/txt-cl3 : V2[+sc, +cl] --> H2[-sc] +pqu +pda.

PSRULE T/Tph : Tp --> Tph.

PSRULE T/lmta_conj : CJ[+ta] --> CJ[-ta] Ta[-cl, +bal].
PSRULE T/lmta_comp : CP[+ta] --> CP[-ta] Ta[+bal].
PSRULE T/lmta_prep : P0[+ta, PSUBCAT @x] --> H0[-ta, PSUBCAT @x] Ta[-cl, +bal].
PSRULE T/lmta_auxv : V0[+ta, INV @y] --> H0[-ta, INV @y] Ta[-cl, +bal].
PSRULE T/lmta_np : N2[+ta, WH @x] --> H2[WH @x, MOD +] Ta[-cl, +bal].
PSRULE T/lmta_n1 : N1[+ta, WH @x] --> H1[WH @x, MOD +] Ta[-cl, +bal].
PSRULE T/lmta_n : N0[+ta, WH @x] --> H0[WH @x] Ta[-cl, +bal].
PSRULE T/lmta_v : V0[+ta, VSUBCAT @x] --> H0[-ta, VSUBCAT @x] Ta[-cl, +bal].
PSRULE T/lmta_adv : A0[+ta, ADV +] --> H0[-ta] Ta[-cl, +bal].

PSRULE T/leta_s : V2[FIN +, +ta, WH @x] --> H2[-cl, -da, WH @x] Ta[-cl, +end].
PSRULE T/leta_cl : V2[FIN +, +ta, WH @x] --> H2[WH @x] Ta[+cl, +end].

PSRULE T/rmta_n1 : N1[+ta, WH @x] --> Ta[+br] H1[WH @x, MOD -].
PSRULE T/rmta_a1 : A1[+ta] --> Ta[+br] H1[MOD -].
PSRULE T/rmta_s : V2[FIN +, +ta, WH @x] --> Ta[+br] (+pda) (+pcl) H2[-cl, -da, WH
@x].

PSRULE Taph/colon : Ta[+cl, +end, TXT PH] --> +pcl Tph.
PSRULE Taph/dash+ : Ta[+da, +bal, TXT PH] --> +pda Tph[-da] +pda.
PSRULE Taph/dash- : Ta[+da, +end, TXT PH] --> +pda Tph[-da].
PSRULE Taph/comma+ : Ta[+co, +bal, -ta, TXT PH] --> +pco Tph[CONJ -] +pco 
   ( Ta[+co, +beg, TXT PH] ).
PSRULE Taph/comma-b : Ta[+co, +beg, TXT PH] --> Tph[CONJ -] +pco.
PSRULE Taph/brack : Ta[+br, TXT PH] --> +plb Tph[-br] +prb.

PSRULE Tacl/colon1 : Ta[+cl, TXT CL] --> +pcl V2[-cl].
PSRULE Tacl/dash- : Ta[+da, +end, TXT CL] --> +pda V2[-da] ( +pqu ).
PSRULE Tacl/dash+ : Ta[+da, +bal, TXT CL] --> +pda V2[-da] ( +pqu ) +pda.
PSRULE Tacl/comma+ : Ta[+co, +bal, TXT CL] --> +pco V2[-sc, -co] +pco.
PSRULE Tacl/comma-e : Ta[+co, +end, TXT CL] --> +pco V2[-sc, -co, CONJ -].
PSRULE Tacl/brack : Ta[+br, TXT CL] --> +plb V2[-br] ( +pqu ) +prb.

PSRULE Tph/np : Tph[CONJ @x] --> ( N2[+sc] )* N2[CONJ @x].
PSRULE Tph/n1 : Tph[CONJ @x] --> ( N1[+sc] )* N1[CONJ @x].
PSRULE Tph/pp : Tph[CONJ @x] --> ( P2[+sc] )* P2[CONJ @x].
PSRULE Tph/a2 : Tph[CONJ @x] --> ( A2[+sc] )* A2[CONJ @x].
PSRULE Tph/vp : Tph[CONJ @x] --> ( V1[+sc] )* V1[CONJ @x].

PSRULE NP/co_np : N2[+sc] --> H2[-sc, -ta] +pco.
PSRULE N1/co_n1 : N1[+sc] --> H1[-sc, -ta] +pco.
PSRULE PP/co_pp : P2[+sc] --> H2[-sc] +pco.
PSRULE AP/co_pp : A2[+sc] --> H2[-sc] +pco.
PSRULE VP/co_vp : V1[+sc] --> H1[-sc] +pco.

PSRULE NP/date : N2[NTYPE MEAS] --> ( N2[NTYPE NUM] ) H2 ( N2[NTYPE NUM] ) 
   +pco N2[NTYPE NUM].

PSRULE Tcl/interj_tph : V2[-sc, +co] --> IJ +pco Tph.

PSRULE T/npq : N2 --> H2[WH +] +pqu.
PSRULE T/npqcj : N2 --> H2[CONJ +, WH +] +pqu.

PSRULE N1/ap_n1 : N1[WH @x] --> A2[ADV -, MOD -] ( +pco ) H1[WH @x].

PSRULE S/pp_s : V2[WH -, INV -] --> P2[WH -, ADJ -, CONJ @c] ( +pco ) 
   H2[FIN +, -ta].
PSRULE S/vppt_s : V2[WH -, INV -] --> V1[VFORM PPART] ( +pco ) 
   H2[WH -, FIN +, -ta].
PSRULE S/vping_s : V2[WH -, INV -] --> V1[VFORM ING] ( +pco ) 
   H2[WH -, FIN +, -ta].
PSRULE S/npadv1_s : V2[WH @y, INV @x] --> N2[NTYPE TEMP, -ta] ( +pco ) 
   H2[WH @y, FIN +, -ta, INV @x].
PSRULE S/npadv2_s : V2[WH @y, INV @x] --> N2[NTYPE MEAS, -ta] ( +pco ) 
   H2[WH @y, FIN +, -ta, INV @x].
PSRULE S/npfr_s : V2[WH -, INV -] --> N2[WH +] +pco H2[FIN +, -ta].
PSRULE S/np_co_s1 : V2[WH -, INV -] --> N2[NTYPE NORM] +pco H2[FIN +, -ta].
PSRULE S/np_co_s2 : V2[WH -, INV -] --> N2[NTYPE PRO] +pco H2[FIN +, -ta].
PSRULE S/adv_s : V2[WH @x, INV @y] --> A2[ADV +] ( +pco ) 
   H2[WH @x, INV @y, FIN +, -ta].
PSRULE S/s_pp : V2[WH -, INV -] --> H2[FIN +, -ta] +pco 
   P2[WH -, ADJ -, CONJ @c].
PSRULE S/s_vppt : V2[WH -, INV -] --> H2[WH -, FIN +, -ta] +pco 
   V1[VFORM PPART].
PSRULE S/s_vping : V2[WH -, INV -] --> H2[WH -, FIN +, -ta] +pco 
   V1[VFORM ING].
PSRULE S/s_npadv1 : V2[WH @x, INV @y] --> H2[WH @x, INV @y, FIN +, -ta] +pco
   N2[NTYPE TEMP, -ta].
PSRULE S/s_npadv2 : V2[WH @x, INV @y] --> H2[WH @x, INV @y, FIN +, -ta] +pco 
   N2[NTYPE MEAS, -ta].
PSRULE S/s_npfr : V2[WH -, INV -] --> H2[FIN +, -ta]  +pco  N2[WH +].
PSRULE S/s_co_np1 : V2[WH -, INV -] --> H2[FIN +, -ta] +pco N2[NTYPE NORM].
PSRULE S/s_co_np2 : V2[WH -, INV -] --> H2[FIN +, -ta] +pco N2[NTYPE PRO].
PSRULE S/s_adv : V2[WH @x, INV @y] --> H2[WH @x, INV @y, FIN +, -ta] +pco 
   A2[ADV +].
PSRULE S/s_a1 : V2[WH @x, INV @y] --> H2[WH @x, INV @y, FIN +, -ta] +pco 
   A1[ADV -].

PSRULE S/s_npvoc1 : V2 --> H2[FIN +] ( +pco ) N2[NTYPE NAME].
PSRULE S/s_npvoc2 : V2 --> H2[FIN +] +pco N2[NTYPE TIT].
PSRULE S/s_npvoc3 : V2 --> H2[FIN +] +pco N1[NTYPE NORM, PLU -].
PSRULE S/npvoc_s1 : V2 --> N2[NTYPE NAME] +pco H2[FIN +].
PSRULE S/npvoc_s2 : V2 --> N2[NTYPE TIT] +pco H2[FIN +].
PSRULE S/npvoc_s3 : V2 --> N1[NTYPE NORM, PLU -] +pco H2[FIN +].

PSRULE S/s_tag-qu : V2 --> H2[FIN +] +pco V0[INV @x] ( NG ) N2[NTYPE PRO] 
   +pqu.
PSRULE S/s_vb-name : V2 --> H2[FIN +] +pco V0[AUX -] N2[NTYPE NAME].
PSRULE S/s_vb-pro : V2 --> H2[FIN +] +pco V0[AUX -] N2[NTYPE PRO].

PSRULE S/np_vp : V2[WH -, INV -] --> N2 H1[FIN +].
PSRULE S/n1_vp : V2[WH -, INV -] --> N1[NTYPE NORM, PLU -] H1[FIN +].
PSRULE S/poss_vp : V2[WH -, INV -] --> N2[NTYPE PRO, POSS +] H1[FIN +].
PSRULE S/np_vping : V2[WH -, INV -] --> N2 H1[FIN -, VFORM ING].
PSRULE S/n1_vping : V2[WH -, INV -] --> N1[NTYPE NORM, PLU -] 
   H1[FIN -, VFORM ING].
PSRULE S/s_vp : V2[WH -, INV -] --> CP V2[WH -, FIN +, -ta] H1[FIN +].
PSRULE S/sing_vp : V2[WH -, INV -] --> V2[WH -, FIN -, VFORM ING, CONJ @x] 
   H1[FIN +]. 
PSRULE S/vping_vp : V2[WH -, INV -] --> V1[FIN -, VFORM ING, CONJ @x] 
   H1[FIN +].
PSRULE S/vpinf_vp : V2[WH -, INV -] --> V1[FIN -, VFORM INF, CONJ @x] 
   H1[FIN +].

PSRULE S/s_be_s : V2[WH -, INV -] --> V2[WH -, INV -] V0[INV @x, AUX BE] 
   ( NG ) V2[WH -, INV -].

PSRULE S/sai : V2[INV +, FIN +] --> V0[INV @x] ( NG ) V2[WH -, INV -, -ta].
PSRULE S/sai-be1 : V2[INV +] --> V0[INV @x, AUX BE] ( NG ) N2 ( NG ) N2.
PSRULE S/sai-be2 : V2[INV +] --> V0[INV @x, AUX BE] ( NG ) N2 ( NG ) P2.
PSRULE S/sai-be3 : V2[INV +] --> V0[INV @x, AUX BE] ( NG ) N2 ( NG ) A2.
PSRULE S/sai-be4 : V2[INV +] --> V0[INV @x, AUX BE] ( NG ) N2 ( NG ) PT.

PSRULE S/comp : V2[WH -, INV -] --> CP H2.
PSRULE S/whnp_s : V2[WH +, INV @x] --> N2[WH +] H2[FIN +, INV @x].
PSRULE S/whnp_vp : V2[WH +, INV -] --> N2[WH +] H1[FIN +].
PSRULE S/whpp : V2[WH +, INV @x] --> P2[WH +] H2[WH -, FIN +, INV @x].
PSRULE S/wh-aux : V2[WH +, INV -, FIN @y] --> N2[WH +] N2 V0[INV @x, FIN @y].
PSRULE S/whpp-aux : V2[WH +, INV -] --> P2[WH +] N2 V0[INV @x].
PSRULE S/imp : V2[INV +] --> H1[VFORM BSE, FIN +].
PSRULE S/imp_neg : V2[INV +] --> V0[INV @x, AUX DO] NG H1[VFORM BSE, FIN +].
PSRULE S/cj_beg : V2[WH @x, CONJ -] --> CJ[CJTYPE BEGIN] H2[WH @x, CONJ +].
PSRULE S/cj_int : V2[WH @y, CONJ @x] --> H2[WH @y, CONJ -, -ta] ( +pco ) 
   V2[WH @y, CONJ +, -ta].
PSRULE S/cj_end : V2[WH @x, CONJ +] --> CJ[CJTYPE END] H2[WH @x, CONJ -].

PSRULE V/0_p : V0[VSUBCAT @x, PRT +] --> H0[VSUBCAT @x] PT.
PSRULE V/0 : V1 --> H0[VSUBCAT NONE].
PSRULE V/np : V1 --> H0[VSUBCAT NP] N2.
PSRULE V/n1 : V1 --> H0[VSUBCAT NP] N1[NTYPE NORM, WH -, POSS -, PLU -].
PSRULE V/n1b : V1 --> H0[VSUBCAT NP] N1[NTYPE TIT, WH -, POSS -, PLU -].
PSRULE V/np_p : V1 --> H0[VSUBCAT NP, PRT +] N2 PT.
PSRULE V/pp : V1 --> H0[VSUBCAT PP] P2[WH -, ADJ -, MOD -].
PSRULE V/whpp : V1 --> H0[VSUBCAT WHPP] P2[WH +, ADJ -, MOD -].
PSRULE V/inf : V1 --> H0[VSUBCAT VPINF] V1[FIN -, VFORM INF].
PSRULE V/ing : V1 --> H0[VSUBCAT VPING] V1[FIN -, VFORM ING].
PSRULE V/ing_pp : V1 --> H0[VSUBCAT VPING_PP] V1[FIN -, VFORM ING] P2[WH -, ADJ -, MOD -].
; PSRULE V/pp_ing_hs : V1 --> H0[VSUBCAT VPING_PP]  P2[WH -, ADJ -, MOD -] V1[FIN -, VFORM ING].
PSRULE V/ppart : V1 --> H0[VSUBCAT VPPRT] V1[VFORM PPART].
PSRULE V/bse : V1 --> H0[VSUBCAT VPBSE] V1[VFORM BSE].
PSRULE V/s : V1 --> H0[VSUBCAT SCOMP] V2[nopunct].
PSRULE V/tcl : V1 --> H0[VSUBCAT SCOMP] ( CP ) V2[+sc, -cl].
PSRULE V/ap : V1 --> H0[VSUBCAT AP] A2[ADV -].
PSRULE V/np_np : V1 --> H0[VSUBCAT NP_NP] N2 N2.
PSRULE V/np_n1 : V1 --> H0[VSUBCAT NP_NP] N2 N1[NTYPE NORM, WH -, POSS -, PLU -].
PSRULE V/np_p_np : V1 --> H0[VSUBCAT NP_NP, PRT +] N2 PT N2.
PSRULE V/np_inf : V1 --> H0[VSUBCAT SINF] N2 V1[FIN -, VFORM INF].
PSRULE V/np_p_inf : V1 --> H0[VSUBCAT SINF, PRT +] N2 PT V1[FIN -, VFORM INF].
PSRULE V/np_ing : V1 --> H0[VSUBCAT SING] N2 V1[FIN -, VFORM ING].
PSRULE V/np_ing_pp : V1 --> H0[VSUBCAT SING_PP] N2 V1[FIN -, VFORM ING] P2[WH -, ADJ -, MOD -].
PSRULE V/poss_ing : V1 --> H0[VSUBCAT SING] N2[POSS +] V1[FIN -, VFORM ING].
PSRULE V/poss_ing_pp : V1 --> H0[VSUBCAT SING_PP] N2[POSS +] V1[FIN -, VFORM ING] P2[WH -, ADJ -, MOD -].
PSRULE V/np_p_ing : V1 --> H0[VSUBCAT SING, PRT +] N2 PT V1[FIN -, VFORM ING].
PSRULE V/np_pp : V1 --> H0[VSUBCAT NP_PP] N2 P2[WH -, ADJ -, MOD -].
PSRULE V/np_p_pp : V1 --> H0[VSUBCAT NP_PP, PRT +] N2 PT P2[WH -, ADJ -, MOD -].
PSRULE V/np_ppof : V1 --> H0[VSUBCAT NP_PPOF] N2 P2[PFORM OF, WH -, MOD -].
PSRULE V/n1_pp : V1 --> H0[VSUBCAT NP_PP] N1[NTYPE NORM, WH -, POSS -, PLU -]
P2[WH -, ADJ -, MOD -].
; PSRULE V/pp_np_hs : V1 --> H0[VSUBCAT NP_PP] P2[WH -, ADJ -, MOD -] N2[WH -].
PSRULE V/np_whpp : V1 --> H0[VSUBCAT NP_WHPP] N2 P2[WH +, ADJ -, MOD -].
PSRULE V/pp_pp : V1 --> H0[VSUBCAT PP_PP] P2[WH -, ADJ -, MOD -] P2[WH -, ADJ -,
MOD -].
PSRULE V/pp_whpp : V1 --> H0[VSUBCAT PP_WHPP] P2[WH -, ADJ -, MOD -] P2[WH +, ADJ -,
MOD -].
PSRULE V/pp_s : V1 --> H0[VSUBCAT PP_SCOMP] P2 V2[WH -, INV -, -sc, -cl].
PSRULE V/pp_whs : V1 --> H0[VSUBCAT PP_WHS] P2 V2[WH +, INV -, -sc, -cl].
PSRULE V/pp_whvp : V1 --> H0[VSUBCAT PP_WHVP] P2 N2[WH +, MOD +].
PSRULE V/pp_inf : V1 --> H0[VSUBCAT PP_VPINF] P2 V1[FIN -, VFORM INF].
PSRULE V/pp_ap : V1 --> H0[VSUBCAT PP_AP] P2 A2[ADV -].
PSRULE V/np_pp_pp : V1 --> H0[VSUBCAT NP_PP_PP] N2 P2[WH -, ADJ -, MOD -] 
   P2[WH -, ADJ -, MOD -].
PSRULE V/np_s : V1 --> H0[VSUBCAT NP_SCOMP] N2 V2[INV -, -sc, -cl].
PSRULE V/np_p_s : V1 --> H0[VSUBCAT NP_SCOMP, PRT +] N2 PT V2[INV -, -sc, -cl].
PSRULE V/np_ap : V1 --> H0[VSUBCAT NP_AP] N2 A2[ADV -].
PSRULE V/np_p_ap : V1 --> H0[VSUBCAT NP_AP, PRT +] N2 PT A2[ADV -].
; PSRULE V/ap_np_hs : V1 --> H0[VSUBCAT NP_AP] A2[ADV -] N2.
PSRULE V/np_np_s : V1 --> H0[VSUBCAT NP_NP_SCOMP] N2 N2 V2[WH -, INV
-, -sc, -cl].
PSRULE VP/adv_vp : V1[MOD +] --> A2[ADV +] H1.
PSRULE VP/vp_adv : V1[MOD +] --> H1 A2[ADV +].
PSRULE VP/vp_pp : V1[MOD +] --> H1 P2[ADJ -, WH -].
PSRULE VP/vp_npadv1 : V1[MOD +] --> H1 N2[NTYPE TEMP, -ta].
PSRULE VP/vp_npadv2 : V1[MOD +] --> H1 N2[NTYPE MEAS, -ta].
PSRULE VP/npadv1_vp : V1[MOD -] --> N2[NTYPE TEMP, -ta] H1.
PSRULE VP/npadv2_vp : V1[MOD -] --> N2[NTYPE MEAS, -ta] H1.
PSRULE VP/vp_inf : V1[MOD +] --> H1 V1[FIN -, VFORM INF].
PSRULE VP/not_vp : V1[MOD @x] --> NG H1[MOD @x].

PSRULE VP/cj_beg : V1[CONJ -, MOD @x] --> CJ[CJTYPE BEGIN] H1[CONJ +, MOD @x].
PSRULE VP/cj_int : V1[CONJ @x, MOD @z] --> H1[CONJ -, VFORM @y, MOD @z] 
   ( +pco ) V1[CONJ +, VFORM @y, MOD @z].
PSRULE VP/cj_end : V1[CONJ +] --> CJ[CJTYPE END] H1[CONJ -].
PSRULE V/cj_beg : V0[CONJ -, VSUBCAT @y] --> CJ[CJTYPE BEGIN] H0[CONJ +, VSUBCAT
@y].
PSRULE V/cj_int : V0[CONJ @x, VSUBCAT @y] --> H0[CONJ -, VSUBCAT @y] ( +pco )
H0[CONJ +, VSUBCAT @y].
PSRULE V/cj_end : V0[CONJ +, VSUBCAT @y] --> CJ[CJTYPE END] H0[CONJ -, VSUBCAT
@y].

PSRULE V/be_ppart : V1 --> H0[INV @x, AUX BE] ( A2[ADV +] ) 
   V1[MOD -, VFORM PPART].
PSRULE V/be_pas : V1 --> H0[INV @x, AUX BE] ( A2[ADV +] ) 
   V1[MOD -, VFORM PAST].
PSRULE V/be_ing : V1 --> H0[INV @x, AUX BE] ( A2[ADV +] ) 
   V1[MOD -, VFORM ING, FIN -].
PSRULE V/be_inf : V1 --> H0[INV @x, AUX BE] ( A2[ADV +] ) 
   V1[MOD -, VFORM INF, FIN -].
PSRULE V/be_pp : V1 --> H0[INV @x, AUX BE] ( A2[ADV +] ) ( NG ) 
   P2[ADJ -, WH -].
PSRULE V/be_prt : V1 --> H0[INV @x, AUX BE] ( NG ) PT.
PSRULE V/be_ap : V1 --> H0[INV @x, AUX BE] ( NG ) A2.
PSRULE V/be_np : V1 --> H0[INV @x, AUX BE] ( A2[ADV +] ) ( NG ) N2 ( PT ).
PSRULE V/be_n1 : V1 --> H0[INV @x, AUX BE] ( NG ) N1[WH -, POSS -, PLU -] 
   ( PT ).
PSRULE V/be_s : V1 --> H0[INV @x, AUX BE] V2[nopunct].
PSRULE V/be_ta : V1 --> H0[INV @x, AUX BE] Ta[+cl].

PSRULE V/do_bse : V1 --> H0[INV @x, AUX DO] ( A2[ADV +] ) 
   V1[MOD -, VFORM BSE].
PSRULE V/do_np : V1 --> H0[INV @x, AUX DO] N2.
PSRULE V/do_ppart : V1 --> H0[INV @x, AUX DO, VFORM PPART].
PSRULE V/do_pas : V1 --> H0[INV @x, AUX DO, VFORM PAST].
PSRULE Vdo_as : V1 --> H0[INV @x, AUX DO] P2[PFORM AS].

PSRULE V/to_bse : V1 --> H0[INV @x, AUX TO] V1[VFORM BSE].

PSRULE V/have_ppart : V1 --> H0[INV @x, AUX HAVE] ( A2[ADV +] ) 
   V1[MOD -, VFORM PPART].
PSRULE V/have_pas : V1 --> H0[INV @x, AUX HAVE] ( A2[ADV +] ) 
   V1[MOD -, VFORM PAST].
PSRULE V/have_np_ppt : V1 --> H0[INV @x, AUX HAVE] N2 V1[VFORM PPART].
PSRULE V/have_np_bse : V1 --> H0[INV @x, AUX HAVE] N2 V1[VFORM BSE].
PSRULE V/have_np : V1 --> H0[INV @x, AUX HAVE] N2.
PSRULE V/have_n1 : V1 --> H0[INV @x, AUX HAVE] 
   N1[NTYPE NORM, WH -, POSS -, PLU -].
PSRULE V/have_inf : V1 --> H0[INV @x, AUX HAVE] V1[MOD -, VFORM INF, FIN -].

PSRULE V/modal_bse : V1 --> H0[INV @x, AUX MODAL] ( A2[ADV +] ) V1[VFORM BSE].
PSRULE V/cat_inf : V1 --> H0[INV @x, AUX CAT] ( A2[ADV +] ) 
   V1[VFORM INF, FIN -].

PSRULE V/aux_cj_beg : V0[INV @x, CONJ -, AUX @y] --> CJ[CJTYPE BEGIN] 
   H0[INV @x, CONJ +, AUX @y].
PSRULE V/aux_cj_int : V0[INV @x, CONJ @z, AUX @y] --> H0[INV @x, CONJ -, AUX @y]
( +pco ) 
   H0[INV @x, CONJ +, AUX @y].
PSRULE V/aux_cj_end : V0[INV @x, CONJ +, AUX @y] --> CJ[CJTYPE END] 
   H0[INV @x, CONJ -, AUX @y].

PSRULE NP/plu1 : N2[WH @x, POSS -, NTYPE NORM] --> H1[WH @x, PLU +].
PSRULE NP/plu2 : N2[WH @x, POSS -, NTYPE TEMP] --> H1[WH @x, PLU +].
PSRULE NP/plu3 : N2[WH @x, POSS -, NTYPE MEAS] --> H1[WH @x, PLU +].
PSRULE NP/plu4 : N2[WH @x, POSS -, NTYPE PART] --> H1[WH @x, PLU +].
PSRULE NP/num : N2[WH @x, POSS -, NTYPE NUM] --> H1[WH @x].
PSRULE NP/place : N2[WH @x, POSS -] --> H1[WH @x, NTYPE PLACE].
PSRULE NP/det_n : N2[WH @x, POSS -] --> DT[WH @x] H1[WH -].
PSRULE NP/det_whn : N2[WH +, POSS -] --> DT H1[WH +].
PSRULE NP/det_det_n : N2[WH @x, POSS -] --> DT[WH @x] DT H1[WH -].
PSRULE NP/part_np : N2[POSS -, WH -] --> N0[NTYPE PART, WH -] H2.
PSRULE NP/part_of : N2[WH -, POSS -] --> DT DT P2[PFORM OF].
PSRULE NP/num_of : N2[POSS -, MOD +] --> H2[NTYPE NUM] P2[PFORM OF].

PSRULE NP/pro_pp1 : N2[WH @x, POSS -, MOD +] --> H2[NTYPE PRO, WH @x] 
   P2[ADJ +, PFORM PREP].
PSRULE NP/pro_pp2 : N2[WH @x, POSS -, MOD +] --> H2[NTYPE PRO, WH @x] 
   P2[ADJ +, PFORM FOR].
PSRULE NP/pro_pp3 : N2[WH @x, POSS -, MOD +] --> H2[NTYPE PRO, WH @x] 
   P2[ADJ +, PFORM WITH].
PSRULE NP/pro_pp4 : N2[WH @x, POSS -, MOD +] --> H2[NTYPE PRO, WH @x] 
   P2[ADJ +, PFORM WITHOUT].
PSRULE NP/pro_pp5 : N2[WH @x, POSS -, MOD +] --> H2[NTYPE PRO, WH @x] 
   P2[ADJ +, PFORM THAN].
PSRULE NP/pro_pp6 : N2[WH @x, POSS -, MOD +] --> H2[NTYPE PRO, WH @x] 
   P2[ADJ +, PFORM AS].
PSRULE NP/pro_inf : N2[WH @x, POSS -, MOD +] --> H2[NTYPE PRO, WH @x] 
   V1[VFORM INF, FIN -].
PSRULE NP/pro_s : N2[WH -, POSS -, MOD +] --> H2[NTYPE PRO, WH -] 
   V2[nopunct, INV -, FIN +].
PSRULE NP/pro_ap : N2[WH @x, POSS -, MOD +] --> H2[NTYPE PRO, WH @x] 
   A2[ATYPE POST].

PSRULE NP/npt_ap : N2[POSS -, WH -, MOD +] --> H2[NTYPE TEMP] 
   A1[ATYPE POST, MOD -].
PSRULE NP/npt_npt : N2[POSS -, WH -, MOD +] --> H2[NTYPE TEMP, MOD -] 
   N2[NTYPE TEMP].
PSRULE NP/npl_ap : N2[POSS -, WH -, MOD +] --> H2[NTYPE PLACE] 
   A1[ATYPE POST, MOD -].
PSRULE NP/nms_ap : N2[POSS -, WH -, MOD +] --> H2[NTYPE MEAS] 
   A1[ATYPE POST, MOD -].
PSRULE NP/np_ap : N2[POSS -, WH -, MOD +] --> H2 A1[ATYPE POST, MOD +].
PSRULE NP/ap1_np : N2[POSS -, WH -] --> A1[ADV +, ATYPE DG] H2[MOD -].
PSRULE NP/ap2_np : N2[POSS -, WH -] --> A1[ADV +, ATYPE CAT] H2[MOD -].
PSRULE NP/np_refl : N2[POSS -, MOD +] --> H2[PLU @x] N2[NTYPE REFL, PLU @x].
PSRULE NP/poss_n1 : N2[POSS -, WH -] --> N2[POSS +] H1[POSS -].
PSRULE NP/n2_poss : N2[POSS +, WH -] --> H2[POSS -] N0[NTYPE POSS].
PSRULE NP/adv1 : N2[POSS -, WH -, PLU -] --> H1[NTYPE TEMP, -ta].
PSRULE NP/adv2 : N2[POSS -, WH -, PLU -] --> H1[NTYPE MEAS, -ta].
PSRULE NP/adv3 : N2[POSS -, WH -, PLU -] --> H1[NTYPE DIR, -ta].
PSRULE NP/interj : N2[NTYPE NORM, POSS -, WH -] --> IJ.

PSRULE NP/name_n1 : N2[WH -, POSS -] --> N2[NTYPE NAME, POSS -, MOD -] 
   H1[NTYPE NORM].
PSRULE NP/n1_name : N2[WH -, POSS -] --> ( N1[NTYPE NORM] ) 
   H1[NTYPE NAME, POSS -, MOD -].
PSRULE NP/name_n2 : N2[WH -, POSS -] --> N2[NTYPE NAME, POSS -, MOD -] 
   H2[NTYPE NORM].
PSRULE NP/n2_name : N2[WH -, POSS -] --> H2[NTYPE NORM] 
   N2[NTYPE NAME, POSS -, MOD -].
PSRULE NP/pretit_n1 : N2[WH -, POSS -] --> N0[NTYPE PRETIT, POSS -] 
   H1[NTYPE NAME, MOD -].
PSRULE NP/tit_n2 : N2[WH -, POSS -] --> N1[NTYPE TIT, POSS -] 
   H2[NTYPE NAME, MOD -].
PSRULE NP/n1_posttit : N2[WH -, POSS -] --> H1[NTYPE NAME, MOD -] 
   N0[NTYPE POSTTIT, POSS -].
PSRULE N2/name_of : N2[WH -, POSS -, MOD +] --> H2[NTYPE NAME] P2[PFORM OF].
PSRULE NP/dir_name : N2[WH -, POSS -] --> N0[NTYPE DIR, POSS -] 
   H2[NTYPE NAME, MOD -].
PSRULE NP/ap_name : N2[WH -, POSS -] --> A2[ADV -, MOD -] 
   H2[NTYPE NAME, MOD -].
PSRULE NP/num_name2 : N2[WH -, POSS -] --> N2[NTYPE NUM, POSS -] 
   H2[NTYPE NAME, MOD -].
PSRULE NP/name2_num : N2[POSS -] --> H2[NTYPE NAME, POSS -, MOD -] 
   N2[NTYPE NUM, POSS -].
PSRULE NP/temp_name2 : N2[WH -, POSS -] --> N2[NTYPE TEMP, POSS -] 
   H2[NTYPE NAME, MOD -].

PSRULE N1/n1_nm : N1[POSS -] --> N0[POSS -, NTYPE NORM] H1[NTYPE NORM, -ta].
PSRULE N1/n1_npl : N1[POSS -, NTYPE NORM] --> N0[POSS -, NTYPE NORM] 
   H1[NTYPE PLACE].
PSRULE N1/n1_dir : N1[POSS -, NTYPE NORM] --> N0[POSS -, NTYPE NORM] 
   H1[NTYPE DIR].
PSRULE N1/n1_nms : N1[POSS -, NTYPE NORM] --> N0[POSS -, NTYPE NORM] 
   H1[NTYPE MEAS].
PSRULE N1/n1_nt : N1[POSS -, NTYPE NORM] --> N0[POSS -, NTYPE NORM] 
   H1[NTYPE TEMP].
PSRULE N1/nt_nt : N1[POSS -] --> N0[NTYPE TEMP, POSS -] H1[NTYPE TEMP].
PSRULE N1/nms_nms : N1[POSS -] --> N0[NTYPE MEAS, POSS -] H1[NTYPE MEAS].
PSRULE N1/num2_n1 : N1[POSS -, PLU @x] --> 
   N2[NTYPE NUM, POSS -, PLU @x, MOD -] H1[NTYPE NORM].
PSRULE N1/num2_nt : N1[POSS -, PLU @x] --> 
   N2[NTYPE NUM, POSS -, PLU @x, MOD -] H1[NTYPE TEMP].
PSRULE N1/num2_nms : N1[POSS -, PLU @x] --> 
   N2[NTYPE NUM, POSS -, PLU @x, MOD -] H1[NTYPE MEAS].
PSRULE N1/nms_num2 : N1[POSS -] --> H0[NTYPE MEAS] 
   N2[NTYPE NUM, POSS -, MOD -].
PSRULE N1/nm_num2 : N1[POSS -] --> H0[NTYPE NORM] 
   N2[NTYPE NUM, POSS -, MOD -].
PSRULE N1/npl_n1 : N1[POSS -] --> N0[NTYPE PLACE] H1[NTYPE NORM].
PSRULE N1/npl_npl1 : N1[POSS -] --> N0[NTYPE PLACE] H1[NTYPE PLACE].
PSRULE N/name_npl : N0[POSS -] --> N2[NTYPE NAME, POSS -, MOD -] 
   H0[NTYPE PLACE].
PSRULE N/npl_name : N0[POSS -] --> H0[NTYPE PLACE] 
   N2[NTYPE NAME, POSS -, MOD -].
PSRULE N/nt_nm : N0[POSS -] --> N1[NTYPE TEMP, POSS -, MOD -] H0[NTYPE NORM].
PSRULE N/nms_nm : N0[POSS -] --> N1[NTYPE MEAS, POSS -, MOD -] H0[NTYPE NORM].
PSRULE N/npl_nm : N0[POSS -] --> N0[NTYPE PLACE, POSS -] H0[NTYPE NORM].
PSRULE N/npl_dir : N0[POSS -] --> H0[NTYPE PLACE] N0[NTYPE DIR, POSS -].
PSRULE N/dir_nm : N0[POSS -] --> N0[NTYPE DIR, POSS -] H0[NTYPE NORM].
PSRULE N/dir_npl : N0[POSS -] --> N0[NTYPE DIR, POSS -] H0[NTYPE PLACE].

PSRULE NP/det_ger : N2[WH @x, POSS -, PLU -, NTYPE NORM] --> DT[WH @x] 
   V0[VFORM ING, FIN -].
PSRULE N1/ap_ger : N1[POSS -, PLU -, NTYPE NORM] --> A2[ADV -, MOD -] 
   V0[VFORM ING, FIN -].
PSRULE N1/ger_of : N1[POSS -, PLU -, NTYPE NORM] --> V0[VFORM ING, FIN -]
P2[PFORM OF].

PSRULE N1/ap_np : N1[POSS -, NTYPE NORM] --> A2[ADV +, AFORM ER] H2.
PSRULE NP/dt_est : N2[NTYPE NORM, POSS -] --> DT A1[AFORM EST] ( A1[ADV -] ).
PSRULE NP/pro_er : N2[POSS -, NTYPE PRO] --> H2 A1[AFORM ER].
PSRULE NP/ap_pp : N2[POSS -, WH @x, NTYPE NORM] --> DT[WH @x] 
   A2[ADV -, AFORM NONE, ATYPE ATT] P2[ADJ +].
PSRULE N1/name+ : N1[POSS -] --> N0[NTYPE NAME] H1[NTYPE NAME, MOD -].
PSRULE N1/poss_n1 : N1[POSS -] --> N1[POSS +] H1[POSS -, MOD -].
PSRULE N1/n1_poss : N1[POSS +] --> H1[POSS -] N0[NTYPE POSS].

PSRULE N1/n : N1[POSS -, MOD -] --> H0.
PSRULE N1/n_s1 : N1[POSS -, MOD +] --> H0[NTYPE NORM] 
   V2[INV -, FIN +, nopunct].
PSRULE N1/n_s2 : N1[POSS -, MOD +] --> H0[NTYPE TEMP] 
   V2[INV -, FIN +, nopunct].
PSRULE N1/n_s3 : N1[POSS -, MOD +] --> H0[NTYPE PLACE] 
   V2[INV -, FIN +, nopunct].
PSRULE N1/n_s4 : N1[POSS -, MOD +] --> H0[NTYPE MEAS] 
   V2[INV -, FIN +, nopunct].
PSRULE N1/n_rel : N1[POSS -, MOD +] --> H0 CP V1[FIN +].
PSRULE N1/n_inf : N1[POSS -, MOD +] --> H0 V1[VFORM INF, FIN -].
PSRULE N1/n_pprt : N1[POSS -, MOD +] --> H0 V1[VFORM PPART].
PSRULE N1/n_ing : N1[POSS -, MOD +] --> H0[NTYPE NORM] V1[VFORM ING, FIN -].
PSRULE N1/n_of : N1[POSS -, MOD +] --> H0 P2[PFORM OF].
PSRULE N1/n1_pp1 : N1[WH @x, MOD +] --> H1 P2[ADJ +, PFORM PREP, WH @x].
PSRULE N1/n1_pp2 : N1[WH @x, MOD +] --> H1 P2[PFORM THAN].
PSRULE N1/n1_pp3 : N1[WH @x, MOD +] --> H1 P2[ADJ +, PFORM WITH, WH @x].
PSRULE N1/n1_pp4 : N1[WH @x, MOD +] --> H1 P2[ADJ +, PFORM WITHOUT, WH @x].
PSRULE N1/n1_pp5 : N1[WH @x, MOD +] --> H1 P2[ADJ +, PFORM FOR, WH @x].
PSRULE N1/n1_pp6 : N1[WH @x, MOD +] --> H1 P2[PFORM AS, WH @x].
PSRULE N1/vppt_n1 : N1[WH @x, MOD +] --> V0[VFORM PPART] H1[NTYPE NORM].
PSRULE N1/vping_n1 : N1[WH @x, MOD +] --> V0[VFORM ING, FIN -] H1[NTYPE NORM].

PSRULE NP/cj_beg : N2[CONJ -, WH @y] --> CJ[CJTYPE BEGIN] 
   H2[CONJ +, WH @y, -ta].
PSRULE NP/cj_int1 : N2[CONJ @c, WH @y] --> 
   H2[POSS @x, WH @y, NTYPE @z, CONJ -, -ta] ( +pco ) 
   N2[POSS @x, WH @y, NTYPE @z, CONJ +, -ta].
PSRULE NP/cj_int2 : N2[CONJ @c, WH @y] --> 
   H2[POSS @x, WH @y, NTYPE NAME, CONJ -, -ta] ( +pco ) 
   N2[POSS @x, WH @y, NTYPE NORM, CONJ +, -ta].
PSRULE NP/cj_int3 : N2[CONJ @c, WH @y] --> 
   H2[POSS @x, WH @y, NTYPE TEMP, CONJ -, -ta] ( +pco ) 
   N2[POSS @x, WH @y, NTYPE PRO, CONJ +, -ta].
PSRULE NP/cj_int4 : N2[CONJ @c, WH @y] --> 
   H2[POSS @x, WH @y, NTYPE NORM, CONJ -, -ta] ( +pco ) 
   N2[POSS @x, WH @y, NTYPE NUM, CONJ +, -ta].
PSRULE NP/cj_int5 : N2[CONJ @c, WH @y] --> 
   H2[POSS @x, WH @y, NTYPE NORM, CONJ -, -ta] ( +pco ) 
   N2[POSS @x, WH @y, NTYPE PLACE, CONJ +, -ta].
PSRULE NP/cj_int6 : N2[CONJ @c, WH @y] --> 
   H2[POSS @x, WH @y, NTYPE PLACE, CONJ -, -ta] ( +pco ) 
   N2[POSS @x, WH @y, NTYPE NORM, CONJ +, -ta].
PSRULE NP/cj_end : N2[CONJ +, WH @y] --> CJ[CJTYPE END] ( A2[ADV +] ) 
   ( +pco ) H2[CONJ -, WH @y].
PSRULE N1/cj_beg : N1[CONJ -, WH @y] --> CJ[CJTYPE BEGIN] H1[CONJ +, WH @y].
PSRULE N1/cj_int1 : N1[CONJ @c, WH @y] --> 
   H1[POSS @x, WH @y, NTYPE @z, CONJ -, -ta] ( +pco ) 
   N1[POSS @x, WH @y, NTYPE @z, CONJ +, -ta].
PSRULE N1/cj_end : N1[CONJ +, WH @y] --> CJ[CJTYPE END] H1[CONJ -, WH @y].
PSRULE N/cj_int : N0[CONJ @x, WH @y] --> H0[CONJ -] ( +pco ) 
   H0[CONJ +, WH @y].
PSRULE N/cj_end : N0[CONJ +, WH @y] --> CJ[CJTYPE END] H0[CONJ -, WH @y].

PSRULE P1/p_np : P1[WH @x] --> H0[PSUBCAT NP] N2[WH @x, +ta].
PSRULE P1/p_n1 : P1[WH -] --> H0[PSUBCAT NP] 
   N1[NTYPE NORM, WH -, POSS -, PLU -].
PSRULE P1/p_poss : P1[WH -] --> H0[PSUBCAT NP] N2[NTYPE PRO, WH -, POSS +].
PSRULE P1/p_npl : P1[WH -] --> H0[PSUBCAT NP] A2[ATYPE PLACE].
PSRULE P1/p_s : P1[WH -] --> H0[PSUBCAT SFIN] V2[WH -, INV -, FIN +, -sc, -cl].
PSRULE P1/p_whs : P1[WH +] --> H0[PSUBCAT WHS] V2[WH +, INV -, FIN +, -sc, -cl].
PSRULE P1/p_pp : P1[WH -] --> H0[PSUBCAT PP] P2[WH -, MOD -].
PSRULE P1/p_sinf : P1[WH -] --> H0[PSUBCAT SINF] N2[WH -] V1[VFORM INF, FIN -].
PSRULE P1/p_sing : P1[WH -] --> H0[PSUBCAT SING] N2[WH -] V1[VFORM ING, FIN -].
PSRULE P1/p_possing : P1[WH -] --> H0[PSUBCAT SING] N2[WH -, POSS +] V1[VFORM
ING, FIN -].
PSRULE P1/p_ing : P1[WH -] --> H0[PSUBCAT VPING] V1[VFORM ING, FIN -].
PSRULE P1/p_inf : P1[WH -] --> H0[PSUBCAT VPINF] V1[VFORM INF, FIN -].
PSRULE P1/p_ppart : P1[WH -] --> H0[PSUBCAT VPPRT] V1[VFORM PPART].
PSRULE P1/as_a2 : P1[WH -] --> H0[PFORM AS, PSUBCAT AP] A2.
PSRULE P1/than_a2 : P1[WH -] --> H0[PFORM THAN, PSUBCAT AP] A2.
PSRULE P1/p : P1[ADJ -, WH -] --> H0[PSUBCAT NONE, PFORM PREP].
PSRULE P1/pwh : P1[ADJ -, WH +] --> H0[PSUBCAT NONE, PFORM WH].
PSRULE PP/adv_p1 : P2[ADJ -, WH @x, MOD -] --> A2[ADV +] H1[WH @x].
PSRULE PP/p1 : P2[WH @x] --> H1[WH @x].
PSRULE PP/cj_beg : P2[CONJ -, WH @x] --> CJ[CJTYPE BEGIN] H2[CONJ +, WH @x].
PSRULE PP/cj_int : P2[CONJ @x, WH @x] --> H2[CONJ -, WH @x1] ( +pco ) 
   H2[CONJ +, WH @x].
PSRULE PP/cj_end : P2[CONJ +, WH @x] --> CJ[CJTYPE END] H2[CONJ -, WH @x].
PSRULE P/cj_int : P0[CONJ @x] --> H0[CONJ -] H0[CONJ +].
PSRULE P/cj_end : P0[CONJ +] --> CJ[CJTYPE END] H0[CONJ -].

PSRULE A1/a : A1[MOD -] --> H0.
PSRULE A1/dg_a : A1 --> DG H1.
PSRULE A1/a_of : A1[MOD +] --> H0 P2[PFORM OF].
PSRULE A1/a_for : A1[ADV -, MOD +] --> H0 P2[PFORM FOR].
PSRULE A1/a_pp1 : A1[ADV -, MOD +] --> H0 P2[PFORM PREP].
PSRULE A1/a_pp2 : A1[ADV -, MOD +] --> H0 P2[PFORM THAN].
PSRULE A1/a_pp3 : A1[ADV -, MOD +] --> H0 P2[PFORM WITH].
PSRULE A1/a_pp4 : A1[ADV -, MOD +] --> H0 P2[PFORM WITHOUT].
PSRULE A1/a1_pp1 : A1[ADV -, MOD +] --> H1 P2[PFORM PREP].
PSRULE A1/a1_pp2 : A1[ADV -, MOD +] --> H1 P2[PFORM WITH].
PSRULE A1/a1_pp3 : A1[ADV -, MOD +] --> H1 P2[PFORM WITHOUT].
PSRULE A1/a_s : A1[ADV -, MOD +] --> H0 V2[INV -, FIN +, -sc, -cl].
PSRULE A1/a_inf : A1[ADV -, MOD +] --> H0 V1[VFORM INF, FIN -].
PSRULE A1/a_sinf : A1[ADV -, MOD +] --> H0 P2[PFORM OF] V1[VFORM INF, FIN -].
PSRULE AP/cj_beg : A2[CONJ -] --> CJ[CJTYPE BEGIN] H2[CONJ +].
PSRULE AP/cj_int : A2[CONJ @c] --> H2[CONJ -, AFORM @x, ADV @y] ( +pco ) A2[CONJ
+, AFORM @x, ADV @y].
PSRULE AP/cj_end : A2[CONJ +] --> CJ[CJTYPE END] H2[CONJ -].
PSRULE A/cj_int1 : A0[CONJ @x] --> H0[CONJ -] H0[CONJ +].
PSRULE A/cj_int2 : A0[CONJ @x] --> H0[CONJ -] V0[CONJ +, VFORM PPART].
PSRULE A/cj_int3 : A0[CONJ @x] --> V0[CONJ -, VFORM PPART] H0[CONJ +].
PSRULE A/cj_end : A0[CONJ +] --> CJ[CJTYPE END] H0[CONJ -].
PSRULE A1/adv_a1 : A1[ADV -] --> A2[ADV +] H1.
PSRULE A1/adv_er : A1[ADV +] --> A0[ADV +] H0[AFORM ER].
PSRULE A1/no_er : A1[ADV +] --> DT H0[AFORM ER].
PSRULE A1/er_adv : A1[ADV -] --> H0[AFORM ER] A0[ADV +].
PSRULE AP/a1 : A2 --> H1.
PSRULE AP/a_a : A2 --> H0[ATYPE @x, ADV +] A0[ATYPE @x, ADV +].
PSRULE AP/a_apl : A2 --> H0[ATYPE CAT, ADV +] A0[ATYPE PLACE, ADV +].
PSRULE AP/not_a : A2 --> NG H0[ATYPE CAT, ADV +].
PSRULE AP/adv_of : A2 --> H0[ATYPE CAT, ADV +] P2[PFORM OF].
PSRULE AP/dg_ppt : A2 --> DG V0[VFORM PPART].
PSRULE AP/dg_ing : A2 --> DG V0[VFORM ING, FIN -].
PSRULE A1/adv_ppt : A1 --> A2[ADV +] V0[VFORM PPART].
PSRULE A1/adv_ing : A1 --> A2[ADV +] V0[VFORM ING, FIN -].
PSRULE CJ/beg_beg : CJ[CJTYPE BEGIN] --> CJ[CJTYPE BEGIN] CJ[CJTYPE BEGIN].

PROPRULE HFC_V : [V +, N -] --> [H +], U. F(0) = F(1), F in VHEAD.
PROPRULE HFC_N : [V -, N +] --> [H +], U. F(0) = F(1), F in NHEAD.
PROPRULE HFC_P : [V -, N -] --> [H +], U. F(0) = F(1), F in PHEAD.
PROPRULE HFC_A : [V +, N +] --> [H +], U. F(0) = F(1), F in AHEAD.
PROPRULE AGR1 : V2 --> [N +, V -], [H +, BAR 1]. PLU(1) = PLU(2).
PROPRULE AGR2 : N2 --> [MINOR DET], [H +]. PLU(1) = PLU(2).
PROPRULE WH1 : N1 --> [H +], U. WH(0) = WH(1).
PROPRULE INV : V2 --> H2, U. INV(0) = INV(1).
PROPRULE TXTCAT1 : V2 --> H2, U. TXTCAT(0) = TXTCAT(1).
PROPRULE TXTCAT2 : N2 --> [H +, BAR (1, 2)], U. TXTCAT(0) = TXTCAT(1).
PROPRULE TXTCAT3 : N1 --> H1, U. TXTCAT(0) = TXTCAT(1).
PROPRULE PUNCT : [TA +, BAR (1, 2)] --> [H +], [TXTCAT ADJUNCT]. 
   F(0) = F(2), F in PUNCTS.

DEFRULE CONJ1 : [N, V, ~COLON, ~TA] --> [H +, CONJ @], U. CONJ(1) = -.
DEFRULE CONJ2 : [N, V, ~COLON, ~TA] --> [N, V, ~CONJ], U. CONJ(1) = -.
DEFRULE AUX : V1 --> [H0], U. AUX(1) = -.
DEFRULE POSS1 : N1 --> U. POSS(0) = -.
DEFRULE POSS2 : [] --> [N2], U. POSS(1) = -.
DEFRULE WHNP : V2 --> [N2], U. WH(1) = -.
DEFRULE WHPP : V2 --> [P2], U. WH(1) = -.
DEFRULE ADJUNCT : [TXTCAT ADJUNCT] --> U. F(0) = -, F in PUNCTS.
DEFRULE COLON : V2[COLON (@, -)] --> H2, U. COLON(1) = -.
DEFRULE SCOLON1 : [TXTCAT(UNIT,~)] --> [BAR 2], U. SCOLON(1) = -.
DEFRULE SCOLON2 : [TXTCAT(UNIT,~)] --> H2, U. SCOLON(1) = -.
DEFRULE SCOLON3 : [BAR 2] --> U. SCOLON(0) = -.
DEFRULE SCOLON4 : N1 --> U. SCOLON(0) = -.
DEFRULE SCOLON5 : V1 --> U. SCOLON(0) = -.
DEFRULE SCOLON6 : [N +, V -] --> H1, U. SCOLON(1) = -.
DEFRULE SCOLON7 : [N -, V +] --> H1, U. SCOLON(1) = -.
DEFRULE SCOLON8 : [] --> N1, U. SCOLON(1) = -.
DEFRULE SCOLON9 : [] --> V1, U. SCOLON(1) = -.
DEFRULE TA1 : [N +, V -] --> [H +, BAR 1], U. TA(1) = -.
DEFRULE TA2 : N2 --> [H +], [N +, V -, BAR (1, 2)], U. TA(2) = -.
DEFRULE TA3 : N2 --> [H +], V2, U. TA(2) = -.

WORD APP$ : DT[WH -, PLU @x, POSS +].
WORD AT : DT[PLU @x, POSS -, WH -].
WORD AT1 : DT[PLU -, POSS -, WH -].
WORD BCS : P0[PSUBCAT SFIN, PFORM PREPS].
WORD BTO : P0[PSUBCAT VPINF, PFORM PREPS], P0[PSUBCAT PP, PFORM PREPS].
WORD CC : CJ[CJTYPE END].
WORD CCB : CJ[CJTYPE END].
WORD CF : P0[PSUBCAT SFIN, PFORM PREPS, CONJ -], 
   P0[PSUBCAT NONE, PFORM PREPS, CONJ -].
WORD CS : P0[PSUBCAT SFIN, PFORM PREPS, CONJ -], 
   P0[PSUBCAT VPPRT, PFORM PREPS, CONJ -], 
   P0[PSUBCAT VPING, PFORM PREPS, CONJ -], P0[PSUBCAT PP, PFORM PREPS, CONJ -].
WORD CSA : P0[PSUBCAT @y, PFORM AS, CONJ -].
WORD CSN : P0[PSUBCAT @y, PFORM THAN, CONJ -].
WORD CST : CP.
WORD CSW : P0[PSUBCAT SFIN, PFORM PREPS, ADJ -, CONJ -], 
   P0[PSUBCAT VPINF, PFORM PREPS, CONJ -].
WORD DA : A0[ADV -, ATYPE ATT, AFORM NONE, CONJ -], 
   N2[SCOLON -, NTYPE PRO, PLU @x, POSS -, WH -, CONJ -], DT[POSS -, WH -, PLU
@x].
WORD DA1 : A0[ADV @x, ATYPE ATT, AFORM NONE, CONJ -], 
   N2[SCOLON -, NTYPE PRO, PLU -, POSS -, WH -, CONJ -], DT[POSS -, WH -, PLU -].
WORD DA2 : A0[ADV @x, ATYPE ATT, AFORM NONE, CONJ -], 
   N2[SCOLON -, NTYPE PRO, PLU +, POSS -, WH -, CONJ -].
WORD DA2R : A0[ADV -, ATYPE @x, AFORM ER, CONJ -], 
   N2[SCOLON -, NTYPE PRO, PLU +, POSS -, WH -, CONJ -].
WORD DAR : A0[ADV @x, ATYPE CAT, AFORM ER, CONJ -], 
   N2[SCOLON -, NTYPE PRO, PLU @x, POSS -, WH -, CONJ -].
WORD DAT : A0[ADV -, ATYPE @x, AFORM EST, CONJ -], 
   N2[SCOLON -, NTYPE PRO, PLU @x, POSS -, WH -, CONJ -].
WORD DB : N0[NTYPE PART, PLU @x, POSS -, WH -, CONJ -], 
   N2[SCOLON -, NTYPE PRO, PLU @x, POSS -, WH -, CONJ -], 
   A0[AFORM NONE, ATYPE CAT, ADV +, CONJ -].
WORD DB2 : N0[NTYPE PART, PLU +, POSS -, WH -, CONJ -].
WORD DD : DT[PLU @x, WH -, POSS -], 
   N2[SCOLON -, NTYPE PRO, PLU @x, POSS -, WH -, CONJ -].
WORD DD1 : DT[PLU -, WH -, POSS -], 
   N2[SCOLON -, NTYPE PRO, PLU -, POSS -, WH -, CONJ -].
WORD DD2 : DT[PLU +, WH -, POSS -], 
   N2[SCOLON -, NTYPE PRO, PLU +, POSS -, WH -, CONJ -].
WORD DDQ : DT[WH +, PLU @x, POSS -], 
   N2[SCOLON -, NTYPE PRO, PLU @x, POSS -, WH +, CONJ -].
WORD DDQ$ : DT[WH +, POSS -, PLU @x], 
   N2[SCOLON -, NTYPE PRO, PLU @x, POSS -, WH +, CONJ -].
WORD DDQV : DT[WH +, PLU @x, POSS -], 
   N2[SCOLON -, NTYPE PRO, PLU @x, POSS -, WH +, CONJ -].
WORD EX : N2[SCOLON -, NTYPE THERE, PLU @x, POSS -, WH -, CONJ -].
WORD ICS : P0[PSUBCAT SFIN, PFORM PREPS], 
   P0[PSUBCAT VPING, PFORM PREPS, CONJ -], P0[PSUBCAT NP, PFORM PREP], 
   P0[PSUBCAT PP, PFORM PREP].
WORD IF : P0[PSUBCAT SINF, PFORM FORS, CONJ -], 
   P0[PSUBCAT NP, PFORM FOR, CONJ -], P0[PSUBCAT VPING, PFORM FOR, CONJ -].
WORD II : P0[PSUBCAT @x, PFORM PREP, CONJ -].
WORD IO : P0[PSUBCAT NP, PFORM OF, ADJ +, CONJ -], 
   P0[PSUBCAT VPING, PFORM OF, ADJ +, CONJ -], PT.
WORD IW : P0[PSUBCAT NP, PFORM WITH, CONJ -], 
   P0[PSUBCAT VPING, PFORM WITHOUT, CONJ -].
WORD JA : A0[ADV -, ATYPE PRD, AFORM NONE, CONJ -].
WORD JB : A0[ADV -, ATYPE ATT, AFORM NONE, CONJ -].
WORD JBR : A0[ADV -, ATYPE ATT, AFORM ER, CONJ -].
WORD JBT : A0[ADV -, ATYPE ATT, AFORM EST, CONJ -].
WORD JJ : A0[ADV -, ATYPE @x, AFORM NONE, CONJ -].
WORD JJR : A0[ADV -, ATYPE @x, AFORM ER, CONJ -].
WORD JJT : A0[ADV -, ATYPE @x, AFORM EST, CONJ -].
WORD JK : A0[ADV -, ATYPE CAT, AFORM NONE, CONJ -].
WORD LE : CJ[CJTYPE BEGIN].
WORD MC : N0[NTYPE NUM, PLU @x, POSS -, WH -, CONJ -].
WORD MC$ : N2[SCOLON -, NTYPE NUM, PLU @x, POSS +, WH -, CONJ -].
WORD MC-MC : N2[SCOLON -, NTYPE NUM, PLU @x, POSS -, WH -, CONJ -].
WORD MC1 : N0[NTYPE NUM, PLU -, POSS -, WH -, CONJ -], 
   DT[POSS -, PLU -, WH -].
WORD MC2 : N0[NTYPE NUM, PLU @x, POSS -, WH -, CONJ -].
WORD MD : A0[ADV @x, ATYPE NUM, AFORM NONE, CONJ -], 
   N0[NTYPE NUM, PLU -, POSS -, WH -, CONJ -].
WORD MF : N2[SCOLON -, NTYPE NUM, PLU @x, POSS -, WH -, CONJ -].
WORD NC2 : N0[NTYPE NORM, PLU +, POSS -, WH -, CONJ -].
WORD ND1 : N0[NTYPE DIR, PLU -, POSS -, WH -, CONJ -].
WORD NN : N0[NTYPE NORM, PLU @x, POSS -, WH -, CONJ -].
WORD NN1 : N0[NTYPE NORM, PLU -, POSS -, WH -, CONJ -].
WORD NN1$ : N0[NTYPE NORM, PLU +, POSS +, WH -, CONJ -].
WORD NN2 : N0[NTYPE NORM, PLU +, POSS -, WH -, CONJ -].
WORD FA : N0[NTYPE NORM, PLU @x, POSS -, WH -, CONJ -].
WORD FB : N0[NTYPE NORM, PLU @x, POSS -, WH -, CONJ -].
WORD FW : N0[NTYPE NORM, PLU @x, POSS -, WH -, CONJ -].
WORD \&FW : N0[NTYPE NORM, PLU @x, POSS -, WH -, CONJ -].
WORD \&FO : N0[NTYPE NAME, PLU @x, POSS -, WH -, CONJ -].
WORD NNJ : N0[NTYPE NORM, PLU @x, POSS -, WH -, CONJ -].
WORD NNJ1 : N0[NTYPE NORM, PLU -, POSS -, WH -, CONJ -].
WORD NNJ2 : N0[NTYPE NORM, PLU +, POSS -, WH -, CONJ -].
WORD NNL : N0[NTYPE PLACE, PLU @x, POSS -, WH -, CONJ -].
WORD NNL1 : N0[NTYPE PLACE, PLU -, POSS -, WH -, CONJ -].
WORD NNL2 : N0[NTYPE PLACE, PLU +, POSS -, WH -, CONJ -].
WORD NNO : N0[NTYPE NORM, PLU @x, POSS -, WH -, CONJ -].
WORD NNO1 : N0[NTYPE NORM, PLU -, POSS -, WH -, CONJ -].
WORD NNO2 : N0[NTYPE NORM, PLU +, POSS -, WH -, CONJ -].
WORD NNS : N0[NTYPE TIT, PLU @x, POSS -, WH -, CONJ -], 
   N0[NTYPE NORM, PLU @x, POSS -, WH -, CONJ -].
WORD NNS1 : N0[NTYPE TIT, PLU -, POSS -, WH -, CONJ -], 
   N0[NTYPE NORM, PLU -, POSS -, WH -, CONJ -].
WORD NNS2 : N0[NTYPE TIT, PLU +, POSS -, WH -, CONJ -], 
   N0[NTYPE NORM, PLU +, POSS -, WH -, CONJ -].
WORD NNSA1 : N0[NTYPE POSTTIT, PLU -, POSS -, WH -, CONJ -].
WORD NNSA2 : N0[NTYPE POSTTIT, PLU +, POSS -, WH -, CONJ -].
WORD NNSB : N0[NTYPE PRETIT, PLU @x, POSS -, WH -, CONJ -].
WORD NNSB1 : N0[NTYPE PRETIT, PLU -, POSS -, WH -, CONJ -].
WORD NNSB2 : N0[NTYPE PRETIT, PLU +, POSS -, WH -, CONJ -].
WORD NNT : N0[NTYPE TEMP, PLU @x, POSS -, WH -, CONJ -].
WORD NNT1 : N0[NTYPE TEMP, PLU -, POSS -, WH -, CONJ -].
WORD NNT2 : N0[NTYPE TEMP, PLU +, POSS -, WH -, CONJ -].
WORD NNU : N0[NTYPE MEAS, PLU @x, POSS -, WH -, CONJ -].
WORD NNU1 : N0[NTYPE MEAS, PLU -, POSS -, WH -, CONJ -].
WORD NNU2 : N0[NTYPE MEAS, PLU +, POSS -, WH -, CONJ -].
WORD NP : N0[NTYPE NAME, PLU @x, POSS -, WH -, CONJ -].
WORD NP1 : N0[NTYPE NAME, PLU -, POSS -, WH -, CONJ -].
WORD NP2 : N0[NTYPE NAME, PLU +, POSS -, WH -, CONJ -].
WORD NPD1 : N0[NTYPE TEMP, PLU -, POSS -, WH -, CONJ -], 
   N2[SCOLON -, NTYPE TEMP, PLU -, POSS -, WH -, CONJ -].
WORD NPD2 : N0[NTYPE TEMP, PLU +, POSS -, WH -, CONJ -].
WORD NPM1 : N0[NTYPE MEAS, PLU -, POSS -, WH -, CONJ -], 
   N2[SCOLON -, NTYPE MEAS, PLU -, POSS -, WH -, CONJ -].
WORD NPM2 : N0[NTYPE MEAS, PLU +, POSS -, WH -, CONJ -].
WORD PN : N2[SCOLON -, NTYPE PRO, PLU @x, POSS -, WH -, CONJ -].
WORD PN1 : N2[SCOLON -, NTYPE PRO, PLU -, POSS -, WH -, CONJ -].
WORD PNQO : N2[SCOLON -, NTYPE PRO, PLU -, POSS -, WH +, CONJ -].
WORD PNQS : N2[SCOLON -, NTYPE PRO, PLU -, POSS -, WH +, CONJ -].
WORD PNQV$ : N2[SCOLON -, NTYPE PRO, PLU -, POSS -, WH +, CONJ -].
WORD PNQVO : N2[SCOLON -, NTYPE PRO, PLU -, POSS -, WH +, CONJ -].
WORD PNQVS : N2[SCOLON -, NTYPE PRO, PLU -, POSS -, WH +, CONJ -].
WORD PNX1 : N2[SCOLON -, NTYPE PRO, PLU -, POSS -, WH -, CONJ -].
WORD PP$ : N2[SCOLON -, NTYPE PRO, PLU -, POSS +, WH -, CONJ -].
WORD PPH1 : N2[SCOLON -, NTYPE PRO, PLU -, POSS -, WH -, CONJ -].
WORD PPHO1 : N2[SCOLON -, NTYPE PRO, PLU -, POSS -, WH -, CONJ -].
WORD PPHO2 : N2[SCOLON -, NTYPE PRO, PLU +, POSS -, WH -, CONJ -].
WORD PPHS1 : N2[SCOLON -, NTYPE PRO, PLU -, POSS -, WH -, CONJ -].
WORD PPHS2 : N2[SCOLON -, NTYPE PRO, PLU +, POSS -, WH -, CONJ -].
WORD PPIO1 : N2[SCOLON -, NTYPE PRO, PLU -, POSS -, WH -, CONJ -].
WORD PPIO2 : N2[SCOLON -, NTYPE PRO, PLU +, POSS -, WH -, CONJ -].
WORD PPIS1 : N2[SCOLON -, NTYPE PRO, PLU -, POSS -, WH -, CONJ -].
WORD PPIS2 : N2[SCOLON -, NTYPE PRO, PLU +, POSS -, WH -, CONJ -].
WORD PPX1 : N2[SCOLON -, NTYPE REFL, PLU -, POSS -, WH -, CONJ -].
WORD PPX2 : N2[SCOLON -, NTYPE REFL, PLU +, POSS -, WH -, CONJ -].
WORD PPY : N2[SCOLON -, NTYPE PRO, PLU @x, POSS -, WH -, CONJ -].
WORD RA : A0[AFORM NONE, ATYPE POST, ADV +, CONJ -].
WORD REX : A0[AFORM NONE, ATYPE XCOMP, ADV +, CONJ -].
WORD RG : A0[AFORM NONE, ATYPE DG, ADV +, CONJ -].
WORD RGA : A0[AFORM NONE, ATYPE POST, ADV +, CONJ -].
WORD RGQ : P0[PFORM WH, CONJ -].
WORD RGQV : P0[PFORM WH, CONJ -].
WORD RGR : A0[AFORM ER, ATYPE @x, ADV +, CONJ -].
WORD RGT : A0[AFORM EST, ATYPE @x, ADV +, CONJ -].
WORD RL : A0[AFORM NONE, ATYPE PLACE, ADV +, CONJ -], PT.
WORD RP : A0[AFORM NONE, ATYPE CAT, ADV +, CONJ -], PT.
WORD RPK : A0[AFORM NONE, ATYPE CAT, ADV +, CONJ -].
WORD RR : A0[AFORM NONE, ATYPE CAT, ADV +, CONJ -].
WORD RRQ : P0[PFORM WH, PSUBCAT NONE, CONJ -].
WORD RRQV : P0[PFORM WH, PSUBCAT NONE, CONJ -].
WORD RRR : A0[AFORM ER, ATYPE CAT, ADV +, CONJ -].
WORD RRT : A0[AFORM EST, ATYPE CAT, ADV +, CONJ -].
WORD RT : N2[NTYPE TEMP, POSS -, PLU -, WH -, CONJ -, MOD -, SCOLON -].
WORD TO : V0[FIN -, INV -, AUX TO, VFORM INF, CONJ -].
WORD UH : IJ.
WORD VB0 : V0[FIN +, INV @y, AUX BE, VFORM BSE, PLU @x, CONJ -].
WORD VBDR : V0[FIN +, INV @y, AUX BE, VFORM PAST, PLU @x, CONJ -].
WORD VBDZ : V0[FIN +, INV @y, AUX BE, VFORM PAST, PLU -, CONJ -].
WORD VBG : V0[FIN -, INV @y, AUX BE, VFORM ING, PLU @x, CONJ -].
WORD VBM : V0[FIN +, INV @y, AUX BE, VFORM PRES, PLU -, CONJ -].
WORD VBN : V0[FIN +, INV @y, AUX BE, VFORM PPART, PLU @x, CONJ -].
WORD VBR : V0[FIN +, INV @y, AUX BE, VFORM PRES, PLU @x, CONJ -].
WORD VBZ : V0[FIN +, INV @y, AUX BE, VFORM PRES, PLU -, CONJ -].
WORD VD0 : V0[FIN +, INV @y, AUX DO, VFORM BSE, PLU @x, CONJ -].
WORD VDD : V0[FIN +, INV @y, AUX DO, VFORM PAST, PLU @x, CONJ -].
WORD VDG : V0[FIN -, INV @y, AUX DO, VFORM ING, PLU @x, CONJ -].
WORD VDN : V0[FIN +, INV @y, AUX DO, VFORM PPART, PLU @x, CONJ -].
WORD VDZ : V0[FIN +, INV @y, AUX DO, VFORM PRES, PLU -, CONJ -].
WORD VH0 : V0[FIN +, INV @y, AUX HAVE, VFORM BSE, PLU @x, CONJ -].
WORD VHD : V0[FIN +, INV @y, AUX HAVE, VFORM PAST, PLU @x, CONJ -].
WORD VHG : V0[FIN -, INV @y, AUX HAVE, VFORM ING, PLU @x, CONJ -].
WORD VHN : V0[FIN +, INV @y, AUX HAVE, VFORM PPART, PLU @x, CONJ -].
WORD VHZ : V0[FIN +, INV @y, AUX HAVE, VFORM PRES, PLU -, CONJ -].
WORD VM : V0[FIN +, INV @y, AUX MODAL, VFORM PRES, PLU @x, CONJ -].
WORD VMK : V0[FIN +, INV @y, AUX CAT, VFORM PRES, PLU @x, CONJ -].
WORD VVD : V0[FIN +, AUX -, VFORM PAST, PLU @x, CONJ -].
WORD VVG : V0[FIN -, AUX -, VFORM ING, PLU @x, CONJ -].
WORD VVN : V0[FIN +, AUX -, VFORM PPART, PLU @x, CONJ -].
WORD VVZ : V0[FIN +, AUX -, VFORM PRES, PLU -, CONJ -].
WORD VVGK : V0[FIN -, AUX -, VFORM ING, PLU @x, CONJ -].
WORD VVNK : V0[FIN +, AUX -, VFORM PPART, PLU @x, CONJ -].
WORD VV0 : V0[FIN +, AUX -, VFORM BSE, PLU @x, CONJ -].
WORD XX : NG.
WORD ZZ1 : N0[PLU -, NTYPE NAME, POSS -, WH -, CONJ -], 
   N2[SCOLON -, PLU -, NTYPE NAME, POSS -, WH -, CONJ -].
WORD ZZ2 : N0[PLU +, NTYPE NAME, POSS -, WH -, CONJ -].
WORD $ : N0[PLU @x, NTYPE POSS, POSS +, WH -, CONJ -].
WORD , : [PUNCT comma].
WORD \; : [PUNCT semicolon].
WORD : : [PUNCT colon].
WORD ! : [PUNCT exmark].
WORD ? : [PUNCT qumark].
WORD - : [PUNCT dash].
WORD ( : [PUNCT lbrack].
WORD ) : [PUNCT rbrack].
WORD \.\.\. : [PUNCT dash].
;;;extra entry.
word \. :[PUNCT period].

