%%% -*- Mode: PROLOG; Package: PROLOG-USER -*- %%% PERIPHERY %%% %%% (c) 1991, 1992, 1993 Sandiway Fong, NEC Research Institute, Inc. %%% Revised 2001 %%% %%% Language-particular operations + kludgey stuff %%% S-STRUCTURE GRAMMAR ADDITIONS % Have to be a bit picky in what we allow in [Spec,CP] spec(c1,exnp). % rule empty c (no V to C) rule exnp -> [np(NP)] st \+ ec(NP) if isMatrixLevel. rule overtONP -> [overtNP(NP)] st (C==acc;C==dat) if NP has_feature morphC(C). adjunction rule i2 -> [overtONP,i2]. % no intermediate traces %%% GRAMMAR RULE RESTRICTIONS % Reduce non-determinism for adjunction rhs [vsubcatvp,vp(VP)] add_goals [\+ adjoinedMax(VP)]. % Check for that obligatory adjuncts are present rhs [i,vp(X)] add_goals [vpRequiresExt(X)]. rhs [neg,vp(X)] add_goals [vpRequiresExt(X)]. %%% SUPPORT FOR DETERMINER/N1 INTERACTION %% Determiner and N1 interaction % Inherit [wh(_),op(+/-)] features from spec instead of head rhs [det,n1] add_inherit plus(2,[1,[wh(_),op(_)]]). %%% CASE THEORY % compatibleCase(AssignedCase,MorphologicallyRealizedCase) compatibleCase(X,X). % Case Transmission no caseTransmission(_,_,_). % Genitive Case realization (of/'s) realizedAsMarker(gen). caseRealizationMode(NP,Mode) :- NP has_feature compl -> Mode = case % of him ; Mode = caseMorphC. % John's, his %%% EMPTY COMP % To satisfy the WhInSyntax filter, % matrix [C] is freely [+/-Wh], e.g. who left, john left emptyCompFeatures(Fs) :- mkFs([wh(_)],Fs). %%% Move-Alpha (D-structure to S-structure) moves(CF,C) :- cat(CF,C), member(C,[np]). %% Chain Formation conditions chainLinkConditions(_New,_Head,_L,_UpPath,_DownPath). %%% MISCELLANEOUS no shiftRequest(_,_). % NB: should allow for [VP [V2 [V1 [V V Adv]]]] collapsing to [VP V Adv] adjoinedMax(X) :- adjoined(X,_,Y), cat(Y,C), max(C).