" NorGram --- The ParGram LFG Implementation of Norwegian Copyright (c) 1999 -- 2007 Helge Dyvik (helge.dyvik@lili.uib.no) Copyright (c) 1999 -- 2007 Victoria Rosén (victoria@uib.no) This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. " BOKMAL NORSK CONFIG (1.0) RULES (BOKMAL NORSK). ROOTCAT ROOT. REPARSECAT FRAGMENTSTOP. FILES bokmal-nkllex.lfg bokmal-nklvrblex.lfg bokmal-lex-mrs.lfg bokmal-mwe.lfg bokmal-templates-mrs.lfg bokmal-morph-fst.lfg. LEXENTRIES (BOKMAL NORSK-NKL) (BOKMAL NORSK). TEMPLATES (BOKMAL NORSK). MORPHOLOGY (BOKMAL NORSK). PERFORMANCEVARSFILE performance-vars.txt. GOVERNABLERELATIONS SUBJ OBJ OBJben OBL-?* OBJth COMP XCOMP PREDLINK OBL OBL-COMPAR X NULL. SEMANTICFUNCTIONS ADJUNCT FOCUS TOPIC XADJUNCT ADJ-COMPAR. FEATURES (STANDARD COMMON) (BOKMAL NORSK). NONDISTRIBUTIVES NUM GEND REF-COORD CASE PRON-TYPE COORD-FORM PRECOORD-FORM COORD-POL STMT-TYPE TNS-ASP CHECK REF conn sel. EPSILON e. OPTIMALITYORDER Mark8 NOGOOD *Fragment3 *Fragment2 Guess CSTRUCTURE Mark7 grinder STOPPOINT "Mark6 STOPPOINT" *Fragment "Mark5 STOPPOINT" Mark4 Mark3 +Mark1 +Mark2. GENOPTIMALITYORDER NOGOOD. ---- STANDARD COMMON FEATURES (1.0) ANIM: -> $ {+ -}. AQUANT: -> << [ ADJUNCT PRED QUANT-TYPE DEGREE DEG-DIM ]. ATYPE: -> $ {"adverbial" attributive predicative}. CASE: -> $ {acc dat erg gen inst loc nom obl}. CLAUSE-TYPE: -> $ { adv cond decl imp int nom pol-int rel wh-int}. "need to be trimmed down" COMMON: -> $ { count gerund mass measure partitive }. DEG-DIM: -> $ {equative neg pos}. DEGREE: -> $ {comparative positive superlative}. DET: --> << [ DEIXIS DET-TYPE PRED ]. DET-TYPE: -> $ {article def demon indef int rel}. "check article value" GEND: { -> $ {fem masc neut} | -> << [ FEM MASC NEUT ] }. GEND-SEM: -> $ {female male nonhuman}. LOCATION-TYPE: -> $ { city country }. MOOD: -> $ {imperative indicative subjunctive successive}. NAME-TYPE: -> $ {first_name last_name }. NSEM: -> << [ COMMON NUMBER-TYPE PROPER TIME ]. NSYN: -> $ { common pronoun proper }. NTYPE: -> << [ CHECK NSEM NSYN ]. NUM: -> $ {pl sg}. NUMBER: -> << [NUMBER-TYPE PRED ADJUNCT CLASSIFIER-FORM MOD]. NUMBER-TYPE: -> $ {card fract ord percent}. PASSIVE: -> $ {+ -}. PERF: -> $ {+ - +_ -_}. PERS: -> $ {1 2 3}. PROG: -> $ {+ - +_ -_}. PRON-TYPE: -> $ {demon expl_ free inh-refl_ int locative null pers quant poss recip refl rel}. PROPER: -> << [ PROPER-TYPE LOCATION-TYPE NAME-TYPE ]. PROPER-TYPE: -> $ { addr_form location name organization title }. PSEM: -> $ {ag ben compar dir inst loc manner num part poss purp temp }. PTYPE: -> $ {nosem sem}. QUANT: -> << [ADJUNCT QUANT-TYPE POL PRED DEGREE DEG-DIM ]. QUANT-TYPE: -> $ {comparative equative existential gen negative superlative universal}. SPEC: -> << [ADJUNCT AQUANT DET NUMBER POSS QUANT SPEC-TYPE]. STMT-TYPE: -> $ { decl header imp int }. TENSE: -> $ {fut null past pres}. TIME: -> $ { date day hour minute month season second week year}. TNS-ASP: -> << [MOOD PERF PROG TENSE]. VTYPE: -> $ {aux copular main modal noncopular predicative raising}. ---- BOKMAL NORSK FEATURES (1.0) "Grammatical Functions:" XCOMP. PREDLINK. COMP.NULL. OBJ. OBJben. OBL. "OBL-?*." OBL-COMPAR. OBJth. SUBJ. X. "Semantic functions:" ADJUNCT. ADJ-COMPAR. FOCUS. TOPIC. XADJUNCT. "Features:" _ABSTRACT: -> $ {+ -}. absolute. abstract: -> $ {+ -}. addcond. additional: -> $ {+ -}. ADDRESS: -> $ {respect}. ADET. ADJUNCT-TYPE: -> $ {degree}. ADV-TYPE: -> $ {degree loc manner neg temp reason focal}. _ADVERBIAL: -> $ {+ -}. AGRNUM: -> $ {sg pl}. "For use in literal numeral expressions" !ANIM: -> $ {}. _ANIM: -> $ {+ -}. anim: -> $ {+ -}. _ANTECED: -> << [NUM PERS ADDRESS ARG0 ind]. APP. app. !AQUANT: -> << [ ADJUNCT PRED DEGREE DEG-DIM DEF CHECK]. arg. arg1. arg2. arg3. arg4. _ARITH: -> $ {+ -}. ASEM: -> $ {temp}. ASP: -> $ {continuous progressive durative}. aspect: -> << [frequent infrequent quick durative inchoative resulting-state occasional continuous progressive iterative]. _ASPVERB: -> $ {+_ -}. assured: -> $ {+ -}. attitude: -> << [favourable questioning emphatic plausible concessive contrapositive inferential]. _ATTR: -> $ {+ -}. "AUX: -> $ {+ -}." _AUX-SELECT: -> $ {be}. _AUX1COMP: -> $ {+ -}. background. base. &CASE: -> $ {gen nom obl}. CHECK: -> << [_ABSTRACT _ADVERBIAL _ANIM _ANTECED _ARITH _ASPVERB _ATTR _AUX-SELECT _AUX1COMP _CIRCP-FORM _DEF-MORPH _DEG-MORPH _DEPON _DER-HEAD _FLOATING _GUESS _HUMAN _IMPSUBJNUM _INITCOMMA _MOVED-BEN _MOVED-OBJ _MRSPTR _MSRBL _NONARG _OBJINSITU _OTHERQUANT _P-SELFORM _PARTITIVE _PREDEF _PREDET _PREDICATIVE _PREPEXISTS _PREPOSS _PREQ _PART _PRT-VERB _REFL _SEL _SUPINE _TOPVP _VCONSTR OUTSCPD RELS _CONJCORR]. _CIRCP-FORM. !CLAUSE-TYPE: -> $ {adv nominal pol-int rel wh-int}. "CMP: -> $ {+ -}." "!COMMON: -> $ {}." comp-focus: -> $ {+ -}. "In comparative clauses." COMP-FORM: -> $ {at da da-caus der dersom etterat ettersom etter` som etter` hvert` som for forat for` at for-å fordi før hvis hvorvidt i` tilfelle innen inntil mens når om selv` om som siden slik` at så såfremt å til}. concessive: -> $ {+ -}. cond. COORD-FORM: -> $ {eller og men for comma}. COORD-POL: -> $ {pos neg}. conn: -> $ {conj disj advers}. context: -> << [additional]. continuous: -> $ {+ -}. contrapositive: -> $ {+ -}. cotemp: -> $ {+ -}. cotemp-with. "DATSHIFT: -> $ {+ -}." DEF: -> $ {+ -}. _DEF-MORPH: -> $ {+ -}. "!DEG-DIM: -> $ {}. !DEGREE: -> $ {}." _DEG-MORPH: -> $ {positive comparative superlative}. degree: -> $ {more-than as-much-as less-than most-of least-of}. deictic. deixis: -> $ {distal proximal}. DEIXIS: -> $ {distal proximal}. _DEPON: -> $ {+}. _DER-HEAD: -> $ {+ -}. +DET: -> << [DET-FORM]. DET-FORM: -> $ {hvilken}. !DET-TYPE: -> $ {article demon int nonspec}. DIGVALUE. disc-temp: -> << [succeeding]. durative: -> $ {+ -}. emphatic: -> $ {+ -}. epist: -> << [nec possib probable purported]. "in lexical entry for verbs like 'kunne'" epistemic: -> << [assured possible probable roughly]. "in lexical entries for adverbs" expast: -> $ {+}. EXPL-TYPE: -> $ {presentative}. favourable: -> $ {+ -}. FEM: -> $ {+ -}. FIRST. _FLOATING: -> $ {+ -}. floatquant. FOCUS-INT. focus. FREEPRED. freepred. frequent: -> $ {+ -}. FST-EL. "Experimental - to analyse compounds." fut: -> $ {+}. &GEND: -> << [FEM MASC NEUT]. &GEND-SEM: -> $ {female male}. given: -> $ {+ -}. "GRAIN: -> $ {count mass}." _GUESS: -> $ {+ -}. GVN-TOP. habil-perm: -> $ {+}. have-courage: -> $ {+}. have-duty: -> $ {+}. HEADNUM: -> $ {sg pl}. "For use in literal numeral expressions" HIGHER. "For number intervals." _HUMAN: -> $ {+ -}. human: -> $ {+ -}. identity: -> $ {X}. inchoative: -> $ {+ -}. ind: {-> << [given identity type ref] | -> $ {SPEAKER HEARER sit} }. inferential: -> $ {+ -}. infrequent: -> $ {+ -}. _IMPSUBJNUM: -> $ {sg pl}. _INITCOMMA: -> $ {+ -}. iterative: -> $ {+ -}. loc. !LOCATION-TYPE: -> $ {}. locmod. LOWER. "For number intervals." MAIN-CL: -> $ {+ -}. manner. MASC: -> $ {+ -}. MEASDIM: -> $ {age length weight}. MEASURE. measure. MEASURENOUN: -> $ {+ -}. mod: -> << [epist root]. modifiers. modtype: -> $ {cause comparison concession condition consequence intention explanation reason loc manner degree temp cotemp-with temp-following temp-preceding purpose}. MOD-TYPE: -> $ {root epistemic}. "MOD1: -> $ {+ -}. MOD2: -> $ {+}." &MOOD: -> $ {imperative indicative}. _MOVED-BEN: -> $ {+ -}. _MOVED-OBJ: -> $ {+ -}. _MSRBL: -> $ {+ -}. !NAME-TYPE: -> $ {}. nec: -> $ {+}. NEUT: -> $ {+ -}. _NONARG: -> $ {+ -}. "!NSEM: -> $ {}." !NSEM: -> << [ COMMON MEASDIM MEASURENOUN TIME ]. "!NSYN: -> $ {}." !NTYPE: -> << ["GRAIN" NSEM NSYN "MEASURENOUN MEASDIM TEMPNOUN WEEKDAY TOFD"]. "NULL." "(^ SUBJ) --> NULL in passive template" +NUM: -> $ {nonum}. !NUMBER: -> << [NUMBER-TYPE PRED HIGHER LOWER]. "NUMBER-FORM: -> $ {fem tre}." !NUMBER-TYPE: -> $ {card ord interval}. NUMCOMP. NUMPRECOMP. NUMSPEC. _OBJINSITU: -> $ {+ -}. oblig: -> $ {+}. occasional: -> $ {+ -}. ORD. _OTHERQUANT: -> $ {+ -}. "To distinguish between quantifier and adjective-like reading of 'annen'" ought-to: -> $ {+ -}. overlap: -> $ {+ -}. _PARTITIVE: -> $ {+ -}. PASS-TYPE: -> $ {morph periph complex ptc}. &PERF: -> $ {+ -}. permitted: -> $ {+ -}. +PERS: -> $ {nopers}. PFORM": -> $ {av av` for av` fra av` med av` på bak bakover blant bort bort` fra borti etter etter` for fast` i for før foran forbi fra fra` om fram fram` med fram` til framover frampå` om frem frem` med frem` til fremfor frempå` om gjennom hos i igjennom imot inn inn` blant inn` i inn` på inn` til inne` i inne` med innom innover innpå løs` på med mellom mot ned ned` i ned` mot ned` på nedover om opp opp` etter opp` for opp` i opp` med opp` mot opp` om opp` på opp` til opp` under oppover over over` av overfor på på` med per rett` opp rundt rundt` med sammen siden som sørover til til` med under unna unna` for ut ut` av ut` for ut` gjennom ut` i ut` med ut` mot ut` om uten utover ved vekk` fra}". plausible: -> $ {+ -}. pol: -> $ {+ - -_}. possib: -> $ {+}. POSS. "has f-structure of a nominal phrase as its value, see POSSP rule" POSS-TYPE: -> $ {1pers 2pers 3pers 3persrefl pp}. possible: -> $ {+ -}. precede: -> $ {+ -}. PRECOORD-FORM: -> $ {både enten hverken verken}. _PREDEF: -> $ {+ -}. _PREDET: -> $ {+ -}. predforce. _PREDICATIVE: -> $ {+ -}. _PREPEXISTS: -> $ {+ -}. _PREPOSS: -> $ {+ -}. _PREQ: -> $ {+ -}. PRESENTATIVE: -> $ {+ -}. PRESENTATIVE-TYPE: -> $ {passive}. "Passive presentative" probable: -> $ {+ -}. progressive: -> $ {+ -}. PRON-FORM" -> $ {det hva hvem der}". !PRON-TYPE: -> $ {expl_ int null pers refl refrefl recip quant}. !PROPER: -> $ {}. !PROPER-TYPE: -> $ {}. PROSODY: -> $ {questioning exclamatory}. _PART: -> $ {+_ -_}. PRT-FORM: -> $ {akterut av av` på bort borti etter fast for forbi fra fram frampå frem fri gjennom hen i i` gang i` hop igang igjen igjennom imot inn inne innom innpå istykker i` stykker i` vei løs med mot ned ned` i ned` på nær om omkring opp opp` for over på rundt sammen sund til tilbake under unna ut ut` av ute utfor utover ved vekk}. _PRT-VERB: -> $ {+}. &PSEM: -> $ {ag ben inst part poss}. _P-SELFORM. purported: -> $ {+}. !QUANT: -> << [CHECK PRED QUANT-TYPE ADJUNCT]. &QUANT-TYPE: -> $ {existential negative universal}. questioning: -> $ {+ -}. quick: -> $ {+ -}. reason. ref: -> $ {SPEAKER HEARER subjref}. REF: -> $ {+ -}. REF-COORD: -> $ {+}. reference: -> << [deixis unique]. _REFL: -> $ {+ -}. relation. relative. rel-mod. REST. RESTR: -> $ {+ -}. resulting-state: -> $ {+ -}. root: -> << [habil-perm have-courage have-duty oblig ought-to permitted volitive]. roughly: -> $ {+ -}. _SEL. sel: -> << [abstract anim human]. !SPEC: -> << [AQUANT DET NUMBER POSS QUANT MEASURE TITLE ADET ORD]. &STMT-TYPE: -> $ {decl int imp}. subject. succeeding: -> $ {+ -}. _SUPINE: -> $ {+ -}. NAME-MOD. surnames. temp: -> << [deictic relative cotemp absolute]. TEMPNOUN: -> $ {+ -}. !TENSE: -> $ {past pres fut non-past notense}. !TIME: -> << [TEMPNOUN WEEKDAY TOFD]. TITLE: -> << [TITLEFORM ADJUNCT PRED]. title. TITLEFORM. !TNS-ASP: -> << [MOOD TENSE ASP]. TOFD: -> $ {+ -}. TOKEN. TOPCP: -> $ {+ -}. topic. TOPIC-REL: -> << [PRED NUM GEND PERS ADV-TYPE]. _TOPVP: -> $ {+ -}. type: -> $ {GROUP INDIVIDUAL PROPOSITION handle event ref-ind non_expl-ind individual}. unique: -> $ {+ -}. _VCONSTR: -> $ {cleft extrapos}. VFORM: -> $ {fin inf pastpart prespart}. volitive: -> $ {+}. &VTYPE: -> $ {aux main}. WEEKDAY: -> $ {+ -}. WEIGHT. s::. o::."" m::. TOP. LTOP. RELS. RELS_EL. H-CONS. H-CONS_EL. LBL. ARG0. RSTR. BODY. CARG. SC_ARG. OUTSCPD. ARG. MARG. DARG. INDEX. EVENT. DIM. NATGEND: -> $ {m f n animate gender}. PRONTYPE. C-ARG. L-INDEX. R-INDEX. DIV: -> $ {+ -}. GRIND: -> $ {+ -}. PSVTYPE: -> $ {morph periph ptc}. LNK. HI. LO. _MSG. _POTMSG. _SUPMSG. _SUPPTR. _CAT. _CATSUFF. _PRT. _PRT2. _SUBJNCT. _MRSPTR. _ANTECEDVAR. _TTL. _LOCLBL. _QUANT. _TOPHNDL. _CARD. _CONJCORR: -> $ {+ -}. _CONJREL: -> $ {'both_and' 'either_or' 'neither_nor'}. _SECEL. _XCLUDERELS: -> $ {+ -}. handle. first. rest. next. ASPECT. &PROG: -> $ {+ -}. "PROG: -> $ {+ -}. Only used for MRSs, listed under COMMON FEATURES." TPC. PSV. ASPECT-PROTRACTED: -> $ {+ -}. ASPECT-STATIVE: -> $ {+ -}. ASPECT-TELIC: -> $ {+ -}. ASPECT-BOUNDED: -> $ {+ -}. ASPECT-INCHOATIVE: -> $ {+ -}. FIRST-FRAGM. REST-FRAGM. L-HNDL. R-HNDL. MAIN. SUBORD. "" ---- BOKMAL NORSK RULES (1.0) "Rules for nominal phrases:" NP --> { (APCMPL: ! $ (^ ADJUNCT) @UPDOWNAGR (^ CHECK _ATTR)=+ ~(! CHECK _ADVERBIAL)=+ (^ DEF)=(! DEF) (! ATYPE)=attributive s::* $ (s::M* cond) (s::* arg1 ind)=(s::M* ind) (s::* arg1 sel)=(s::M* sel) { (^ DEF)=+ (^ CHECK _PREDEF)=c + | (^ DEF)=- }), "if the NP (and the adjective) are +DEF, then _PREDEF must be +. +_PREDEF is introduced by def. determiners, including possessives." VPattr*: ! $ (^ ADJUNCT) @UPDOWNVPAGR (^ CHECK _ATTR)=+ (^ DEF)=(! CHECK _DEF-MORPH) ^ = (! SUBJ) s::*=s::! s::* $ (s::M* cond) { (^ DEF)=+ (^ CHECK _PREDEF)=c + | (^ DEF)=- } @(COMPLETE (! DEGREE)); { NCMPL: ^=! s::M*=s::* { (^ CHECK _PREDET)=c + | ~(^ CHECK _PREDET)=+ s::M*=s::^ "If there is no determiner before N, then NP is the top category in the complete nominal phrase. Then we let its s-structure be a projection of its f-structure as well."} @(COMPLETENOMFEATS) | PROP: ^=! s::M*=s::* (^ CHECK _PREDET)=c + "| e: (^ PRED)='pro' (^ CHECK _ATTR)=c + @(COMPLETE (^ CHECK _ATTR)) @MRS-NELLIPSIS"} (CPnullc: @RESTREL; (COMMA)) "Null-som relative clauses cannot have intervening complements before them." ({ POSS: ^=! (^ CHECK _DEF-MORPH)=c + "" @MRS-POSS "" s::M*=s::* | PPtil: @POSSPP}) (PPCMPL: @ADJUNCTPP @(OT-MARK Mark6)) "Put NP-attached PPs below another stoppoint for effeciency." (PPsel: @NSELPP) (CONJPcomp: @COMPCLAUSE) (VP': @INFREL) (VPpart:! $ (^ ADJUNCT) ^ = (! SUBJ) s::*=s::! s::* $ (s::M* cond) @MRS-PTCREL) ({ ADVPloc: !$(^ ADJUNCT) s::* $ (s::M* loc) "@(OT-MARK Mark6)" ""@MRS-ADJUNCTPP"" | CPloc: @LOCREL2; (COMMA) | CPtmprel: (! COMP-FORM)=c da (^ NTYPE NSEM TIME TEMPNOUN)=c + @LOCREL3; (COMMA) }) ({ CPrel: @RESTREL |CPnom: (^ COMP)=! } (COMMA)) (ADVpar: !$(^ ADJUNCT) ""@MRS-PARADVSYNTAX""), (ParP: !$(^ ADJUNCT) ""@MRS-ADJUNCTPP"") | (APCMPL: ! $ (^ ADJUNCT) "This second conjunct is for headless NPs" @UPDOWNAGR (^ CHECK _ATTR)=+ ~(! CHECK _ADVERBIAL)=+ (^ DEF)=(! DEF) (! ATYPE)=attributive s::* $ (s::M* cond) (s::* arg1 ind)=(s::M* ind) (s::* arg1 sel)=(s::M* sel) { (^ DEF)=+ (^ CHECK _PREDEF)=c + | (^ DEF)=- }), "if the NP (and the adjective) are +DEF, then _PREDEF must be +. +_PREDEF is introduced by def. determiners, including possessives." VPattr*: ! $ (^ ADJUNCT) @UPDOWNVPAGR (^ CHECK _ATTR)=+ (^ DEF)=(! CHECK _DEF-MORPH) ^ = (! SUBJ) s::*=s::! s::* $ (s::M* cond) { (^ DEF)=+ (^ CHECK _PREDEF)=c + | (^ DEF)=- } @(COMPLETE (! DEGREE)); e: (^ PRED)='pro' { (^ CHECK _PREDET)=c + | ~(^ CHECK _PREDET)=+ (^ ADJUNCT) (^ NUM)=pl } @MRS-NELLIPSIS }. NP[gen] --> (APCMPL: ! $ (^ ADJUNCT) @UPDOWNAGR (^ CHECK _ATTR)=+ ~(! CHECK _ADVERBIAL)=+ (^ DEF)=(! DEF) (! ATYPE)=attributive s::* $ (s::M* cond) (s::* arg1 ind)=(s::M* ind) (s::* arg1 sel)=(s::M* sel) { (^ DEF)=+ (^ CHECK _PREDEF)=c + | (^ DEF)=- }), "if the NP (and the adjective) are +DEF, then _PREDEF must be +. +_PREDEF is introduced by def. determiners, including possessives." VPattr*: ! $ (^ ADJUNCT) @UPDOWNVPAGR (^ CHECK _ATTR)=+ (^ DEF)=(! CHECK _DEF-MORPH) ^ = (! SUBJ) s::*=s::! s::* $ (s::M* cond) { (^ DEF)=+ (^ CHECK _PREDEF)=c + | (^ DEF)=- } @(COMPLETE (! DEGREE)); { N[gen]: ^=! s::M*=s::* { (^ CHECK _PREDET)=c + | ~(^ CHECK _PREDET)=+ s::M*=s::^ "If there is no determiner before N, then NP is the top category in the complete nominal phrase. Then we let its s-structure be a projection of its f-structure as well."} @(COMPLETENOMFEATS) | PROP[gen]: ^=! s::M*=s::* (^ CHECK _PREDET)=c + "| e: (^ PRED)='pro' (^ CHECK _ATTR)=c + @(COMPLETE (^ CHECK _ATTR)) @MRS-NELLIPSIS"}. "Rule for questioning the degree of an adjective, such as 'Hvor store hus liker du?':" NPint --> APint+: ! $ (^ ADJUNCT) @UPDOWNAGR ~(^ DEF)=+ ~(! DEF)=+ s::* $ (s::M* cond) (s::* arg1)=(s::M* ind); N: ^=! s::M*=s::* s::M*=s::^ ~(^ CHECK _PREDET)=+ @(COMPLETENOMFEATS); (PPCMPL: @ADJUNCTPP @(OT-MARK Mark6)) ({ CPrel: @RESTREL |CPnullc: @RESTREL} (COMMA)). NPsit --> POSSCOMP: (^ OBJ)=! "POSSCOMP: phrase type restricted to QuantP and NP." (^ PRED)='SIT-INVOLVES<(^ OBJ)>' (^ NUM)=sg (! CASE)=nom @NEUT ~(! DEF)=+ (s::M* ind)=sit (s::M* cond relation)=involves (s::M* cond arg1)=(s::M* ind) (s::M* cond arg2)=s::* s::M*=s::^ ""@MRS-NPSIT""; ({ CPrel: @RESTREL |CPnullc: @RESTREL} (COMMA)). "Non-agreeing subjects: 'Bil er dyrt'." NPtemp --> A: ! $ (^ ADJUNCT) (! ASEM)=temp s::* $ (s::M* cond) (s::* arg1)=(s::M* ind); N: ^=! s::M*=s::* s::M*=s::^ (^ NTYPE NSEM TIME TEMPNOUN)=c +. "A top-level category in nominal phrases just for the purpose of introducing non-restrictive relative clauses:" DescP --> REFP: s::M*=s::* @(COMPLETENOMFEATS); COMMA CPrel: @NONRESTREL; (COMMA). "All determiners are c-structure functional heads, and their c-structure complements are f-structure co-heads with them: the complete nominal phrase has one global f-structure. ALLQP is top level:" ALLQP --> { (DEGADV: (! PRED FN)=c nesten !$(^ SPEC QUANT ADJUNCT) s::M*=s::* "" @MRS-QUANTDEGADVSYNT "") ALLQ: ^=! s::M*=s::* s::M*=s::^ (^ CHECK _PREDET)=+ (^ CHECK _PREQ)=+ "@COMPLETENOMFEATS" "_PREQ is referred to by DP and POSSP rules"; NPCMPL: ^=! ~(! CHECK _DEF-MORPH)=+ @COMPLETENOMFEATS (s::^ arg1)=s::* (s::^ sel)=(s::* sel) "Make sure that selectional restrictions are available at top level" | (DEGADV: (! PRED FN)=c nesten !$(^ SPEC QUANT ADJUNCT) s::M*=s::* "" @MRS-QUANTDEGADVSYNT "") ALLQ: (^ PRED)='pro' s::M*=s::* s::M*=s::^ (s::M* arg1 ind given)=+ ""@(MRS-OBJECTGVN generic-nom)"" "{ (^ NUM)=c pl | ~(^ NUM)=pl (^ GEND NEUT)=c +}" "Remove this -it only applies to 'all'." @COMPLETENOMFEATS; (PPCMPL: @ADJUNCTPP @(OT-MARK Mark6)) ({ CPrel: @RESTREL |CPnullc: @RESTREL} "Relative clause as daughter of ALLQP only if the ALLQP has no c-str. complement: restrictive relclauses always attach to the lowest phrase in a nominal phrase complex." (COMMA)) | (DEGADV: (! PRED FN)=c nesten !$(^ SPEC QUANT ADJUNCT) s::M*=s::* "" @MRS-QUANTDEGADVSYNT "") ALLQ: ^=! s::M*=s::* s::M*=s::^ (^ CHECK _PREDET)=+ (^ CHECK _PREQ)=+; { ALLQPARTCOMP: (^ OBL)=! (^ NTYPE)=(! NTYPE) @PARTPERCOLATEANT "" @MRS-COVPART "" | PP: @PARTITIVEPP1 } (CONJPcomp: @QUANTPARTCOMPCLAUSE)}. ALLQP[gen] --> { (DEGADV: (! PRED FN)=c nesten !$(^ SPEC QUANT ADJUNCT) s::M*=s::* "" @MRS-QUANTDEGADVSYNT "") ALLQ: ^=! s::M*=s::* s::M*=s::^ (^ CHECK _PREDET)=+ (^ CHECK _PREQ)=+ "@COMPLETENOMFEATS" "_PREQ is referred to by DP and POSSP rules"; NP[gen]: ^=! ~(! CHECK _DEF-MORPH)=+ @COMPLETENOMFEATS (s::^ arg1)=s::* (s::^ sel)=(s::* sel) "Make sure that selectional restrictions are available at top level" | (DEGADV: (! PRED FN)=c nesten !$(^ SPEC QUANT ADJUNCT) s::M*=s::* "" @MRS-QUANTDEGADVSYNT "") ALLQ[gen]: (^ PRED)='pro' s::M*=s::* s::M*=s::^ (s::M* arg1 ind given)=+ ""@(MRS-OBJECTGVN generic-nom)"" @COMPLETENOMFEATS | (DEGADV: (! PRED FN)=c nesten !$(^ SPEC QUANT ADJUNCT) s::M*=s::* "" @MRS-QUANTDEGADVSYNT "") ALLQ: ^=! (^ CASE)=gen s::M*=s::* s::M*=s::^ (^ CHECK _PREDET)=+ (^ CHECK _PREQ)=+; ALLQPARTCOMP[gen]: (^ OBL)=! (^ NTYPE)=(! NTYPE) @PARTPERCOLATEANT "" @MRS-COVPART "" }. DP --> { D: s::M*=s::* (^ CHECK _PREDET)=+; DCOMP: (^ CHECK _PREDEF)=+ { (^ CHECK _PREQ)=c + | ~(^ CHECK _PREQ)=+ s::M*=s::^ @(COMPLETENOMFEATS)} "If there is a 'pre-quantifier' 'alle', then the DP's s-structure is not top level. Otherwise it is, and if so, then let the s-structure be a projection of the f-structure as well." s::M*=s::* | D: (^ PRED)='pro' s::M*=s::* { (^ CHECK _PREQ)=c + | ~(^ CHECK _PREQ)=+ s::M*=s::^ @(COMPLETENOMFEATS)} (^ CHECK _PREDET)=+ ""@(MRS-OBJECTGVN generic-nom)""; (PPtil: @POSSPP2) (PPCMPL: @ADJUNCTPP @(OT-MARK Mark6)) ({ CPrel: @RESTREL |CPnullc: @RESTREL} (COMMA)) | D: ^=! s::M*=s::* { (^ CHECK _PREQ)=c + | ~(^ CHECK _PREQ)=+ s::M*=s::^ @(COMPLETENOMFEATS)} (^ CHECK _PREDET)=+; PP: @PARTITIVEPP2; ({ CPrel: @RESTREL (^ SPEC DET DEIXIS)=c distal |CPnullc: @RESTREL (^ SPEC DET DEIXIS)=c distal} "Restr. relclause after partitive PP" (COMMA))}. "only possible with 'den', not 'denne'" DP[gen] --> { D: s::M*=s::* (^ CHECK _PREDET)=+; DCOMP[gen]: (^ CHECK _PREDEF)=+ { (^ CHECK _PREQ)=c + | ~(^ CHECK _PREQ)=+ s::M*=s::^ @(COMPLETENOMFEATS)} "If there is a 'pre-quantifier' 'alle', then the DP's s-structure is not top level. Otherwise it is, and if so, then let the s-structure be a projection of the f-structure as well." s::M*=s::* | D[gen]: (^ PRED)='pro' s::M*=s::* { (^ CHECK _PREQ)=c + | ~(^ CHECK _PREQ)=+ s::M*=s::^ @(COMPLETENOMFEATS)} (^ CHECK _PREDET)=+ ""@(MRS-OBJECTGVN generic-nom)"" }. DPint --> { Dint: s::M*=s::* s::M*=s::^ (^ CHECK _PREDET)=+ "@(COMPLETENOMFEATS)"; DCOMP: (^ CHECK _PREDEF)=+ @(COMPLETENOMFEATS) s::M*=s::* | Dint: (^ PRED)='pro' s::M*=s::* s::M*=s::^ @(COMPLETENOMFEATS) ""@(MRS-OBJECTGVN generic-nom)""; (PPCMPL: @ADJUNCTPP @(OT-MARK Mark6)) ({ CPrel: @RESTREL |CPnullc: @RESTREL} (COMMA)) | Dint: ^=! s::M*=s::* s::M*=s::^ (^ CHECK _PREDET)=+ @(COMPLETENOMFEATS); PP: @PARTITIVEPP2; ({ CPrel: @RESTREL |CPnullc: @RESTREL} (COMMA))}. DPint[gen] --> Dint: s::M*=s::* s::M*=s::^ (^ CHECK _PREDET)=+ "@(COMPLETENOMFEATS)"; DCOMP[gen]: (^ CHECK _PREDEF)=+ @(COMPLETENOMFEATS) s::M*=s::*. POSSP --> { { POSS: "{ (^ CHECK _PREQ)=c + s::M* = s::* | ~(^ CHECK _PREQ)=+ s::M*=s::^ s::^=s::* }" "See comment in DP rule" (^ CHECK _PREDET)=+ "The equation s::M* = s::* caused a core dump with phrases like 'min jentes hest'. A cure is to distribute the equation among the _PREQ alternatives, and to refer to s::^ when that is possible." "" @MRS-POSS "" | NOM[gen]: (^ SPEC POSS)=! "Genitive phrases as alternative specifiers." (! CASE)=c gen @(COMPLETE (! CASE)) @COMPLETECHECKFEATS "~(^ CHECK _PREQ)=+" (^ CHECK _PREDET)=+ (^ DEF)=+ @REFERENTIAL s::M*=s::^ (s::M* reference unique)=+ (%holdon relation)=belong-to (%holdon arg1)=(s::M* ind) (%holdon arg2)=s::* %holdon $ (s::M* cond) "" @MRS-POSS "" | POSSPgarp:(^ SPEC POSS)=! (^ NUM)=(! NUM) "Not constraining equations because of guessed nouns" (^ GEND)=(! GEND) (^ PERS)=(! PERS) "~(^ CHECK _PREQ)=+" (^ CHECK _PREDET)=+ (^ DEF)=+ s::M*=s::^ (s::M* reference unique)=+ (%holdon relation)=belong-to (%holdon arg1)=(s::M* ind) (%holdon arg2)=s::* %holdon $ (s::M* cond) "" @MRS-POSS ""} POSSCOMP: ~(^ CHECK _DEF-MORPH)=+ (^ CHECK _PREDEF)=+ (^ CHECK _PREPOSS)=+ "'Samme' needs this feature." s::M*=s::* | { POSS: (^ PRED)='pro' (^ DEF)=+ s::M*=s::* { (^ CHECK _PREQ)=c + | ~(^ CHECK _PREQ)=+ s::M*=s::^ } "" @MRS-POSSGVN (m::^ TOP)=(m::^ RELS_EL LBL) "" | NOM[gen]: (^ PRED)='pro' (^ SPEC POSS)=! "Genitive phrases as alternative specifiers." (! CASE)=c gen ~(^ CHECK _PREQ)=+ (^ CHECK _PREDET)=+ (^ DEF)=+ @COMPLETECHECKFEATS s::M*=s::^ (s::M* reference unique)=+ (%holdon relation)=belong-to (%holdon arg1)=(s::M* ind) (%holdon arg2)=s::* %holdon $ (s::M* cond) "" @MRS-POSSGVN "" | POSSPgarp: (^ PRED)='pro' (^ SPEC POSS)=! ~(^ CHECK _PREQ)=+ (^ CHECK _PREDET)=+ (^ DEF)=+ s::M*=s::^ (s::M* reference unique)=+ (%holdon relation)=belong-to (%holdon arg1)=(s::M* ind) (%holdon arg2)=s::* %holdon $ (s::M* cond) "" @MRS-POSSGVN "" } (PPCMPL: @ADJUNCTPP @(OT-MARK Mark6)) }. POSSP[gen] --> { POSS: { (^ CHECK _PREQ)=c + s::M* = s::* | ~(^ CHECK _PREQ)=+ s::M*=s::^ s::^=s::* } "See comment in DP rule" (^ CHECK _PREDET)=+ "The equation s::M* = s::* caused a core dump with phrases like 'min jentes hest'. A cure is to distribute the equation among the _PREQ alternatives, and to refer to s::^ when that is possible." "" @MRS-POSS "" | NOM[gen]: (^ SPEC POSS)=! "Genitive phrases as alternative specifiers." (! CASE)=c gen @(COMPLETE (! CASE)) "~(^ CHECK _PREQ)=+" (^ CHECK _PREDET)=+ (^ DEF)=+ @COMPLETECHECKFEATS @REFERENTIAL s::M*=s::^ (s::M* reference unique)=+ (%holdon relation)=belong-to (%holdon arg1)=(s::M* ind) (%holdon arg2)=s::* %holdon $ (s::M* cond) "" @MRS-POSS "" | POSSPgarp:(^ SPEC POSS)=! (^ NUM)=c (! NUM) (^ GEND)=(! GEND) (^ PERS)=c (! PERS) "~(^ CHECK _PREQ)=+" (^ CHECK _PREDET)=+ (^ DEF)=+ s::M*=s::^ (s::M* reference unique)=+ (%holdon relation)=belong-to (%holdon arg1)=(s::M* ind) (%holdon arg2)=s::* %holdon $ (s::M* cond) "" @MRS-POSS ""} POSSCOMP[gen]: ~(^ CHECK _DEF-MORPH)=+ (^ CHECK _PREDEF)=+ (^ CHECK _PREPOSS)=+ "'Samme' needs this feature." s::M*=s::*. POSSPint --> { POSSint: { (^ CHECK _PREQ)=c + s::M* = s::* | ~(^ CHECK _PREQ)=+ s::M*=s::^ s::^=s::* } "See comment in DP rule" (^ CHECK _PREDET)=+ "The equation s::M* = s::* caused a core dump with phrases like 'min jentes hest'. A cure is to distribute the equation among the _PREQ alternatives, and to refer to s::^ when that is possible." "" @MRS-POSS ""; POSSCOMP: ~(^ CHECK _DEF-MORPH)=+ (^ CHECK _PREDEF)=+ s::M*=s::* | POSSint: (^ PRED)='pro' (^ DEF)=+ s::M*=s::* { (^ CHECK _PREQ)=c + | ~(^ CHECK _PREQ)=+ s::M*=s::^} "" @MRS-POSSGVN "" ; (PPCMPL: @ADJUNCTPP @(OT-MARK Mark6)) }. POSSPint[gen] --> POSSint: { (^ CHECK _PREQ)=c + s::M* = s::* | ~(^ CHECK _PREQ)=+ s::M*=s::^ s::^=s::* } "See comment in DP rule" (^ CHECK _PREDET)=+ "" @MRS-POSS ""; POSSCOMP[gen]: ~(^ CHECK _DEF-MORPH)=+ (^ CHECK _PREDEF)=+ s::M*=s::*. "Hvem sin gutts..." POSSPgenint ---> IntNOM[gen]: (^ SPEC POSS)=! "Genitive phrases as alternative specifiers." (! CASE)=c gen @(COMPLETE (! CASE)) "~(^ CHECK _PREQ)=+" (^ CHECK _PREDET)=+ (^ DEF)=+ @REFERENTIAL s::M*=s::^ (s::M* reference unique)=+ (%holdon relation)=belong-to (%holdon arg1)=(s::M* ind) (%holdon arg2)=s::* %holdon $ (s::M* cond) "" @MRS-POSS ""; POSSCOMP: ~(^ CHECK _DEF-MORPH)=+ (^ CHECK _PREDEF)=+ (^ CHECK _PREPOSS)=+. "'Samme' needs this feature." QuantP --> { { QUANTF: ^=! @DEFIFPREDEF (^ CHECK _PREDET)=+ | DIGF: ^=! @DEFIFPREDEFnum (^ CHECK _PREDET)=+ | NUMP: (^ SPEC NUMBER)=! @DEFIFPREDEFnum @LITNUM (^ CHECK _PREDET)=+ } QUANTCOMP: { (^ DEF)=c + s::M*=s::* | ~(^ DEF)=+ (s::M* arg1)=s::* (s::M* sel)=(s::* sel) } ;"Make sure that selectional restrictions are available at top level" (CONJPcomp: @QUANTCOMPCLAUSE) | { QUANTF: ^=! (^ PRED)='pro' @DEFIFPREDEF (s::M* arg1 ind given)=+ "" @MRS-PROOBJECT"" | DIGF: ^=! (^ PRED)='pro' @DEFIFPREDEFnum (s::M* arg1 ind given)=+ "" @MRS-PROOBJECT"" | NUMP: (^ PRED)='pro' (^ SPEC NUMBER)=! @DEFIFPREDEFnum @LITNUM (s::M* arg1 ind given)=+ ""@(MRS-OBJECTGVN generic-nom)""} (PPtil: @POSSPP2) (PPCMPL: @ADJUNCTPP @(OT-MARK Mark6)) ({ CPrel: @RESTREL |CPnullc: @RESTREL} (COMMA)) (CONJPcomp: @QUANTCOMPCLAUSE) | { QUANTF: ^=! @DEFIFPREDEF | DIGF: ^=! @DEFIFPREDEFnum | NUMP: ^=! (^ REF)=+ @DEFIFPREDEFnum @MRS-LITNUM } PP: @PARTITIVEPP1; (CONJPcomp: @QUANTPARTCOMPCLAUSE)}. QuantP[gen] --> { { QUANTF: ^=! @DEFIFPREDEF (^ CHECK _PREDET)=+ | DIGF: ^=! @DEFIFPREDEFnum (^ CHECK _PREDET)=+ | NUMP: (^ SPEC NUMBER)=! @DEFIFPREDEF @LITNUM (^ CHECK _PREDET)=+ } QUANTCOMP[gen]: { (^ DEF)=c + s::M*=s::* | ~(^ DEF)=+ (s::M* arg1)=s::* (s::M* sel)=(s::* sel) } ;"Make sure that selectional restrictions are available at top level" (CONJPcomp: @QUANTCOMPCLAUSE) | QP[gen]: (^ PRED)='pro' @DEFIFPREDEF (s::M* arg1 ind given)=+ "" @MRS-PROOBJECT""}. QuantPint --> { QPint: @DEFIFPREDEF (^ CHECK _PREDET)=+; QUANTCOMP: { (^ DEF)=c + s::M*=s::* | ~(^ DEF)=+ (s::M* arg1)=s::* (s::M* sel)=(s::* sel)} "Make sure that selectional restrictions are available at top level" | QPint: (^ PRED)='pro' @DEFIFPREDEF (s::M* arg1 ind given)=+; (PPtil: @POSSPP2) (PPCMPL: @ADJUNCTPP @(OT-MARK Mark6)) ({ CPrel: @RESTREL |CPnullc: @RESTREL} (COMMA)) | QPint: @DEFIFPREDEF; PP: @PARTITIVEPP1 }. QuantPint[gen] --> { QPint: @DEFIFPREDEF (^ CHECK _PREDET)=+; QUANTCOMP[gen]: { (^ DEF)=c + s::M*=s::* | ~(^ DEF)=+ (s::M* arg1)=s::* (s::M* sel)=(s::* sel)} "Make sure that selectional restrictions are available at top level" | QPint[gen]: (^ PRED)='pro' @DEFIFPREDEF (s::M* arg1 ind given)=+ }. NUMP --> (DEGADVnum: ! $ (^ ADJUNCT) "" @MRS-DEGADVnumSYNT "") NUMEXP: ^=!. NUM1P --> NUM1: ^=! (m::^ _TOPHNDL)=(m::! _CARD LBL). NUM11P --> NUM11: ^=! (m::^ _TOPHNDL)=(m::! _CARD LBL). NUM21P --> NUM21: ^=! (m::^ _TOPHNDL)=(m::! _CARD LBL). NUM10P --> NUM10: ^=! (m::^ _TOPHNDL)=(m::! _CARD LBL). "en og tjue, to og førti" 1conj10P --> NUM1P: (^ NUMPRECOMP)=!; CONJnum NUM10: ^=! @MRS-CONJNUMERALHEAD. NUM100P --> (NUM1P: (^ NUMSPEC)=! (! GEND)=(^ GEND)) NUM100: ^=! @MRS-NUMERALHEAD; (CONJnum { NUM1P: (^ NUMCOMP)=! | NUM11P: (^ NUMCOMP)=! | NUM10P: (^ NUMCOMP)=! | NUM21P: (^ NUMCOMP)=! | 1conj10P: (^ NUMCOMP)=!}). NUM1000P --> ({ NUM1P: (^ NUMSPEC)=! (! GEND)=(^ GEND) | NUM11P: (^ NUMSPEC)=! | NUM10P: (^ NUMSPEC)=! | NUM21P: (^ NUMSPEC)=! (! GEND)=(^ GEND) | 1conj10P: (^ NUMSPEC)=! (! GEND)=(^ GEND) | NUM100P: (^ NUMSPEC)=!}) NUM1000: ^=! @MRS-NUMERALHEAD; ({ CONJnum { NUM1P: (^ NUMCOMP)=! | NUM11P: (^ NUMCOMP)=! | NUM10P: (^ NUMCOMP)=! | NUM21P: (^ NUMCOMP)=! | 1conj10P: (^ NUMCOMP)=!} | NUM100P: (^ NUMCOMP)=! (^ NUMSPEC)}). NUMmillionP --> { NUM1P: (^ NUMSPEC)=! (! GEND)=(^ GEND) | NUM11P: (^ NUMSPEC)=! | NUM10P: (^ NUMSPEC)=! | NUM21P: (^ NUMSPEC)=! (! GEND)=(^ GEND) | 1conj10P: (^ NUMSPEC)=! (! GEND)=(^ GEND) | NUM100P: (^ NUMSPEC)=!} NUMmillion: ^=! @MRS-NUMERALHEAD (! NUM)=(^ NUMSPEC AGRNUM); ({ CONJnum { NUM1P: (^ NUMCOMP)=! | NUM11P: (^ NUMCOMP)=! | NUM10P: (^ NUMCOMP)=! | NUM21P: (^ NUMCOMP)=! | 1conj10P: (^ NUMCOMP)=!} | NUM100P: (^ NUMCOMP)=! | NUM1000P: (^ NUMCOMP)=!}). NUMmilliardP --> { NUM1P: (^ NUMSPEC)=! (! GEND)=(^ GEND) | NUM11P: (^ NUMSPEC)=! | NUM10P: (^ NUMSPEC)=! | NUM21P: (^ NUMSPEC)=! (! GEND)=(^ GEND) | 1conj10P: (^ NUMSPEC)=! (! GEND)=(^ GEND) | NUM100P: (^ NUMSPEC)=!} NUMmilliard: ^=! @MRS-NUMERALHEAD (! NUM)=(^ NUMSPEC AGRNUM); ({ CONJnum { NUM1P: (^ NUMCOMP)=! | NUM11P: (^ NUMCOMP)=! | NUM10P: (^ NUMCOMP)=! | NUM21P: (^ NUMCOMP)=! | 1conj10P: (^ NUMCOMP)=!} | NUM100P: (^ NUMCOMP)=! | NUM1000P: (^ NUMCOMP)=! | NUMmillionP:(^ NUMCOMP)=!}). NUMdigP --> (DEGADVnum: ! $ (^ ADJUNCT) "" @MRS-DEGADVdigSYNT "") NUMdig: ^=! @(COMPLETE (^ CHECK _ARITH)). NUMinterv --> NUMdig: (^ SPEC NUMBER LOWER)=! (! CHECK _ARITH)=+; HYPHEN: (^ SPEC NUMBER NUMBER-TYPE)=interval @MRS-NUMINTERVAL; NUMdig: (^ SPEC NUMBER HIGHER)=! (! CHECK _ARITH)=+. "ORDinterv --> ORDdig: (^ SPEC NUMBER LOWER)=! (! CHECK _ARITH)=+; HYPHEN: (^ SPEC NUMBER NUMBER-TYPE)=interval @MRS-ORDINTERVAL; ORDdig: (^ SPEC NUMBER HIGHER)=! (! CHECK _ARITH)=+." "Add this rule when morphology does the right thing." DAP --> { DA: (^ CHECK _PREDET)=+ @ADJSEM?; DAPCOMP: { ~s::M*=s::^ s::M*=s::* "For the condition, see ADJIFPREDET" | s::M*=c s::^ (s::M* arg1)=s::* (s::M* sel)=(s::* sel) } "Make sure that selectional restrictions are available at top level" | DA: @ADJSEM? (^ PRED)='pro' (s::M* arg1 ind given)=+ ""@(MRS-OBJECTGVN generic-nom)""; (PPtil: @POSSPP2) (PPCMPL: @ADJUNCTPP @(OT-MARK Mark6)) ({ CPrel: @RESTREL |CPnullc: @RESTREL} (COMMA)) | DA: @ADJSEM?; PP: @PARTITIVEPP1}. DAP[gen] --> { DA: (^ CHECK _PREDET)=+ @ADJSEM?; DAPCOMP[gen]: { ~s::M*=s::^ s::M*=s::* "For the condition, see ADJIFPREDET" | s::M*=c s::^ (s::M* arg1)=s::* (s::M* sel)=(s::* sel) } "Make sure that selectional restrictions are available at top level" | DA[gen]: @ADJSEM? (^ PRED)='pro' (s::M* arg1 ind given)=+ ""@(MRS-OBJECTGVN generic-nom)"" }. ORDP --> { ORDN: (^ CHECK _PREDET)=+ ; NP | ORDN:(^ PRED)='pro' (s::M* arg1 ind given)=+ ""@(MRS-OBJECTGVN generic-nom)""; (PPtil: @POSSPP2) (PPCMPL: @ADJUNCTPP @(OT-MARK Mark6)) ({ CPrel: @RESTREL |CPnullc: @RESTREL} (COMMA)) | ORDN PP: @PARTITIVEPP1}. ORDP[gen] --> ORDN: (^ CHECK _PREDET)=+ ; NP[gen]. MeasP --> REFP: (^ SPEC MEASURE)=! ~(! CASE)=gen (! NTYPE NSEM COMMON)=c count (! NTYPE NSEM MEASURENOUN)=c + @REFERENTIAL ~(! MEASURE) s::M*=s::^ (s::M* measure)=s::* ""@MRS-MEASURE""; NP: ^=! { (^ NTYPE NSEM COMMON)=c mass | ~(^ NTYPE NSEM COMMON)=mass (^ NUM)=c pl }; (CONJPcomp: @COMPCLAUSEmeas). MeasP[gen] --> REFP: (^ SPEC MEASURE)=! ~(! CASE)=gen (! NTYPE NSEM COMMON)=c count (! NTYPE NSEM MEASURENOUN)=c + @REFERENTIAL ~(! MEASURE) s::M*=s::^ (s::M* measure)=s::* ""@MRS-MEASURE""; NP[gen]: ^=! { (^ NTYPE NSEM COMMON)=c mass | ~(^ NTYPE NSEM COMMON)=mass (^ NUM)=c pl }. QP --> ( DEGADV: !$(^ SPEC AQUANT ADJUNCT) (^ SPEC AQUANT DEGREE)=(! DEGREE) (^ SPEC AQUANT DEG-DIM)=(! DEG-DIM) "" @MRS-DEGADVSYNT "") Q: s::M*=s::*. QP[gen] --> ( DEGADV: !$(^ SPEC AQUANT ADJUNCT) (^ SPEC AQUANT DEGREE)=(! DEGREE) (^ SPEC AQUANT DEG-DIM)=(! DEG-DIM) "" @MRS-DEGADVSYNT "") Q[gen]: s::M*=s::*. QPint --> DEGADVint: !$(^ SPEC AQUANT ADJUNCT) s::M*=s::* "" @MRS-DEGADVINTSYNT ""; Q: s::M*=s::*. QPint[gen] --> DEGADVint: !$(^ SPEC AQUANT ADJUNCT) s::M*=s::* "" @MRS-DEGADVINTSYNT ""; Q[gen]: s::M*=s::*. POSSPgarp --> NOM: ^\NUM\GEND\PERS=!\NUM\GEND\PERS ~(! CASE)=gen @COMPLETECHECKFEATS s::M*=s::* "" m::!=m::^ ""; POSSgarp. PROPP --> (TTLP: ^=! s::M*=s::* "" "@MRS-TITLE """) (PROP': (^ NAME-MOD)=! @MRS-NAME-MOD) PROP: ^=! s::M*=s::* @(COMPLETE (^ CHECK _INITCOMMA)); (N: ! $ (^ NAME-MOD) ~(! DEF)=+ @MRS-NAME-MOD) (PPCMPL: @ADJUNCTPP @(OT-MARK Mark6)) (COMMA: (^ CHECK _INITCOMMA)=c +) ({ e: (^ CHECK _INITCOMMA)=c + | COMMA: ~(^ CHECK _INITCOMMA)=+ } CPrel: @NONRESTREL; (COMMA)) (ADVpar: !$(^ ADJUNCT) ""@MRS-PARADVSYNTAX""), (ParP: !$(^ ADJUNCT) ""@MRS-ADJUNCTPP""). PROP' --> (PROP': ! $ (^ NAME-MOD) @MRS-NAME-MOD) PROP:^=!. PROPP[gen] --> (TTLP: ^=! s::M*=s::* "" "@MRS-TITLE """) { PROP[gen]: ^=! s::M*=s::* @(COMPLETE (^ CHECK _INITCOMMA)) | PROP: ^=! (^ CASE)=gen s::M*=s::* @(COMPLETE (^ CHECK _INITCOMMA)); (PROP*: ! $ (^ NAME-MOD) s::! $ (s::M* surnames)) PROP[gen]: ! $ (^ NAME-MOD) }. PRONP --> PRON ({ CPrel: @RESTREL | CPnullc: @RESTREL } (COMMA)). TTLP --> TTL: ^=! s::M*=s::*; (PP: @TITLEADJUNCTPP "@(OT-MARK Mark6)"; (COMMA: (^ CHECK _INITCOMMA)=+)). AppP --> { APPNOM: ^=! s::M*=s::* (! NUM)=c sg (! DEF)=c + @COMPLETECHECKFEATS; (COMMA) PROPP: (^ APP)=! (^ CASE)=(! CASE) (s::M* app)=s::* ""@MRS-APP""; (COMMA) | PROPP: ^=! s::M*=s::*; COMMA APPNOM: (^ APP)=! (^ CASE)=(! CASE) (s::M* app)=s::* (! NUM)=c sg @COMPLETECHECKFEATS ""@MRS-APP""; COMMA}. TofD --> N: (^ SPEC POSS)=! (! NTYPE NSEM TIME WEEKDAY)=c + "" @MRS-POSS ""; N: ^=! (! NTYPE NSEM TIME TOFD)=c + (! CHECK _PREDET)=+ ~(! CHECK _DEF-MORPH)=+ (! NUM)=c sg (^ REF)=+ (^ DEF)=+. "Time of day: 'torsdag morgen'." AP --> ({ DEGADV: !$(^ ADJUNCT) (^ DEGREE)=(! DEGREE) s::M*=s::* "" @MRS-DEGADVSYNT "" |DEGP: (^ MEASURE)=! (s::M* measure)=s::* (! NTYPE NSEM MEASURENOUN)=c + (! NTYPE NSEM MEASDIM) (^ MEASDIM) (! NTYPE NSEM MEASDIM)=(^ MEASDIM) ""@MRS-MEASURE""}) A: ^=! s::M*=s::* s::M*=s::^; (NOM: (^ OBJ)=! @OBJCASE @COMPLETECHECKFEATS) (CONJPcomp: (^ ADJUNCT $)=%DEG (%DEG OBL-COMPAR)=! (s::M* arg2)=s::(! OBJ) (^ DEGREE)=(! DEGREE) (^ DEG-DIM)=(! DEG-DIM) ~(^ ATYPE)=attributive { (! OBJ VFORM) @(COMPLETE (! OBJ VFORM)) (! OBJ COMPFN* COMP)=%LOCAL2 "With predicative adjectives a clause after 'enn' must have an empty COMP ('Huset var større enn Per trodde')" (s::%LOCAL2 comp-focus)=+ (%LOCAL2 PRED)='pro' | ~(! OBJ VFORM) } ) (PPsel: @SELPP (^ ATYPE)=c predicative). "PP after attributive PP is not possible: 'en ivrig etter å reise mann'." APint --> DEGADVint: !$(^ ADJUNCT) s::M*=s::* "" @MRS-DEGADVINTSYNT ""; A: ^=! s::M*=s::* s::M*=s::^. ADVP --> (DEGADV: !$(^ ADJUNCT) s::M*=s::* "" @MRS-DEGADVSYNT "") ADV: ^=! s::M*=s::* s::M*=s::^. ADVPint --> { DEGADVint: !$(^ ADJUNCT) s::M*=s::*; ADV: ^=! s::M*=s::* s::M*=s::^ | ADVint: ^=! s::M*=s::* s::M*=s::^}. ADVPloc --> (DEGADVloc: !$(^ ADJUNCT) s::M*=s::* "" @MRS-DEGADVSYNT "") ( QuantP: !$(^ ADJUNCT) ~(! DEF)=+ @COMPLETECHECKFEATS (! NTYPE NSEM MEASURENOUN)=c + (^ CHECK _MSRBL)=c + "" @MRS-LOCMEASURE "") ADVloc: ^=! s::M*=s::*; (CPloc: @LOCREL; (COMMA)). ADVPloctop --> (DEGADVloc: !$(^ ADJUNCT) s::M*=s::* "" @MRS-DEGADVSYNT "") ( QuantP: !$(^ ADJUNCT) ~(! DEF)=+ @COMPLETECHECKFEATS (! NTYPE NSEM MEASURENOUN)=c + (^ CHECK _MSRBL)=c + "" @MRS-TEMPNP "") ADVloc: ^=! s::M*=s::*; (PP: @ADJUNCTPP) (CPloc: @LOCREL; (COMMA)). WhP --> { IntP: (^ FOCUS-INT)=! ""@MRS-TOPIC ""; { CPrel: @INTREL |CPnullc: @INTREL} | POSSPint: (^ FOCUS-INT)=(! SPEC POSS) { (^ COMPFN* {COMP SUBJ|ADJUNCT $ OBJ|TERMFN})=! ~(^ COMP-FORM) | (^ SUBJ)=! (^ COMP-FORM)} ""@MRS-GARPTOPIC "" ; { CPrel |CPnullc}}. IntNOMcoord --> @(COORD IntNOMsmpl). IntADVcoord --> @(COORD ADVPint). CONJPcomp --> CONJcomp { NOM: (^ OBJ)=! @COMPLETECHECKFEATS | PP: (^ OBJ)=! ""(m::! RELS_EL ARG1)=(m::! RELS_EL ARG0) "" | CPnullc: (^ OBJ)=! (! CLAUSE-TYPE)=rel ~(! COMP-FORM); (COMMA) }. WH-ELL --> (CONJdisc: ^=!) { IntNOM: (^ FOCUS-INT)=! (^ STMT-TYPE)=int "" @MRS-WH-ELLSYNT @MRS-INT "" | POSSPint: (^ FOCUS-INT)=(! SPEC POSS) "hvem sin" (^ STMT-TYPE)=int "" @MRS-WH-ELLSYNT @MRS-INT "" | APint: (^ FOCUS-INT)=! (^ STMT-TYPE)=int ~(! DEF)=+ "" @MRS-WH-ELLSYNT @MRS-INT "" | ADVPint:(^ PRED)='pro' (^ FOCUS-INT)=! (^ STMT-TYPE)=int ""@MRS-WH-ELLSYNT @MRS-INT (m::(^ FOCUS-INT) RELS_EL ARG1)=(m::^ INDEX)""; (PRON: (^ TOPIC)=! (! PRON-FORM)=c det (! PRON-TYPE)=c pers { (^ FOCUS-INT PRED FN)=c hvorfor | (^ FOCUS-INT PRED FN)=c hvordan }) | PPint: (^ FOCUS-INT)=! (^ STMT-TYPE)=int "" @MRS-WH-ELLSYNT @MRS-INT (m::(^ FOCUS-INT) RELS_EL ARG1)=(m::^ INDEX)""}. "Clause level rules:" ROOT --> (CONJdisc: ^=!) { IPCMPL: ^=! | WH-ELL: ^=! | NOM: ^\DUMMY=!\DUMMY "Copy f-structure to make new m::-projection" @MRS-NOMINALTOP "@(OT-MARK Mark4)" } "Disprefer interpretation as nominal phrase." ({ PERIOD: ~(^ STMT-TYPE)=int | INT-MARK: { (^ STMT-TYPE)=c int | ~(^ STMT-TYPE)=int (^ PROSODY)=questioning (s::^ attitude questioning)=+ } | EXCL-POINT: ~(^ STMT-TYPE)=int { (^ STMT-TYPE)=c imp | ~(^ STMT-TYPE)=imp (^ PROSODY)=exclamatory (s::^ attitude emphatic)=+ } | COLON}). IP --> { { NOM: (^ TOPIC)=! @COMPLETECHECKFEATS { (^ COMPFN* {ADJUNCT $ OBJ|TERMFN})=! @OBJCASE @OBJbenCASE "Mark3 $ o::*" "Disprefer non-subjects here." ~(! REF)=- (s::^ topic)=s::* "Refer to the f-structure's s-projection here, and not to that of the mother c-node: Bug danger because of interaction with functional unc." ""@MRS-TOPIC "" | (^ COMPFN*)=%holdon (%holdon PREDLINK)=! @TOPNCOMP { (! NTYPE) | ~(! NTYPE) (! REF)=c + } (s::^ topic)=s::* "Mark3 $ o::*" "Disprefer non-subjects here." ""@MRS-TOPIC "" | (^ (COMPFN* COMP) SUBJ)=! @SUBJCASE @REFERENTIAL "~(! PRON-TYPE)=expl_" ~(! REF)=- "This should handle both expletives and non-referring reflexives, as above" { (^ SUBJ PRED)=c (! PRED) | ~(^ SUBJ PRED)=(! PRED) (s::^ topic)=s::* ""@MRS-TOPIC ""} "If immediate subject, then prefer it here. If not immediate, then mark as topic." } | PRONexpl: (^ SUBJ)=! (! PRON-TYPE)=c expl_ | APCMPL: { (^ TOPIC)=! ~(! CHECK _ADVERBIAL)=+ (^ {COMP | XCOMP}*)=%holdon (%holdon PREDLINK)=! "@TOPACOMP" (! ATYPE)=predicative ~(! NTYPE) @LONGDISTAGR ~(! DEF)=+ (s::^ topic)=s::* ""@MRS-TOPIC "" | !$(^ ADJUNCT) (! CHECK _ADVERBIAL)=c + @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"" ""@MRS-TOPIC ""} | ATTADV: !$s(^ ADJUNCT) s::*=(s::M* mod) ""@MRS-SMADVSYNTAX"" ""@MRS-TOPIC "" | CMTADV: !$s(^ ADJUNCT) s::*=(s::M* mod) ""@MRS-SMADVSYNTAX"" ""@MRS-TOPIC "" | SADV: !$s(^ ADJUNCT) s::*=(s::M* arg3) ""@MRS-SMADVSYNTAX"" ""@MRS-TOPIC "" | ADVneg: !$s(^ ADJUNCT) s::*=(s::M* arg3) ""@MRS-SMADVSYNTAX"" ""@MRS-TOPIC "" | ADVPloctop: { !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"" | (^ COMPFN* PREDLINK)=! } ""@MRS-TOPIC "" | ADVtmp:(^ COMPFN* PREDLINK)=! (! ADV-TYPE)=c temp ""@MRS-TOPIC "" | ADVP: !$(^ ADJUNCT) ~(! ADV-TYPE)=loc s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"" ""@MRS-TOPIC "" | NOM: !$(^ ADJUNCT) (! CASE)=nom @COMPLETECHECKFEATS (! NTYPE NSEM TIME TEMPNOUN)=c + { (! NTYPE NSEM TIME WEEKDAY)=c + | ~(! NTYPE NSEM TIME WEEKDAY)=+ { (! CHECK _PREDET)=c + | ~(! CHECK _PREDET)=+ (! ADJUNCT) }} s::* $ (s::M* loc) ""@MRS-TEMPNP"" ""@MRS-TOPIC "" | PPCMPL: (^ TOPIC)=! ~(! CHECK _MOVED-OBJ)=+ (s::^ topic)=s::* ""@MRS-TOPIC "" @TOPADJUNCTPP |PPtil: @TOPOBLBENPP ""@MRS-TOPIC "" |PPav: @TOPOBLAGPP ""@MRS-TOPIC "" | VP: (^ TOPIC)=! ~(! VFORM)=fin (! CHECK _TOPVP)=+ (s::^ topic)=s::* ""@MRS-TOPIC "" (^ COMPFN* XCOMP)=%holdon %holdon=! s::*=s::%holdon | VP': (^ TOPIC)=! (! CHECK _TOPVP)=+ (s::^ topic)=s::* { (^ COMPFN* XCOMP)=%holdon ""@MRS-TOPIC "" | (^ SUBJ)=%holdon "We tentatively leave out the full path (^ ({COMP | XCOMP}* COMP) SUBJ) for the sake of efficiency. 'å sove tror Per at likes av Kari' is marginal." { (! SUBJ PRED)='pro' (! SUBJ PRON-TYPE)=null "These lines are optional in order to allow subj. control when the infinitive is the subj. of a passive verb (å sove prøves av Kari)." s::(! SUBJ)=arbitrary-ref "" (m::! RELS_EL ARG1 type)=non_expl-ind ""}} %holdon=! s::*=s::%holdon | VPpart:! $ (^ ADJUNCT) (^ SUBJ) = (! SUBJ) (s::^ topic)=s::* "" @MRS-TOPIC @MRS-VPADJUNCT "" | CPnom: @(COMPLETE (! CLAUSE-TYPE)) (! COMP-FORM) (! TOPCP)=+ (^ TOPIC)=! (s::M* topic)=s::* (! CLAUSE-TYPE)=c nominal { (^ {COMP | XCOMP}* COMP)=! ""@MRS-TOPIC "" | (^ SUBJ)=! }; (COMMA) | WhP: @(COMPLETE (! CLAUSE-TYPE)) (! TOPCP)=+ (^ TOPIC)=! (s::M* topic)=s::* ""@MRS-TOPIC "" (^ {COMP | XCOMP}* COMP)=!; (COMMA) | CPadv: @(COMPLETE (! CLAUSE-TYPE)) (! COMP-FORM) (! TOPCP)=+ (^ TOPIC)=! (s::M* topic)=s::* """@MRS-TOPIC""" (! CLAUSE-TYPE)=c adv ! $"@MRS-ADVCLAUSE""; (COMMA) (SADV: !$s(^ ADJUNCT) (! PRED FN)=c så s::*=(s::M* arg3) ""@MRS-SMADVSYNTAX"" ""@MRS-TOPIC "") | VPpur: ! $"@MRS-ADVCLAUSE"" ""@MRS-TOPIC "" | IPcond: @(COMPLETE (! CLAUSE-TYPE)) (! TOPCP)=+ (^ TOPIC)=! (s::M* topic)=s::* ""@MRS-TOPIC "" ! $"@MRS-ADVCLAUSE""; (COMMA) (SADV: !$s(^ ADJUNCT) (! PRED FN)=c så s::*=(s::M* arg3) ""@MRS-SMADVSYNTAX"") | NPsit: (^ (COMPFN* COMP) SUBJ)=! (^ XCOMP* PREDLINK ATYPE) "Non-agreeing subjects: 'Bil er dyrt'" | CONJcorr: (m::^ _CONJREL)=(m::*_CONJREL)} I'CMPL: ^=! (^ MAIN-CL)=+ (^ TNS-ASP MOOD)=c indicative (^ STMT-TYPE)=decl (^ SUBJ) "The subject condition" s::M*=s::^ "Let the s-projection of IP be a projection of its f-structure as well. Reason: See the first comment in this rule." (s::M* relation)=inform (s::M* arg1)=SPEAKER (s::M* arg2)=HEARER (s::M* arg3)=s::* (s::M* pol)=+ "" @MRS-PRPSTN """; (CPrel: @EXRESTREL)" "Temporarily remove extraposed relatives." | I'CMPL: ^=! (^ MAIN-CL)=+ (^ TNS-ASP MOOD)=c indicative (^ STMT-TYPE)=int (^ SUBJ) "The subject condition" s::M*=s::^ (s::M* relation)=request-truth-value (s::M* arg1)=SPEAKER (s::M* arg2)=HEARER (s::M* arg3)=s::* (s::M* pol)=+ "" @MRS-INT "" | { IntNOM: (^ FOCUS-INT)=! (s::^ arg3)=s::* ""@MRS-TOPIC "" { (^ COMPFN* {ADJUNCT $ OBJ|TERMFN})=! | (^ (COMPFN* COMP) SUBJ)=! | (^ COMPFN*)=%holdon ! $ (%holdon ADJUNCT) (! NTYPE NSEM TIME TEMPNOUN)=c + s::* $ (s::M* arg4 modifiers) ""@MRS-TEMPNP"" | (! PRON-FORM)=c hva (s::* ind type)=PROPOSITION (^ COMPFN* COMP)=! } | POSSPint: (^ FOCUS-INT)=(! SPEC POSS) "hvem sin" (s::^ arg3)=s::(! SPEC POSS) ""@MRS-GARPTOPIC "" { (^ COMPFN* {ADJUNCT $ OBJ|TERMFN})=! | (^ (COMPFN* COMP) SUBJ)=!} | APint: (^ FOCUS-INT)=! (s::^ arg3)=s::* "(^ COMPFN* PREDLINK)=!" (^ {COMP | XCOMP}*)=%holdon (%holdon PREDLINK)=! "@TOPACOMP" (! ATYPE)=predicative @LONGDISTAGR ~(! DEF)=+ ""@MRS-TOPIC "" | ADVPint: (^ FOCUS-INT)=! (s::^ arg3)=s::* (^ COMPFN*)=%holdon { ! $ (%holdon ADJUNCT) s::* $ (s::M* arg4 modifiers) ""@MRS-TOPADJUNCTPP "" ""@MRS-TOPIC "" | ! $ (%holdon PREDLINK) (m::! RELS_EL LBL)=(m::%holdon RELS_EL LBL)} | PPint: (^ FOCUS-INT)=(! OBJ) (s::^ arg3)=s::* (^ COMPFN*)=%holdon ! $ (%holdon ADJUNCT) s::* $ (s::M* arg4 modifiers) ""@MRS-TOPADJUNCTPP "" ""@MRS-TOPIC "" | PPavint: @TOPOBLAGINTPP ""@MRS-TOPIC ""} I'CMPL: ^=! (^ MAIN-CL)=+ (^ TNS-ASP MOOD)=c indicative (^ STMT-TYPE)=int (^ SUBJ) "The subject condition" s::M*=s::^ (s::M* relation)=request-value (s::M* arg1)=SPEAKER (s::M* arg2)=HEARER (s::M* arg4)=s::* (s::M* pol)=+ "" @MRS-INT "" | ({ ADVneg: !$s(^ ADJUNCT) s::*=(s::M* arg3) ""@MRS-SMADVSYNTAX"" ""@MRS-TOPIC "" | CPadv: @(COMPLETE (! CLAUSE-TYPE)) (! COMP-FORM) (! TOPCP)=+ (^ TOPIC)=! (s::M* topic)=s::* ""@MRS-TOPIC "" (! CLAUSE-TYPE)=c adv ! $"@MRS-ADVCLAUSE""; (COMMA) | VPpur: ! $"@MRS-ADVCLAUSE"" ; (COMMA) }) I'CMPL: ^=! (^ MAIN-CL)=+ (^ TNS-ASP MOOD)=c imperative (^ STMT-TYPE)=imp (^ SUBJ PRED)='pro' (^ SUBJ PERS)=2 (^ SUBJ CASE)=nom (^ SUBJ REF)=+ (^ SUBJ GEND NEUT)=- "To avoid spurious ambiguities." "" @MRS-IMP "" { (^ SUBJ NUM)=sg (s::M* arg3 arg1 ind)=HEARER | (^ SUBJ NUM)=pl %holdon $ (s::M* arg3 arg1 cond) (%holdon relation)=includes-hearer (%holdon arg1 ind)=(s::M* arg3 arg1 ind) (%holdon arg1 ind type)=GROUP Mark5 $ o::*} "Below stoppoint for efficiency reasons." s::M*=s::^ (s::M* arg3 arg1 reference unique)=+ (s::M* arg3 arg1 sel human)=+ (s::M* arg3 arg1 sel anim)=+ (s::M* arg3 arg1 sel abstract)=- (s::M* relation)=request (s::M* arg1)=SPEAKER (s::M* arg2)=HEARER (s::M* arg3)=s::* (s::M* pol)=+ }. "Experimental rule to improve efficiency:" IPimprs --> { { NOM: (^ TOPIC)=! @COMPLETECHECKFEATS { (^ COMPFN* {ADJUNCT $ OBJ|TERMFN})=! @OBJCASE @OBJbenCASE "Mark3 $ o::*" "Disprefer non-subjects here." ~(! REF)=- (s::^ topic)=s::* "Refer to the f-structure's s-projection here, and not to that of the mother c-node: Bug danger because of interaction with functional unc." ""@MRS-TOPIC "" | (^ COMPFN*)=%holdon (%holdon PREDLINK)=! @TOPNCOMP { (! NTYPE) | ~(! NTYPE) (! REF)=c + } (s::^ topic)=s::* "Mark3 $ o::*" "Disprefer non-subjects here." ""@MRS-TOPIC "" | (^ COMPFN* COMP SUBJ)=! @SUBJCASE @REFERENTIAL "~(! PRON-TYPE)=expl_" ~(! REF)=- "This should handle both expletives and non-referring reflexives, as above" ""@MRS-TOPIC ""} | PRONexpl: (^ SUBJ)=! (! PRON-TYPE)=c expl_ | APCMPL: { (^ TOPIC)=! ~(! CHECK _ADVERBIAL)=+ (^ {COMP | XCOMP}*)=%holdon (%holdon PREDLINK)=! "@TOPACOMP" (! ATYPE)=predicative ~(! NTYPE) @LONGDISTAGR ~(! DEF)=+ (s::^ topic)=s::* ""@MRS-TOPIC "" | !$(^ ADJUNCT) (! CHECK _ADVERBIAL)=c + @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"" ""@MRS-TOPIC ""} | ATTADV: !$s(^ ADJUNCT) s::*=(s::M* mod) ""@MRS-SMADVSYNTAX"" ""@MRS-TOPIC "" | CMTADV: !$s(^ ADJUNCT) s::*=(s::M* mod) ""@MRS-SMADVSYNTAX"" ""@MRS-TOPIC "" | SADV: !$s(^ ADJUNCT) s::*=(s::M* arg3) ""@MRS-SMADVSYNTAX"" ""@MRS-TOPIC "" | ADVneg: !$s(^ ADJUNCT) s::*=(s::M* arg3) ""@MRS-SMADVSYNTAX"" ""@MRS-TOPIC "" | ADVPloctop: { !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"" | (^ COMPFN* PREDLINK)=! } ""@MRS-TOPIC "" | ADVtmp:(^ COMPFN* PREDLINK)=! (! ADV-TYPE)=c temp ""@MRS-TOPIC "" | ADVP: !$(^ ADJUNCT) ~(! ADV-TYPE)=loc s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"" ""@MRS-TOPIC "" | NOM: !$(^ ADJUNCT) (! CASE)=nom @COMPLETECHECKFEATS (! NTYPE NSEM TIME TEMPNOUN)=c + { (! NTYPE NSEM TIME WEEKDAY)=c + | ~(! NTYPE NSEM TIME WEEKDAY)=+ { (! CHECK _PREDET)=c + | ~(! CHECK _PREDET)=+ (! ADJUNCT) }} s::* $ (s::M* loc) ""@MRS-TEMPNP"" ""@MRS-TOPIC "" | PPCMPL: (^ TOPIC)=! ~(! CHECK _MOVED-OBJ)=+ (s::^ topic)=s::* ""@MRS-TOPIC "" @TOPADJUNCTPP |PPtil: @TOPOBLBENPP ""@MRS-TOPIC "" |PPav: @TOPOBLAGPP ""@MRS-TOPIC "" | VP: (^ TOPIC)=! ~(! VFORM)=fin (! CHECK _TOPVP)=+ (s::^ topic)=s::* ""@MRS-TOPIC "" (^ COMPFN* XCOMP)=%holdon %holdon=! s::*=s::%holdon | VP': (^ TOPIC)=! (! CHECK _TOPVP)=+ (s::^ topic)=s::* (^ COMPFN* XCOMP)=! ""@MRS-TOPIC "" { (! SUBJ PRED)='pro' (! SUBJ PRON-TYPE)=null "These lines are optional in order to allow subj. control when the infinitive is the subj. of a passive verb (å sove prøves av Kari)." s::(! SUBJ)=arbitrary-ref "" (m::! RELS_EL ARG1 type)=non_expl-ind ""} | VPpart:! $ (^ ADJUNCT) (^ SUBJ) = (! SUBJ) (s::^ topic)=s::* "" @MRS-TOPIC @MRS-VPADJUNCT "" | CPnom: @(COMPLETE (! CLAUSE-TYPE)) (! COMP-FORM) (! TOPCP)=+ (^ TOPIC)=! (s::M* topic)=s::* (! CLAUSE-TYPE)=c nominal (^ {COMP | XCOMP}* COMP)=! ""@MRS-TOPIC ""; (COMMA) | WhP: @(COMPLETE (! CLAUSE-TYPE)) (! TOPCP)=+ (^ TOPIC)=! (s::M* topic)=s::* ""@MRS-TOPIC "" (^ {COMP | XCOMP}* COMP)=!; (COMMA) | CPadv: @(COMPLETE (! CLAUSE-TYPE)) (! COMP-FORM) (! TOPCP)=+ (^ TOPIC)=! (s::M* topic)=s::* """@MRS-TOPIC""" (! CLAUSE-TYPE)=c adv ! $"@MRS-ADVCLAUSE""; (COMMA) (SADV: !$s(^ ADJUNCT) (! PRED FN)=c så s::*=(s::M* arg3) ""@MRS-SMADVSYNTAX"" ""@MRS-TOPIC "") | VPpur: ! $"@MRS-ADVCLAUSE"" ""@MRS-TOPIC "" | IPcond: @(COMPLETE (! CLAUSE-TYPE)) (! TOPCP)=+ (^ TOPIC)=! (s::M* topic)=s::* ""@MRS-TOPIC "" ! $"@MRS-ADVCLAUSE""; (COMMA) (SADV: !$s(^ ADJUNCT) (! PRED FN)=c så s::*=(s::M* arg3) ""@MRS-SMADVSYNTAX"") | NPsit: (^ (COMPFN* COMP) SUBJ)=! (^ XCOMP* PREDLINK ATYPE) "Non-agreeing subjects: 'Bil er dyrt'" | CONJcorr: (m::^ _CONJREL)=(m::*_CONJREL)} I'imprs: ^=! (^ MAIN-CL)=+ (^ TNS-ASP MOOD)=c indicative (^ STMT-TYPE)=decl (^ SUBJ) "The subject condition" s::M*=s::^ "Let the s-projection of IP be a projection of its f-structure as well. Reason: See the first comment in this rule." (s::M* relation)=inform (s::M* arg1)=SPEAKER (s::M* arg2)=HEARER (s::M* arg3)=s::* (s::M* pol)=+ "" @MRS-PRPSTN """; (CPrel: @EXRESTREL)" "Temporarily remove extraposed relatives." | I'imprs: ^=! (^ MAIN-CL)=+ (^ TNS-ASP MOOD)=c indicative (^ STMT-TYPE)=int (^ SUBJ) "The subject condition" s::M*=s::^ (s::M* relation)=request-truth-value (s::M* arg1)=SPEAKER (s::M* arg2)=HEARER (s::M* arg3)=s::* (s::M* pol)=+ "" @MRS-INT "" | { IntNOM: (^ FOCUS-INT)=! (s::^ arg3)=s::* ""@MRS-TOPIC "" { (^ COMPFN* {ADJUNCT $ OBJ|TERMFN})=! | (^ COMPFN* COMP SUBJ)=! | (^ COMPFN*)=%holdon ! $ (%holdon ADJUNCT) (! NTYPE NSEM TIME TEMPNOUN)=c + s::* $ (s::M* arg4 modifiers) ""@MRS-TEMPNP"" | (! PRON-FORM)=c hva (s::* ind type)=PROPOSITION (^ COMPFN* COMP)=! } | POSSPint: (^ FOCUS-INT)=(! SPEC POSS) "hvem sin" (s::^ arg3)=s::(! SPEC POSS) ""@MRS-GARPTOPIC "" { (^ COMPFN* {ADJUNCT $ OBJ|TERMFN})=! | (^ COMPFN* COMP SUBJ)=!} | APint: (^ FOCUS-INT)=! (s::^ arg3)=s::* "(^ COMPFN* PREDLINK)=!" (^ {COMP | XCOMP}*)=%holdon (%holdon PREDLINK)=! "@TOPACOMP" (! ATYPE)=predicative @LONGDISTAGR ~(! DEF)=+ ""@MRS-TOPIC "" | ADVPint: (^ FOCUS-INT)=! (s::^ arg3)=s::* (^ COMPFN*)=%holdon { ! $ (%holdon ADJUNCT) s::* $ (s::M* arg4 modifiers) ""@MRS-TOPADJUNCTPP "" ""@MRS-TOPIC "" | ! $ (%holdon PREDLINK) (m::! RELS_EL LBL)=(m::%holdon RELS_EL LBL)} | PPint: (^ FOCUS-INT)=(! OBJ) (s::^ arg3)=s::* (^ COMPFN*)=%holdon ! $ (%holdon ADJUNCT) s::* $ (s::M* arg4 modifiers) ""@MRS-TOPADJUNCTPP "" ""@MRS-TOPIC "" | PPavint: @TOPOBLAGINTPP ""@MRS-TOPIC ""} I'imprs: ^=! (^ MAIN-CL)=+ (^ TNS-ASP MOOD)=c indicative (^ STMT-TYPE)=int (^ SUBJ) "The subject condition" s::M*=s::^ (s::M* relation)=request-value (s::M* arg1)=SPEAKER (s::M* arg2)=HEARER (s::M* arg4)=s::* (s::M* pol)=+ "" @MRS-INT ""}. I' --> { VfinCMPL: ^=! (^ VFORM)=c fin s::M*=s::* @(COMPLETE (^ PASSIVE)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (^ CHECK _ASPVERB)) @DEFAULTPOLARITY | Vasp: ^=! (^ VFORM)=c fin s::M*=s::* @(COMPLETE (^ PASSIVE)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (^ CHECK _ASPVERB)) @DEFAULTPOLARITY } "Default polarity is positive, i.e., positive if no neg-adv. has introduced a negative value." (S: ^=! s::M*=s::*). "Experimental rules to improve efficiency:" I'imprs --> Vimprs[fin]: ^=! (^ VFORM)=c fin s::M*=s::* @(COMPLETE (^ PASSIVE)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (^ CHECK _ASPVERB)) @DEFAULTPOLARITY; (Simprs: ^=!). I'cop --> Vcop[fin]: ^=! (^ VFORM)=c fin s::M*=s::* @(COMPLETE (^ PASSIVE)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (^ CHECK _ASPVERB)) @DEFAULTPOLARITY; (Scop: ^=!). I'aux --> Vaux[fin]: ^=! (^ VFORM)=c fin s::M*=s::* @(COMPLETE (^ PASSIVE)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (^ CHECK _ASPVERB)) @DEFAULTPOLARITY; (Scop: ^=!). "Make separate Saux later?" S --> [{ [({ NOM: (^ SUBJ)=! ~(^ MAIN-CL)=- ~(! PRON-TYPE) @REFERENTIAL @SUBJCASE @COMPLETECHECKFEATS | NPsit: (^ SUBJ)=! ~(^ MAIN-CL)=- (^ XCOMP* PREDLINK ATYPE)}) (ALLQ: (^ SUBJ)=! (! SPEC QUANT CHECK _FLOATING)=+ (^ SUBJ NUM)=c pl (s::(^ SUBJ) floatquant)=s::*) (PRONrfl: { (^ OBJben)=! (^ CHECK _MOVED-BEN)=+ | (^ OBJ)=! } (^ CHECK _REFL)=c + ~(^ VTYPE)=aux ~(^ MAIN-CL)=- ) (PRON: (^ OBJben)=! @OBJbenCASE ~(! PRON-TYPE)=quant ~(^ VTYPE)=aux ~(^ MAIN-CL)=- "Pronominals can Holmberg-move only in main clauses." ~(^ CHECK _ASPVERB)=+_ "No pronouns here in 'driver og...' constr." "{ ~(! PRON-TYPE)=refl | (! PRON-TYPE)=c refl (^ CHECK _REFL)=c +}" ~(! PRON-TYPE)=refrefl (^ CHECK _MOVED-BEN)=+) "Moved OBJben must leave a mark, since pronominal OBJ can move only if OBJben also has moved." (PRON: (^ OBJ)=! @OBJCASE ~(! PRON-TYPE)=quant ~(^ VTYPE)=aux "Pronominal OBJ and OBJben may occur here under S, in that order, rather than under VP only if the head of IP is the main verb. ('Da gav Per henne den ikke', but not '*Da har Per henne den ikke gitt'." ~(^ MAIN-CL)=- ~(^ CHECK _ASPVERB)=+_ "No pronouns here in 'driver og...' constr." ~(! CHECK _P-SELFORM) "We don't want prepositional objects up here - that would yield 'jeg tenker ham på'." ~(! PRON-TYPE)=refrefl "{ ~(! PRON-TYPE)=refl | (! PRON-TYPE)=c refl (^ CHECK _REFL)=c +}" { ~(^ OBJben) | (^ OBJben) (^ CHECK _MOVED-BEN)=c + "@(COMPLETE (^ CHECK _MOVED-BEN))"}) (PRON: (^ COMP)=! (! PRON-TYPE)=c pers (! GEND NEUT)=c +)], "If SUBJ is not pronominal, then the relative order of SUBJ (together with possible Holmberg-moved pronouns) and ADVs is free (SUBJ(+ associates) at any point in ADV sequence). However, ATTADVs and CMTADVs like 'heldigvis', 'sannsynligvis' must come before SADVs like 'ikke', 'ofte' Examples: 'Da spiste Per den heldigvis ikke', 'Da spiste heldigvis Per den ikke'." [ (ATTADV: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (CMTADV*: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (SADV*: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*), (ADVneg: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*)] "Remove comma to avoid overgeneration (ADVloc before SUBJ). But may need further consideration." ( "{" ADVloc: !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"" "| PP: @ADJUNCTPP ~(^ MAIN-CL)=+}")"Remove PP option for now. (Bug in XLE, which will be removed)" { (ADVP: !$s(^ ADJUNCT) ~(! ADV-TYPE)=loc s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s(^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") } | { PRON: (^ SUBJ)=! @SUBJCASE | PRONexpl: (^ SUBJ)=! @SUBJCASE } [ (ALLQ: (^ SUBJ)=! (! SPEC QUANT CHECK _FLOATING)=+ (^ SUBJ NUM)=c pl (s::(^ SUBJ) floatquant)=s::*) (PRONrfl: { (^ OBJben)=! (^ CHECK _MOVED-BEN)=+ | (^ OBJ)=! } (^ CHECK _REFL)=c + ~(^ VTYPE)=aux ~(^ MAIN-CL)=- ) (PRON: (^ OBJben)=! @OBJbenCASE ~(! PRON-TYPE)=quant ~(^ VTYPE)=aux ~(^ MAIN-CL)=- ~(^ CHECK _ASPVERB)=+_ "No pronouns here in 'driver og...' constr." "{ ~(! PRON-TYPE)=refl | (! PRON-TYPE)=c refl (^ CHECK _REFL)=c +}" ~(! PRON-TYPE)=refrefl (^ CHECK _MOVED-BEN)=+) "See comments immediately above." (PRON: (^ OBJ)=! @OBJCASE ~(! PRON-TYPE)=quant ~(^ VTYPE)=aux ~(^ MAIN-CL)=- ~(^ CHECK _ASPVERB)=+_ "No pronouns here in 'driver og...' constr." ~(! CHECK _P-SELFORM) "We don't want prepositional objects up here under S - that would yield 'jeg tenker ham på'." ~(! PRON-TYPE)=refrefl "{ ~(! PRON-TYPE)=refl | (! PRON-TYPE)=c refl (^ CHECK _REFL)=c +}" { ~(^ OBJben) | (^ OBJben) (^ CHECK _MOVED-BEN)=c +}) (PRON: (^ COMP)=! (! PRON-TYPE)=c pers (! GEND NEUT)=c +)], [ (ATTADV: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (CMTADV*: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (SADV*: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*), (ADVneg: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*)], ("{" ADVloc: !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"" "| PP: @ADJUNCTPP ~(^ MAIN-CL)=+}")"Remove PP option for now. (Bug in XLE, which will be removed)" { (ADVP: !$s(^ ADJUNCT) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s(^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"")} } { e: (^ MAIN-CL)=c + "VP optional only in main clauses" | VPmain: ^=! (^ MAIN-CL)=c + (^ VFORM)=c fin s::M*=s::* @DEFAULTPOLARITY | VPasp[fin]: ^=! (^ VFORM)=c fin s::M*=s::* (^ CHECK _ASPVERB)=c +_}]. "Experimental rules to improve efficiency:" Simprs --> (PRONexpl: (^ SUBJ)=! @SUBJCASE) [(ATTADV: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (CMTADV*: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (SADV*: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*), (ADVneg: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*)], ( ADVloc: !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"") { (ADVP: !$s(^ ADJUNCT) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s(^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"")} VPmain2: ^=! (^ MAIN-CL)=c + (^ VFORM)=c fin s::M*=s::* @DEFAULTPOLARITY. Scop --> { ({ NOM: (^ SUBJ)=! ~(^ MAIN-CL)=- ~(! PRON-TYPE) @REFERENTIAL @SUBJCASE @COMPLETECHECKFEATS | NPsit: (^ SUBJ)=! ~(^ MAIN-CL)=- (^ XCOMP* PREDLINK ATYPE)}) (ALLQ: (^ SUBJ)=! (! SPEC QUANT CHECK _FLOATING)=+ (^ SUBJ NUM)=c pl (s::(^ SUBJ) floatquant)=s::*) [ (ATTADV: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (CMTADV*: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (SADV*: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*), (ADVneg: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*)] "Remove comma to avoid overgeneration (ADVloc before SUBJ). But may need further consideration." ( "{" ADVloc: !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"" "| PP: @ADJUNCTPP ~(^ MAIN-CL)=+}")"Remove PP option for now. (Bug in XLE, which will be removed)" { (ADVP: !$s(^ ADJUNCT) ~(! ADV-TYPE)=loc s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s(^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") } | PRON: (^ SUBJ)=! @SUBJCASE; (ALLQ: (^ SUBJ)=! (! SPEC QUANT CHECK _FLOATING)=+ (^ SUBJ NUM)=c pl (s::(^ SUBJ) floatquant)=s::*), [(ATTADV: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (CMTADV*: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (SADV*: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*), (ADVneg: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*)], ("{" ADVloc: !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"" "| PP: @ADJUNCTPP ~(^ MAIN-CL)=+}")"Remove PP option for now. (Bug in XLE, which will be removed)" { (ADVP: !$s(^ ADJUNCT) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s(^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"")} } { e: (^ MAIN-CL)=c + "VP optional only in main clauses" | VPmain2: ^=! (^ MAIN-CL)=c + (^ VFORM)=c fin s::M*=s::* @DEFAULTPOLARITY}. Ssub --> [{ ({ NOM: (^ SUBJ)=! (^ MAIN-CL)=c - ~(! PRON-TYPE) @REFERENTIAL @SUBJCASE @COMPLETECHECKFEATS | NPsit: (^ SUBJ)=! (^ MAIN-CL)=c - (^ XCOMP* PREDLINK ATYPE)}) "No adverbs before SUBJ in subordinate clauses." (ALLQ: (^ SUBJ)=! (! SPEC QUANT CHECK _FLOATING)=+ (^ SUBJ NUM)=c pl (s::(^ SUBJ) floatquant)=s::*), [ (ATTADV: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (CMTADV*: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (SADV*: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*), (ADVneg: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*)] "Remove comma to avoid overgeneration (ADVloc before SUBJ). But may need further consideration." ( "{" ADVloc: !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"" "| PP: @ADJUNCTPP ~(^ MAIN-CL)=+}")"Remove PP option for now. (Bug in XLE, which will be removed)" { (ADVP: !$s(^ ADJUNCT) ~(! ADV-TYPE)=loc s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s(^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") } | { PRON: (^ SUBJ)=! @SUBJCASE | PRONexpl: (^ SUBJ)=! @SUBJCASE } (ALLQ: (^ SUBJ)=! (! SPEC QUANT CHECK _FLOATING)=+ (^ SUBJ NUM)=c pl (s::(^ SUBJ) floatquant)=s::*), [(ATTADV: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (CMTADV*: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (SADV*: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*), (ADVneg: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*)], ("{" ADVloc: !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"" "| PP: @ADJUNCTPP ~(^ MAIN-CL)=+}")"Remove PP option for now. (Bug in XLE, which will be removed)" { (ADVP: !$s(^ ADJUNCT) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s(^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"")} } { VPfinCMPL: ^=! "VP obligatory in non-main clauses" ~(^ MAIN-CL)=+ (^ VFORM)=c fin s::M*=s::* @DEFAULTPOLARITY { ~(^ CLAUSE-TYPE)=wh-int ~(^ CLAUSE-TYPE)=pol-int "" @MRS-PRPSTN "" | { (^ CLAUSE-TYPE)=c wh-int | (^ CLAUSE-TYPE)=c pol-int } "" @MRS-INT "" } "@(COMPLETE (^ PASSIVE))" | VPasp[fin]: ^=! (^ VFORM)=c fin s::M*=s::* (^ CHECK _ASPVERB)=c +_ { ~(^ CLAUSE-TYPE)=wh-int ~(^ CLAUSE-TYPE)=pol-int "" @MRS-PRPSTN "" | { (^ CLAUSE-TYPE)=c wh-int | (^ CLAUSE-TYPE)=c pol-int } "" @MRS-INT "" }}]. "Experimental rule for efficiency:" Ssubimprs --> PRONexpl: (^ SUBJ)=! @SUBJCASE; [(ATTADV: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (CMTADV*: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (SADV*: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*), (ADVneg: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*)], ("{" ADVloc: !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"" "| PP: @ADJUNCTPP ~(^ MAIN-CL)=+}")"Remove PP option for now. (Bug in XLE, which will be removed)" { (ADVP: !$s(^ ADJUNCT) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s(^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"")} VP2[fin]: ^=! "VP obligatory in non-main clauses" ~(^ MAIN-CL)=+ (^ VFORM)=c fin s::M*=s::* @DEFAULTPOLARITY { ~(^ CLAUSE-TYPE)=wh-int ~(^ CLAUSE-TYPE)=pol-int "" @MRS-PRPSTN "" | { (^ CLAUSE-TYPE)=c wh-int | (^ CLAUSE-TYPE)=c pol-int } "" @MRS-INT "" } "@(COMPLETE (^ PASSIVE))". Ssub2 --> [{ { NOM: (^ SUBJ)=! "This rule is for C-less nominal clauses. The only difference from Ssub is that the SUBJ is obligatory. This helps efficiency." (^ MAIN-CL)=c - ~(! PRON-TYPE) @REFERENTIAL @SUBJCASE @COMPLETECHECKFEATS | NPsit: (^ SUBJ)=! (^ MAIN-CL)=c - (^ XCOMP* PREDLINK ATYPE)} "No adverbs before SUBJ in subordinate clauses." (ALLQ: (^ SUBJ)=! (! SPEC QUANT CHECK _FLOATING)=+ (^ SUBJ NUM)=c pl (s::(^ SUBJ) floatquant)=s::*), [ (ATTADV: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (CMTADV*: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (SADV*: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*), (ADVneg: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*)] "Remove comma to avoid overgeneration (ADVloc before SUBJ). But may need further consideration." ( "{" ADVloc: !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"" "| PP: @ADJUNCTPP ~(^ MAIN-CL)=+}")"Remove PP option for now. (Bug in XLE, which will be removed)" { (ADVP: !$s(^ ADJUNCT) ~(! ADV-TYPE)=loc s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s(^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") } | { PRON: (^ SUBJ)=! @SUBJCASE | PRONexpl: (^ SUBJ)=! @SUBJCASE } (ALLQ: (^ SUBJ)=! (! SPEC QUANT CHECK _FLOATING)=+ (^ SUBJ NUM)=c pl (s::(^ SUBJ) floatquant)=s::*), [(ATTADV: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (CMTADV*: !$s(^ ADJUNCT) s::*=(s::^ mod) ""@MRS-SMADVSYNTAX"") (SADV*: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*), (ADVneg: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*)], ("{" ADVloc: !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"" "| PP: @ADJUNCTPP ~(^ MAIN-CL)=+}")"Remove PP option for now. (Bug in XLE, which will be removed)" { (ADVP: !$s(^ ADJUNCT) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s(^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"")} } { VPfinCMPL: ^=! "VP obligatory in non-main clauses" ~(^ MAIN-CL)=+ (^ VFORM)=c fin s::M*=s::* @DEFAULTPOLARITY "@(COMPLETE (^ PASSIVE))" | VPasp[fin]: ^=! (^ VFORM)=c fin s::M*=s::* (^ CHECK _ASPVERB)=c +_}]. VP --> VCMPL: ^=! s::M*=s::* @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (^ PRON-TYPE)) @(COMPLETE (^ CHECK _PRT-VERB)); (PPsel: @SELPP "Example: 'Jon har tatt av seg frakken.'" (! OBJ PRON-TYPE) (^ OBJ) ~(^ OBJ PRON-TYPE)) (PRONrfl: { (^ OBJ)=! | (^ OBJben)=! } (^ CHECK _REFL)=c + (! PRON-TYPE)=c refl) (NOM: (^ OBJben)=! @COMPLETECHECKFEATS @PERCOLATEANT "{ ~(! PRON-TYPE)=refl @PERCOLATEANT | (! PRON-TYPE)=c refl (^ CHECK _REFL)=c +}" { ~(! PRON-TYPE)=refrefl | (! PRON-TYPE)=c refrefl @REFREFLEXIVE } @REFERENTIAL? @OBJbenCASE) ( (PRT: (^ CHECK _PRT-VERB)=c + (^ CHECK _PART)=+_ ~(^ OBJ PRON-TYPE)) NOM: (^ OBJ)=! @COMPLETECHECKFEATS ~(! REF)=- ~(! PRON-TYPE)=refl { ~(! PRON-TYPE)=refrefl @PERCOLATEANT | (! PRON-TYPE)=c refrefl @REFREFLEXIVE } @REFERENTIAL? @OBJCASE (^ CHECK _OBJINSITU)=+ "This feature is to ensure that it is the SUBJ which is in place in 'Katter er kjedelig å jage'. The equation (^ SUBJ)=(^ XCOMP OBJ) would otherwise give the same synt. analysis to 'Å jage katter er kjedelig' (with 'katter' as SUBJ)." (^ OBJ CHECK _PREPEXISTS)=- "This feature is to prevent a following PPsel (SELPP, see below) with the function of OBJ and no internal OBJ, which would be unifiable with this OBJ. (Example: 'bussen tenker Kari på' with 'bussen' as SUBJ and 'Kari' as OBJ.") (PRT: (^ CHECK _PRT-VERB)=c + (^ CHECK _PART)=+_) (PRON: (^ COMP)=! (! PRON-TYPE)=c pers (! GEND NEUT)=c +) [ (APCMPL: (^ FREEPRED)=! @FREESUBJPRED ~(! CHECK _ADVERBIAL)=+ s::* $ (s::M* freepred)) (V: (^ FREEPRED)=! (^ SUBJ)=(! SUBJ) { (! VFORM)=c prespart "" @MRS-PROG "" | (! VFORM)=c pastpart (! CHECK _SUPINE)=c + (! PASSIVE)=+ ""(m::! RELS_EL ARG0 PERF)=+ ""} "" @MRS-NOTENSE (m::(^ FREEPRED) RELS_EL LBL)=(m::^ RELS_EL LBL) @(RELSLIST1 (m::(^ FREEPRED) RELS_EL)) "@(MRS-FREESUBJPRED (m::(^ FREEPRED) RELS_EL relation))""" s::* $ (s::M* freepred) @(COMPLETE (! VFORM))) ({ APCMPL: (^ PREDLINK)=! @OBJPREDAGR (! ATYPE)=predicative ~(! DEF)=+ ~(! CHECK _ADVERBIAL)=+ | NOM: (^ PREDLINK)=! "@NCOMP" ~(! CASE)=gen @COMPLETECHECKFEATS (^ PREDLINK CHECK _PREPEXISTS)=- @REFERENTIAL? | PPpred: @(SELPPfn PREDLINK) | PPapred: @(SELPPfn PREDLINK) { @SUBJPREDAGR | @OBJPREDAGR } | APCMPL: (^ PREDLINK)=! (! ATYPE)=predicative @SUBJPREDAGR ~(! DEF)=+ ~(! CHECK _ADVERBIAL)=+ "| PP:(^ PREDLINK)=! (! PTYPE)=c sem s::*=s::! | ADVPloc:(^ PREDLINK)=! s::*=s::! | ADVtmp:(^ PREDLINK)=! (! ADV-TYPE)=c temp s::*=s::!" })], [ (NOM: !$(^ ADJUNCT) @COMPLETECHECKFEATS (! CASE)=nom (! NTYPE NSEM TIME TEMPNOUN)=c + { (! NTYPE NSEM TIME WEEKDAY)=c + | ~(! NTYPE NSEM TIME WEEKDAY)=+ { (! CHECK _PREDET)=c + | ~(! CHECK _PREDET)=+ (! ADJUNCT) }} s::* $ (s::M* loc) ""@MRS-TEMPNP"") { (ADVP: !$s (^ ADJUNCT) ~(! ADV-TYPE)=loc s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s (^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") }] (PPCMPL:@ADJUNCTPP; ((COMMA) PPCMPL:@ADJUNCTPP)), (PPpost: @ADJUNCTPP), ({ PPtil: @OBLBENPP |PPav: @OBLAGPP} ), (PPsel: @SELPP; (PPsel: @SELPP)), (SADV: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*), ((COMMA) ADVPloc: !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"") (COMMA NOM: !$(^ ADJUNCT) @COMPLETECHECKFEATS (! CASE)=nom (! NTYPE NSEM TIME TEMPNOUN)=c + { (! NTYPE NSEM TIME WEEKDAY)=c + | ~(! NTYPE NSEM TIME WEEKDAY)=+ { (! CHECK _PREDET)=c + | ~(! CHECK _PREDET)=+ (! ADJUNCT) }} s::* $ (s::M* loc) ""@MRS-TEMPNP"") ({ VP': { (^ XCOMP)=! | (^ PREDLINK)=! "@VPREDCOMP" (! SUBJ PRED)='pro' (! SUBJ PRON-TYPE)=null s::(! SUBJ)=arbitrary-ref } (! CHECK _TOPVP)=- ; (PPav: @OBLAGPP) | VPCMPL: (^ XCOMP)=! (! CHECK _TOPVP)=- ~(! VFORM)=fin s::*=s::! { ~(^ PASSIVE)=+ "Main verb complements to auxiliaries" (^ VTYPE)=c aux s::M*=s::* | (^ PASSIVE)=c + "Complex passives: 'Han antas myrdet'" (! VFORM)=c pastpart (! PASS-TYPE)=c complex | (! VFORM)=c inf ~(^ VTYPE)=aux "(^ OBJ)" "acc with inf; 'la'"} | VPasp: (^ XCOMP)=! (! CHECK _TOPVP)=- ~(! VFORM)=fin s::*=s::! ~(^ PASSIVE)=+ (^ VTYPE)=c aux (! CHECK _ASPVERB)=c +_ s::M*=s::* | WhP: (^ COMP)=! (! CLAUSE-TYPE)=wh-int (! TOPCP)=- s::*=s::! }) { CPadv*: ~(^ CHECK _AUX1COMP)=+ "No adverbial clauses if the VP is a complement of an epistemic modal." ~(^ PASS-TYPE)=periph ! $"@MRS-ADVCLAUSE"" | VPpur: ! $"@MRS-ADVCLAUSE"" } "Adverbial clauses. We temporarily assume that they must precede nominal clauses. Thus the opposite order will uniformly be analysed with the adv. clause as a constituent of the nom. clause." ( { CPnullc: (^ COMP)=! @(COMPLETE (! CLAUSE-TYPE)) (! CLAUSE-TYPE)=nominal (! TOPCP)=- |CPnom: { (^ COMP)=! | (^ PREDLINK)=! "@COMP" } (! TOPCP)=- @(COMPLETE (! CLAUSE-TYPE)) (! CLAUSE-TYPE)=nominal |CPpol: (^ COMP)=! (! TOPCP)=- @(COMPLETE (! CLAUSE-TYPE)) (! CLAUSE-TYPE)=pol-int |CPrel: (^ COMP)=! (! TOPCP)=- @(COMPLETE (! CLAUSE-TYPE)) @RESTRELINTERNAL (^ CHECK _VCONSTR)=c cleft "Clefts."}). "Experimental rule to help efficiency:" VP2 --> V2: ^=! s::M*=s::* @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (^ PRON-TYPE)) @(COMPLETE (^ CHECK _PRT-VERB)); [({ APCMPL: (^ PREDLINK)=! @OBJPREDAGR (! ATYPE)=predicative ~(! DEF)=+ ~(! CHECK _ADVERBIAL)=+ | NOM: (^ PREDLINK)=! "@NCOMP" ~(! CASE)=gen @COMPLETECHECKFEATS (^ PREDLINK CHECK _PREPEXISTS)=- @REFERENTIAL? | PPpred: @(SELPPfn PREDLINK) | PPapred: @(SELPPfn PREDLINK) { @SUBJPREDAGR | @OBJPREDAGR } | APCMPL: (^ PREDLINK)=! (! ATYPE)=predicative @SUBJPREDAGR ~(! DEF)=+ ~(! CHECK _ADVERBIAL)=+ | PP:(^ PREDLINK)=! "@ADVCOMP" (! PTYPE)=c sem s::*=s::! | ADVPloc:(^ PREDLINK)=! "@ADVCOMP" s::*=s::! | ADVtmp:(^ PREDLINK)=! (! ADV-TYPE)=c temp "@ADVCOMP" s::*=s::! })], [ (NOM: !$(^ ADJUNCT) @COMPLETECHECKFEATS (! CASE)=nom (! NTYPE NSEM TIME TEMPNOUN)=c + { (! NTYPE NSEM TIME WEEKDAY)=c + | ~(! NTYPE NSEM TIME WEEKDAY)=+ { (! CHECK _PREDET)=c + | ~(! CHECK _PREDET)=+ (! ADJUNCT) }} s::* $ (s::M* loc) ""@MRS-TEMPNP"") { (ADVP: !$s (^ ADJUNCT) ~(! ADV-TYPE)=loc s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s (^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") }] (PPCMPL:@ADJUNCTPP; ((COMMA) PPCMPL:@ADJUNCTPP)), (PPpost: @ADJUNCTPP), (SADV: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*), ((COMMA) ADVPloc: !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"") (COMMA NOM: !$(^ ADJUNCT) @COMPLETECHECKFEATS (! CASE)=nom (! NTYPE NSEM TIME TEMPNOUN)=c + { (! NTYPE NSEM TIME WEEKDAY)=c + | ~(! NTYPE NSEM TIME WEEKDAY)=+ { (! CHECK _PREDET)=c + | ~(! CHECK _PREDET)=+ (! ADJUNCT) }} s::* $ (s::M* loc) ""@MRS-TEMPNP"") ({ VP': { (^ XCOMP)=! | (^ PREDLINK)=! "@VPREDCOMP" (! SUBJ PRED)='pro' (! SUBJ PRON-TYPE)=null s::(! SUBJ)=arbitrary-ref } (! CHECK _TOPVP)=- ; (PPav: @OBLAGPP) | VPCMPL: (^ XCOMP)=! (! CHECK _TOPVP)=- ~(! VFORM)=fin s::*=s::! ~(^ PASSIVE)=+ "Main verb complements to auxiliaries" (^ VTYPE)=c aux s::M*=s::*}) { CPadv*: ~(^ CHECK _AUX1COMP)=+ "No adverbial clauses if the VP is a complement of an epistemic modal." ~(^ PASS-TYPE)=periph ! $"@MRS-ADVCLAUSE"" | VPpur: ! $"@MRS-ADVCLAUSE"" } "Adverbial clauses. We temporarily assume that they must precede nominal clauses. Thus the opposite order will uniformly be analysed with the adv. clause as a constituent of the nom. clause." ( { CPnom: { (^ COMP)=! | (^ PREDLINK)=! "@COMP" } (! TOPCP)=- @(COMPLETE (! CLAUSE-TYPE)) (! CLAUSE-TYPE)=nominal |CPrel: (^ COMP)=! (! TOPCP)=- @(COMPLETE (! CLAUSE-TYPE)) @RESTRELINTERNAL (^ CHECK _VCONSTR)=c cleft "Clefts."}). VP[fin] --> VfinCMPL: ^=! s::M*=s::* @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (^ PRON-TYPE)) @(COMPLETE (^ CHECK _PRT-VERB)); (PPsel: @SELPP "Example: 'Jon tar av seg frakken.'" (! OBJ PRON-TYPE) (^ OBJ) ~(^ OBJ PRON-TYPE)) (PRONrfl: { (^ OBJ)=! | (^ OBJben)=! } (^ CHECK _REFL)=c + (! PRON-TYPE)=c refl) (NOM: (^ OBJben)=! @COMPLETECHECKFEATS @PERCOLATEANT "{ ~(! PRON-TYPE)=refl @PERCOLATEANT | (! PRON-TYPE)=c refl (^ CHECK _REFL)=c +}" { ~(! PRON-TYPE)=refrefl | (! PRON-TYPE)=c refrefl @REFREFLEXIVE } @REFERENTIAL? @OBJbenCASE) ( (PRT: (^ CHECK _PRT-VERB)=c + (^ CHECK _PART)=+_ ~(^ OBJ PRON-TYPE)) NOM: (^ OBJ)=! @COMPLETECHECKFEATS ~(! REF)=- ~(! PRON-TYPE)=refl { ~(! PRON-TYPE)=refrefl @PERCOLATEANT | (! PRON-TYPE)=c refrefl @REFREFLEXIVE } @REFERENTIAL? @OBJCASE (^ CHECK _OBJINSITU)=+ "This feature is to ensure that it is the SUBJ which is in place in 'Katter er kjedelig å jage'. The equation (^ SUBJ)=(^ XCOMP OBJ) would otherwise give the same synt. analysis to 'Å jage katter er kjedelig' (with 'katter' as SUBJ)." (^ OBJ CHECK _PREPEXISTS)=- "This feature is to prevent a following PPsel (SELPP, see below) with the function of OBJ and no internal OBJ, which would be unifiable with this OBJ. (Example: 'bussen tenker Kari på' with 'bussen' as SUBJ and 'Kari' as OBJ.") (PRT: (^ CHECK _PRT-VERB)=c + (^ CHECK _PART)=+_) (PRON: (^ COMP)=! (! PRON-TYPE)=c pers (! GEND NEUT)=c +) [ (APCMPL: (^ FREEPRED)=! @FREESUBJPRED ~(! CHECK _ADVERBIAL)=+ s::* $ (s::M* freepred)) (V: (^ FREEPRED)=! (^ SUBJ)=(! SUBJ) { (! VFORM)=c prespart "" @MRS-PROG "" | (! VFORM)=c pastpart (! CHECK _SUPINE)=c + (! PASSIVE)=+ ""(m::! RELS_EL ARG0 PERF)=+ ""} "" @MRS-NOTENSE (m::(^ FREEPRED) RELS_EL LBL)=(m::^ RELS_EL LBL) @(RELSLIST1 (m::(^ FREEPRED) RELS_EL)) "@(MRS-FREESUBJPRED (m::(^ FREEPRED) RELS_EL relation))""" s::* $ (s::M* freepred) @(COMPLETE (! VFORM))) ({ APCMPL: (^ PREDLINK)=! @OBJPREDAGR (! ATYPE)=predicative ~(! DEF)=+ ~(! CHECK _ADVERBIAL)=+ | NOM: (^ PREDLINK)=! @COMPLETECHECKFEATS "@NCOMP" ~(! CASE)=gen (^ PREDLINK CHECK _PREPEXISTS)=- @REFERENTIAL? | PPpred: @(SELPPfn PREDLINK) | PPapred: @(SELPPfn PREDLINK) { @SUBJPREDAGR | @OBJPREDAGR } | APCMPL: (^ PREDLINK)=! (! ATYPE)=predicative @SUBJPREDAGR ~(! DEF)=+ ~(! CHECK _ADVERBIAL)=+ "| PP:(^ PREDLINK)=! (! PTYPE)=c sem s::*=s::! | ADVPloc:(^ PREDLINK)=! s::*=s::! | ADVtmp:(^ PREDLINK)=! (! ADV-TYPE)=c temp s::*=s::!" })], [ (NOM: !$(^ ADJUNCT) @COMPLETECHECKFEATS (! CASE)=nom (! NTYPE NSEM TIME TEMPNOUN)=c + { (! NTYPE NSEM TIME WEEKDAY)=c + | ~(! NTYPE NSEM TIME WEEKDAY)=+ { (! CHECK _PREDET)=c + | ~(! CHECK _PREDET)=+ (! ADJUNCT) }} s::* $ (s::M* loc) ""@MRS-TEMPNP"") { (ADVP: !$s (^ ADJUNCT) ~(! ADV-TYPE)=loc s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s (^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") }] (PPCMPL:@ADJUNCTPP; ((COMMA) PPCMPL:@ADJUNCTPP)), (PPpost: @ADJUNCTPP), ({ PPtil: @OBLBENPP |PPav: @OBLAGPP} ), (PPsel: @SELPP; (PPsel: @SELPP)), (SADV: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*), ((COMMA) ADVPloc: !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"") (COMMA NOM: !$(^ ADJUNCT) @COMPLETECHECKFEATS (! CASE)=nom (! NTYPE NSEM TIME TEMPNOUN)=c + { (! NTYPE NSEM TIME WEEKDAY)=c + | ~(! NTYPE NSEM TIME WEEKDAY)=+ { (! CHECK _PREDET)=c + | ~(! CHECK _PREDET)=+ (! ADJUNCT) }} s::* $ (s::M* loc) ""@MRS-TEMPNP"") ({ VP': { (^ XCOMP)=! | (^ PREDLINK)=! "@VPREDCOMP" (! SUBJ PRED)='pro' (! SUBJ PRON-TYPE)=null s::(! SUBJ)=arbitrary-ref } (! CHECK _TOPVP)=- ; (PPav: @OBLAGPP) | VPCMPL: (^ XCOMP)=! (! CHECK _TOPVP)=- ~(! VFORM)=fin s::*=s::! { ~(^ PASSIVE)=+ "Main verb complements to auxiliaries" (^ VTYPE)=c aux s::M*=s::* | (^ PASSIVE)=c + "Complex passives: 'Han antas myrdet'" (! VFORM)=c pastpart (! PASS-TYPE)=c complex | (! VFORM)=c inf ~(^ VTYPE)=aux "(^ OBJ)" "acc with inf; 'la'"} | VPasp: (^ XCOMP)=! (! CHECK _TOPVP)=- ~(! VFORM)=fin s::*=s::! ~(^ PASSIVE)=+ (^ VTYPE)=c aux (! CHECK _ASPVERB)=c +_ s::M*=s::* | WhP: (^ COMP)=! (! CLAUSE-TYPE)=wh-int (! TOPCP)=- s::*=s::! }) { CPadv*: ~(^ CHECK _AUX1COMP)=+ "No adverbial clauses if the VP is a complement of an epistemic modal." ~(^ PASS-TYPE)=periph ! $"@MRS-ADVCLAUSE"" | VPpur: ! $"@MRS-ADVCLAUSE"" } "Adverbial clauses. We temporarily assume that they must precede nominal clauses. Thus the opposite order will uniformly be analysed with the adv. clause as a constituent of the nom. clause." ( { CPnullc: (^ COMP)=! @(COMPLETE (! CLAUSE-TYPE)) (! CLAUSE-TYPE)=nominal (! TOPCP)=- |CPnom: { (^ COMP)=! | (^ PREDLINK)=! "@COMP" } (! TOPCP)=- @(COMPLETE (! CLAUSE-TYPE)) (! CLAUSE-TYPE)=nominal |CPpol: (^ COMP)=! (! TOPCP)=- @(COMPLETE (! CLAUSE-TYPE)) (! CLAUSE-TYPE)=pol-int |CPrel: (^ COMP)=! (! TOPCP)=- @(COMPLETE (! CLAUSE-TYPE)) @RESTRELINTERNAL (^ CHECK _VCONSTR)=c cleft "Clefts."}). "Experimental rule to help efficiency:" VP2[fin] --> V2fin: ^=! s::M*=s::* @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (^ PRON-TYPE)) @(COMPLETE (^ CHECK _PRT-VERB)); [({ APCMPL: (^ PREDLINK)=! @OBJPREDAGR (! ATYPE)=predicative ~(! DEF)=+ ~(! CHECK _ADVERBIAL)=+ | NOM: (^ PREDLINK)=! @COMPLETECHECKFEATS "@NCOMP" ~(! CASE)=gen (^ PREDLINK CHECK _PREPEXISTS)=- @REFERENTIAL? | PPpred: @(SELPPfn PREDLINK) | PPapred: @(SELPPfn PREDLINK) { @SUBJPREDAGR | @OBJPREDAGR } | APCMPL: (^ PREDLINK)=! (! ATYPE)=predicative @SUBJPREDAGR ~(! DEF)=+ ~(! CHECK _ADVERBIAL)=+ | PP:(^ PREDLINK)=! "@ADVCOMP" (! PTYPE)=c sem s::*=s::! | ADVPloc:(^ PREDLINK)=! "@ADVCOMP" s::*=s::! | ADVtmp:(^ PREDLINK)=! (! ADV-TYPE)=c temp "@ADVCOMP" s::*=s::! })], [ (NOM: !$(^ ADJUNCT) @COMPLETECHECKFEATS (! CASE)=nom (! NTYPE NSEM TIME TEMPNOUN)=c + { (! NTYPE NSEM TIME WEEKDAY)=c + | ~(! NTYPE NSEM TIME WEEKDAY)=+ { (! CHECK _PREDET)=c + | ~(! CHECK _PREDET)=+ (! ADJUNCT) }} s::* $ (s::M* loc) ""@MRS-TEMPNP"") { (ADVP: !$s (^ ADJUNCT) ~(! ADV-TYPE)=loc s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s (^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") }] (PPCMPL:@ADJUNCTPP; ((COMMA) PPCMPL:@ADJUNCTPP)), (PPpost: @ADJUNCTPP), (SADV: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" s::*=s::M*), ((COMMA) ADVPloc: !$(^ ADJUNCT) s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"") (COMMA NOM: !$(^ ADJUNCT) @COMPLETECHECKFEATS (! CASE)=nom (! NTYPE NSEM TIME TEMPNOUN)=c + { (! NTYPE NSEM TIME WEEKDAY)=c + | ~(! NTYPE NSEM TIME WEEKDAY)=+ { (! CHECK _PREDET)=c + | ~(! CHECK _PREDET)=+ (! ADJUNCT) }} s::* $ (s::M* loc) ""@MRS-TEMPNP"") ({ VP': { (^ XCOMP)=! | (^ PREDLINK)=! "@VPREDCOMP" (! SUBJ PRED)='pro' (! SUBJ PRON-TYPE)=null s::(! SUBJ)=arbitrary-ref } (! CHECK _TOPVP)=- ; (PPav: @OBLAGPP) | VPCMPL: (^ XCOMP)=! (! CHECK _TOPVP)=- ~(! VFORM)=fin s::*=s::! ~(^ PASSIVE)=+ "Main verb complements to auxiliaries" (^ VTYPE)=c aux s::M*=s::*}) { CPadv*: ~(^ CHECK _AUX1COMP)=+ "No adverbial clauses if the VP is a complement of an epistemic modal." ~(^ PASS-TYPE)=periph ! $"@MRS-ADVCLAUSE"" | VPpur: ! $"@MRS-ADVCLAUSE"" } "Adverbial clauses. We temporarily assume that they must precede nominal clauses. Thus the opposite order will uniformly be analysed with the adv. clause as a constituent of the nom. clause." ( { CPnom: { (^ COMP)=! | (^ PREDLINK)=! "@COMP" } (! TOPCP)=- @(COMPLETE (! CLAUSE-TYPE)) (! CLAUSE-TYPE)=nominal |CPrel: (^ COMP)=! (! TOPCP)=- @(COMPLETE (! CLAUSE-TYPE)) @RESTRELINTERNAL (^ CHECK _VCONSTR)=c cleft "Clefts."}). VPmain --> e: (^ VFORM)=c fin @(COMPLETE (^ PRON-TYPE)); (PPsel: @SELPP "Example: 'Jon tar av seg frakken.'" (! OBJ PRON-TYPE) (^ OBJ) ~(^ OBJ PRON-TYPE) ~(^ OBJ)=(^ TOPIC))"To avoid PPsel being chosen both here and later in the VPmain." (NOM: (^ OBJben)=! @COMPLETECHECKFEATS { ~(! PRON-TYPE) @PERCOLATEANT | (! PRON-TYPE) ~(! COORD-FORM) ~(! PRON-TYPE)=refrefl Mark3 $ o::* "(a) Pronominal objects under VP are suboptimal in main clauses: If they can be analysed as daughters of S, this is preferred." | (! PRON-TYPE) (! COORD-FORM) @PERCOLATEANT ~(! PRON-TYPE)=refrefl | (! PRON-TYPE)=c refrefl @REFREFLEXIVE } ~(! PRON-TYPE)=refl @REFERENTIAL? @OBJbenCASE) ( (PRT: (^ CHECK _PRT-VERB)=c + (^ CHECK _PART)=+_ ~(^ OBJ PRON-TYPE)) NOM: (^ OBJ)=! @COMPLETECHECKFEATS ~(! REF)=- { ~(! PRON-TYPE) @PERCOLATEANT | (! PRON-TYPE) ~(! COORD-FORM) ~(! PRON-TYPE)=refrefl Mark3 $ o::* "See comment (a) above." | (! PRON-TYPE) (! COORD-FORM) @PERCOLATEANT ~(! PRON-TYPE)=refrefl | (! PRON-TYPE)=c refrefl @REFREFLEXIVE } ~(! PRON-TYPE)=refl @REFERENTIAL? @OBJCASE (^ OBJ CHECK _PREPEXISTS)=- "This feature is to prevent a following PP (SELPP, see below) with the function of OBJ and no internal OBJ, which would be unifiable with this OBJ. (Example: 'bussen tenker Kari på' with 'bussen' as SUBJ and 'Kari' as OBJ.") (PRT: (^ CHECK _PRT-VERB)=c + (^ CHECK _PART)=+_) (PRON: (^ COMP)=! (* LEFT_SISTER) (! PRON-TYPE)=c pers (! GEND NEUT)=c +) [ (APCMPL: (^ FREEPRED)=! ~(! CHECK _ADVERBIAL)=+ @FREESUBJPRED s::* $ (s::M* freepred)) (V: (^ FREEPRED)=! (^ SUBJ)=(! SUBJ) { (! VFORM)=c prespart "" @MRS-PROG "" | (! VFORM)=c pastpart (! CHECK _SUPINE)=c + (! PASSIVE)=+ ""(m::! RELS_EL ARG0 PERF)=+ ""} "" @MRS-NOTENSE (m::(^ FREEPRED) RELS_EL LBL)=(m::^ RELS_EL LBL) @(RELSLIST1 (m::(^ FREEPRED) RELS_EL)) "@(MRS-FREESUBJPRED (m::(^ FREEPRED) RELS_EL relation))""" s::* $ (s::M* freepred) @(COMPLETE (! VFORM))) ({ APCMPL: (^ PREDLINK)=! @OBJPREDAGR (! ATYPE)=predicative ~(! DEF)=+ ~(! CHECK _ADVERBIAL)=+ | NOM: (^ PREDLINK)=! @COMPLETECHECKFEATS "@NCOMP" ~(! CASE)=gen (^ PREDLINK CHECK _PREPEXISTS)=- @REFERENTIAL? | PPpred: @(SELPPfn PREDLINK) | PPapred: @(SELPPfn PREDLINK) { @SUBJPREDAGR | @OBJPREDAGR } | APCMPL: (^ PREDLINK)=! (! ATYPE)=predicative @SUBJPREDAGR ~(! DEF)=+ ~(! CHECK _ADVERBIAL)=+ "| PP:(^ PREDLINK)=! (! PTYPE)=c sem s::*=s::! | ADVPloc:(^ PREDLINK)=! s::*=s::! | ADVtmp:(^ PREDLINK)=! (! ADV-TYPE)=c temp s::*=s::!" })], [(NOM: !$(^ ADJUNCT) @COMPLETECHECKFEATS (! CASE)=nom (! NTYPE NSEM TIME TEMPNOUN)=c + { (! NTYPE NSEM TIME WEEKDAY)=c + | ~(! NTYPE NSEM TIME WEEKDAY)=+ { (! CHECK _PREDET)=c + | ~(! CHECK _PREDET)=+ (! ADJUNCT) }} s::* $ (s::M* loc) ""@MRS-TEMPNP"") { (ADVP: !$s (^ ADJUNCT) (* LEFT_SISTER) "No ADVP under VPmain unless with a left sister - to avoid double analyses, since ADVP is possible under S as well. " ~(! ADV-TYPE)=loc s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s (^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (* LEFT_SISTER) "See comment immediately above." (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") }] (PPCMPL:@ADJUNCTPP; ((COMMA) PPCMPL:@ADJUNCTPP)), (PPpost: @ADJUNCTPP), "((COMMA) PPCMPL+:@ADJUNCTPP),""Try the alternative immediately above..." ({ PPav: @OBLAGPP | PPtil: @OBLBENPP }), (PPsel: @SELPP; (PPsel: @SELPP)), (SADV: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" (* LEFT_SISTER)), ((COMMA) ADVPloc: !$(^ ADJUNCT) { ~(! ADJUNCT) (* LEFT_SISTER) | (! ADJUNCT) } "If simple ADVloc, with no relative clause, then forbid unless left sister intervenes between here and ADVloc position under S." s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"") (COMMA NOM: !$(^ ADJUNCT) @COMPLETECHECKFEATS (! CASE)=nom (! NTYPE NSEM TIME TEMPNOUN)=c + { (! NTYPE NSEM TIME WEEKDAY)=c + | ~(! NTYPE NSEM TIME WEEKDAY)=+ { (! CHECK _PREDET)=c + | ~(! CHECK _PREDET)=+ (! ADJUNCT) }} s::* $ (s::M* loc) ""@MRS-TEMPNP"") ({ VP': { (^ XCOMP)=! | (^ PREDLINK)=! "@VPREDCOMP" (! SUBJ PRED)='pro' (! SUBJ PRON-TYPE)=null s::(! SUBJ)=arbitrary-ref } (! CHECK _TOPVP)=- ; (PPav: @OBLAGPP) | VPCMPL: (^ XCOMP)=! (! CHECK _TOPVP)=- ~(! VFORM)=fin s::*=s::! { ~(^ PASSIVE)=+ "Main verb complements to auxiliaries" (^ VTYPE)=c aux s::M*=s::* | (^ PASSIVE)=c + "Complex passives: 'Han antas myrdet'" (! VFORM)=c pastpart (! PASS-TYPE)=c complex | (! VFORM)=c inf ~(^ VTYPE)=aux "(^ OBJ)" "acc with inf; 'la'"} | VPasp: (^ XCOMP)=! (! CHECK _TOPVP)=- ~(! VFORM)=fin s::*=s::! ~(^ PASSIVE)=+ (^ VTYPE)=c aux (! CHECK _ASPVERB)=c +_ s::M*=s::* | WhP: (^ COMP)=! (! CLAUSE-TYPE)=wh-int (! TOPCP)=- s::*=s::! }) { CPadv*: ~(^ PASS-TYPE)=periph ! $"@MRS-ADVCLAUSE"" | VPpur: ! $"@MRS-ADVCLAUSE""} "Adverbial clauses. We temporarily assume that they must precede nominal clauses. Thus the opposite order will uniformly be analysed with the adv. clause as a constituent of the nom. clause." ( { CPnullc: (^ COMP)=! @(COMPLETE (! CLAUSE-TYPE)) (! CLAUSE-TYPE)=nominal (! TOPCP)=- |CPnom: { (^ COMP)=! | (^ PREDLINK)=! "@COMP" } (! TOPCP)=- @(COMPLETE (! CLAUSE-TYPE)) (! CLAUSE-TYPE)=nominal |CPpol: (^ COMP)=! (! TOPCP)=- @(COMPLETE (! CLAUSE-TYPE)) (! CLAUSE-TYPE)=pol-int |CPrel: (^ COMP)=! (! TOPCP)=- @(COMPLETE (! CLAUSE-TYPE)) @RESTRELINTERNAL (^ CHECK _VCONSTR)=c cleft "Clefts."}). "Experimental rule to help efficiency:" VPmain2 --> e: (^ VFORM)=c fin @(COMPLETE (^ PRON-TYPE)); [({ APCMPL: (^ PREDLINK)=! @OBJPREDAGR (! ATYPE)=predicative ~(! DEF)=+ ~(! CHECK _ADVERBIAL)=+ | NOM: (^ PREDLINK)=! @COMPLETECHECKFEATS "@NCOMP" ~(! CASE)=gen (^ PREDLINK CHECK _PREPEXISTS)=- @REFERENTIAL? | PPpred: @(SELPPfn PREDLINK) | PPapred: @(SELPPfn PREDLINK) { @SUBJPREDAGR | @OBJPREDAGR } | APCMPL: (^ PREDLINK)=! (! ATYPE)=predicative @SUBJPREDAGR ~(! DEF)=+ ~(! CHECK _ADVERBIAL)=+ | PP:(^ PREDLINK)=! "@ADVCOMP" (! PTYPE)=c sem s::*=s::! | ADVPloc:(^ PREDLINK)=! "@ADVCOMP" s::*=s::! | ADVtmp:(^ PREDLINK)=! (! ADV-TYPE)=c temp "@ADVCOMP" s::*=s::! })], [(NOM: !$(^ ADJUNCT) @COMPLETECHECKFEATS (! CASE)=nom (! NTYPE NSEM TIME TEMPNOUN)=c + { (! NTYPE NSEM TIME WEEKDAY)=c + | ~(! NTYPE NSEM TIME WEEKDAY)=+ { (! CHECK _PREDET)=c + | ~(! CHECK _PREDET)=+ (! ADJUNCT) }} s::* $ (s::M* loc) ""@MRS-TEMPNP"") { (ADVP: !$s (^ ADJUNCT) (* LEFT_SISTER) "No ADVP under VPmain unless with a left sister - to avoid double analyses, since ADVP is possible under S as well. " ~(! ADV-TYPE)=loc s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") | (APCMPL: !$s (^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (* LEFT_SISTER) "See comment immediately above." (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") }] (PPCMPL:@ADJUNCTPP; ((COMMA) PPCMPL:@ADJUNCTPP)), (PPpost: @ADJUNCTPP), (SADV: !$s(^ ADJUNCT) ""@MRS-SMADVSYNTAX"" (* LEFT_SISTER)), ((COMMA) ADVPloc: !$(^ ADJUNCT) { ~(! ADJUNCT) (* LEFT_SISTER) | (! ADJUNCT) } "If simple ADVloc, with no relative clause, then forbid unless left sister intervenes between here and ADVloc position under S." s::* $ (s::M* loc) ""@MRS-ADJUNCTPP"") (COMMA NOM: !$(^ ADJUNCT) @COMPLETECHECKFEATS (! CASE)=nom (! NTYPE NSEM TIME TEMPNOUN)=c + { (! NTYPE NSEM TIME WEEKDAY)=c + | ~(! NTYPE NSEM TIME WEEKDAY)=+ { (! CHECK _PREDET)=c + | ~(! CHECK _PREDET)=+ (! ADJUNCT) }} s::* $ (s::M* loc) ""@MRS-TEMPNP"") ({ VP': { (^ XCOMP)=! | (^ PREDLINK)=! (! SUBJ PRED)='pro' (! SUBJ PRON-TYPE)=null s::(! SUBJ)=arbitrary-ref } (! CHECK _TOPVP)=- ; (PPav: @OBLAGPP) | VPCMPL: (^ XCOMP)=! (! CHECK _TOPVP)=- ~(! VFORM)=fin s::*=s::! ~(^ PASSIVE)=+ "Main verb complements to auxiliaries" (^ VTYPE)=c aux s::M*=s::*}) { CPadv*: ~(^ PASS-TYPE)=periph ! $"@MRS-ADVCLAUSE"" | VPpur: ! $"@MRS-ADVCLAUSE""} "Adverbial clauses. We temporarily assume that they must precede nominal clauses. Thus the opposite order will uniformly be analysed with the adv. clause as a constituent of the nom. clause." ( { CPnom: { (^ COMP)=! | (^ PREDLINK)=! "@COMP" } (! TOPCP)=- @(COMPLETE (! CLAUSE-TYPE)) (! CLAUSE-TYPE)=nominal |CPrel: (^ COMP)=! (! TOPCP)=- @(COMPLETE (! CLAUSE-TYPE)) @RESTRELINTERNAL (^ CHECK _VCONSTR)=c cleft "Clefts."}). VPasp --> (Vasp: ^=! s::M*=s::*) "Pseudo-coordinated aspect constructions." CONJasp VP: ^=! s::M*=s::*. VPasp[fin] --> (Vasp: ^=! s::M*=s::*) "Pseudo-coordinated aspect constructions." CONJasp VP[fin]: ^=! s::M*=s::*. VP' --> PARTinf, (ADVneg: ! $s (^ ADJUNCT) (! ADV-TYPE)=c neg s::*=s::M* ""@MRS-SMADVSYNTAX"") { VPCMPL: @DEFAULTPOLARITY s::M*=s::* s::M*=s::^ @(COMPLETE (^ COMP-FORM)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) | VPasp: @DEFAULTPOLARITY (^ CHECK _ASPVERB)=c +_ s::M*=s::* s::M*=s::^ @(COMPLETE (^ COMP-FORM)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE))}. VPattr --> ({ PP: @ADJUNCTPP "Preposed attributive VPs in NPs" |PPav: @OBLAGPP |PPtil: @OBLBENPP |(APCMPL: !$s(^ ADJUNCT) (! CHECK _ADVERBIAL)=c + (! NUM)=c sg @(IF (! CHECK _DEG-MORPH)=c positive (! GEND NEUT)=c +) s::* $ (s::M* manner) ""@MRS-SMADVSYNTAX"") |DEGADV: !$(^ ADJUNCT) s::M*=s::* "" @MRS-DEGADVSYNT ""}) V: ^=! s::M*=s::* { (! VFORM)=c prespart "" @MRS-PROG "" | (! VFORM)=c pastpart (! CHECK _SUPINE)=c - (! PASSIVE)=+ (! PASS-TYPE)=ptc ""(m::! RELS_EL ARG0 PERF)=- ""} "" @MRS-NOTENSE "". VPpart --> V: ^=! "Postposed attributive VPs in NPs" s::M*=s::* { (! VFORM)=c prespart "" @MRS-PROG "" | (! VFORM)=c pastpart (! CHECK _SUPINE)=c + (! PASSIVE)=+ (! PASS-TYPE)=ptc ""(m::! RELS_EL ARG0 PERF)=- ""} "" @MRS-NOTENSE ""; { PPCMPL: @ADJUNCTPP |PPav: @OBLAGPP |PPtil: @OBLBENPP }. VPpur --> COMPpur (ADVneg: ! $s (^ ADJUNCT) (! ADV-TYPE)=c neg s::*=s::M* ""@MRS-SMADVSYNTAX"") { VPCMPL: @DEFAULTPOLARITY s::M*=s::* s::M*=s::^ @(COMPLETE (^ COMP-FORM)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) | VPasp: @DEFAULTPOLARITY (^ CHECK _ASPVERB)=c +_ s::M*=s::* s::M*=s::^ @(COMPLETE (^ COMP-FORM)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE))}. "CP --> C: ^=! s::M*=s::*; S: ^=! s::M*=s::^ s::M*=s::* { (^ CLAUSE-TYPE)=c pol-int (s::M* focus)=truth-value" "" "@MRS-INT """ "| (^ CLAUSE-TYPE)=c wh-int " "" "@MRS-INT """ "|~(^ CLAUSE-TYPE)= pol-int ~(^ CLAUSE-TYPE)=wh-int" "" "@MRS-PRPSTN """"} (^ MAIN-CL)=- @(COMPLETE (^ COMP-FORM)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (s::M* pol))." CPnom --> Cnom: ^=! s::M*=s::*; SsubCMPL: ^=! (^ CLAUSE-TYPE)=c nominal s::M*=s::^ s::M*=s::* (^ MAIN-CL)=- @(COMPLETE (^ COMP-FORM)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (s::M* pol)). CPpol --> Cpol: ^=! s::M*=s::*; SsubCMPL: ^=! (^ CLAUSE-TYPE)=c pol-int s::M*=s::^ s::M*=s::* (s::M* focus)=truth-value (^ MAIN-CL)=- @(COMPLETE (^ COMP-FORM)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (s::M* pol)). CPadv --> Cadv: ^=! s::M*=s::*; SsubCMPL: ^=! (^ CLAUSE-TYPE)=c adv s::M*=s::^ s::M*=s::* (^ MAIN-CL)=- @(COMPLETE (^ COMP-FORM)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (s::M* pol)). CPrel --> Crel: ^=! s::M*=s::*; SsubCMPL: ^=! s::M*=s::^ s::M*=s::* (^ MAIN-CL)=- @(COMPLETE (^ COMP-FORM)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (s::M* pol)). CPnullc --> Ssub2: ^=! s::M*=s::^ s::M*=s::* (^ MAIN-CL)=- @(COMPLETE (^ COMP-FORM)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (s::M* pol)) { "(^ CLAUSE-TYPE)=c pol-int (s::M* focus)=truth-value" "" "@MRS-INT """ "|" (^ CLAUSE-TYPE)=c wh-int "" @MRS-INT "" |~(^ CLAUSE-TYPE)=wh-int "" @MRS-PRPSTN ""}. CPloc --> { Cloc: ^=! s::M*=s::* | e: (^ CHECK _DER-HEAD)=c + } SsubCMPL: ^=! s::M*=s::^ s::M*=s::* (^ MAIN-CL)=- @(COMPLETE (^ COMP-FORM)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (s::M* pol)). CPtmprel --> Ctmprel: ^=!; SsubCMPL: ^=! s::M*=s::^ s::M*=s::* (^ MAIN-CL)=- @(COMPLETE (^ COMP-FORM)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (s::M* pol)). IPcond --> I'X: ^=! s::M*=s::^ s::M*=s::* (^ MAIN-CL)=+ (^ CLAUSE-TYPE)=adv @(COMPLETE (^ COMP-FORM)) @(COMPLETE (^ VFORM)) @(COMPLETE (^ VTYPE)) @(COMPLETE (s::M* pol)) (s::M* modtype)=condition "" @MRS-PRPSTN @(MRS-SUBJUNCTION _hvis-så)"". "Other rules:" PP --> (CONJcorr: (^ OBJ)=! (^ OBJ COORD-FORM) (m::^ _CONJREL)=(m::(^ OBJ) _CONJREL)) "både til Bergen og Oslo" ( DEGADVloc: !$(^ ADJUNCT) s::M*=s::* "" @MRS-DEGADVSYNT "") ( QuantP: !$(^ ADJUNCT) ~(! DEF)=+ @COMPLETECHECKFEATS { (! NTYPE NSEM TIME TEMPNOUN)=c + | ~(! NTYPE NSEM TIME TEMPNOUN)=c + (! NTYPE NSEM MEASURENOUN)=c + } (^ CHECK _MSRBL)=c + "" @MRS-TEMPNP "") { P: ^=! (^ PTYPE)=c sem @OBJCASE s::M*=s::* s::M*=s::^ (s::M* arg2)=s::(^ OBJ) @(COMPLETE (^ OBJ CHECK _PREPEXISTS)) @(COMPLETE (^ OBJ CHECK _P-SELFORM)) @(COMPLETE (^ PSEM)) @(COMPLETE (^ PTYPE)) | Pprd: ^=! "For the special case of PPs with PREDLINK" (^ PTYPE)=c sem @OBJCASE s::M*=s::* s::M*=s::^ (s::M* arg2)=s::(^ OBJ) @(COMPLETE (^ OBJ CHECK _PREPEXISTS)) @(COMPLETE (^ OBJ CHECK _P-SELFORM)) @(COMPLETE (^ PSEM)) @(COMPLETE (^ PTYPE)) } { NOM: (^ OBJ)=! @COMPLETECHECKFEATS ~(! CHECK _P-SELFORM) "{ ~(! PRON-TYPE)=refl | (! PRON-TYPE)=c refl (^ CHECK _REFL)=c +}" { ~(! PRON-TYPE)=refrefl | (! PRON-TYPE)=c refrefl @PPREFREFLEXIVE } @REFERENTIAL? @PPPERCOLATEANT "@REFERENTIAL" | PRONrfl: (^ OBJ)=! (^ CHECK _REFL)=c + (! PRON-TYPE)=c refl | PP: (^ OBJ)=! "(^ CHECK _MSRBL)=c +" @PPPERCOLATEANT "@REFERENTIAL" | e: (^ CHECK _MOVED-OBJ)=+ ~(^ OBJ TOPCP)=- ~(^ OBJ CHECK _TOPVP)=-} "To make sure that the object CP or VP' is not just a sister of PP under VP (in the case of PCOMP and PXCOMP)" ({ AP: (^ PREDLINK)=! (^ PREDLINK GEND)=(^ OBJ GEND) (^ PREDLINK NUM)=(^ OBJ NUM) ~(! CHECK _ADVERBIAL)=+ | PP: (^ PREDLINK)=! { (! PFORM)=c på | (! PFORM)=c i } @EMBEDANTECEDENTFEATS}). PPsel --> P: ^=! (^ PTYPE)=c sem @OBJCASE s::M*=s::* (s::M* arg2)=s::(^ OBJ) @(COMPLETE (^ OBJ CHECK _PREPEXISTS)) @(COMPLETE (^ OBJ CHECK _P-SELFORM)) @(COMPLETE (^ PSEM)) @(COMPLETE (^ PTYPE)) @(COMPLETE (^ PFORM)); { NOM: (^ OBJ)=! @COMPLETECHECKFEATS (! CHECK _P-SELFORM) "{ ~(! PRON-TYPE)=refl | (! PRON-TYPE)=c refl (^ CHECK _REFL)=c +}" { ~(! PRON-TYPE)=refrefl | (! PRON-TYPE)=c refrefl @PPREFREFLEXIVE } @PPPERCOLATEANT @(IF ~(! CHECK _NONARG)=+ @REFERENTIAL?) "@REFERENTIAL" | PRONrfl: (^ OBJ)=! (^ CHECK _REFL)=c + (! PRON-TYPE)=c refl | e: (^ CHECK _MOVED-OBJ)=+ ~(^ OBJ TOPCP)=- ~(^ OBJ CHECK _TOPVP)=- "To make sure that the object CP or VP' is not just a sister of PP under VP (in the case of PCOMP and PXCOMP)" "| CPnullc: (^ OBJ)=! (! TOPCP)=- (^ CHECK _MOVED-OBJ)=- (! CHECK _P-SELFORM)" "CP and VP' objects of prepositions only possible when the PP is selected by a verb, reflected in the feature _P-SELFORM." | CPnom: (^ OBJ)=! (! TOPCP)=- (^ CHECK _MOVED-OBJ)=- (! CHECK _P-SELFORM) "CP and VP' objects of prepositions only possible when the PP is selected by a verb, reflected in the feature _P-SELFORM." | CPnullc: (^ OBJ)=! (^ PFORM)=c som (! CLAUSE-TYPE)=nominal (! TOPCP)=- (^ CHECK _MOVED-OBJ)=- (! CHECK _P-SELFORM) "CP and VP' objects of prepositions only possible when the PP is selected by a verb, reflected in the feature _P-SELFORM." | CPpol: (^ OBJ)=! (! TOPCP)=- (^ CHECK _MOVED-OBJ)=- (! CHECK _P-SELFORM) "CP and VP' objects of prepositions only possible when the PP is selected by a verb, reflected in the feature _P-SELFORM." | WhP: (^ OBJ)=! (! TOPCP)=- (^ CHECK _MOVED-OBJ)=- (! CHECK _P-SELFORM) "CP and VP' objects of prepositions only possible when the PP is selected by a verb, reflected in the feature _P-SELFORM." | VP': (^ OBJ)=! (! CHECK _TOPVP)=- (^ CHECK _MOVED-OBJ)=- (! CHECK _P-SELFORM)}. PPpred --> Ppred: ^=! (! PFORM)=c som ~(^ OBJ CASE)=gen; { QuantPnoref: (^ OBJ)=! | NP: (^ OBJ)=! ~(! DEF)=+ (! CHECK _PREDICATIVE)=+ | e: (^ CHECK _MOVED-OBJ)=+ ~(^ OBJ TOPCP)=- ~(^ OBJ CHECK _TOPVP)=- }. "Han arbeidet som sjåfør." PPapred --> P: ^=! (! PFORM)=c som; { APCMPL: (^ OBJ)=! ~(! DEF)=+ (! ATYPE)=predicative (! CHECK _PREDICATIVE)=+ ~(! CHECK _ADVERBIAL)=+ | e: (^ CHECK _MOVED-OBJ)=+ }. "Han anså Petter som dum." PPpost --> "(Pcirc)" { NOM: (^ OBJ)=! ~(! CHECK _P-SELFORM) ~(! PRON-TYPE) @COMPLETECHECKFEATS @REFERENTIAL? @PPPERCOLATEANT "@REFERENTIAL" | e: (^ CHECK _MOVED-OBJ)=+ ~(^ OBJ TOPCP)=- ~(^ OBJ CHECK _TOPVP)=-} Ppost: ^=! @OBJCASE. "PPnosem --> P: ^=! (^ PTYPE)=c nosem (^ CHECK _PREPEXISTS)=+ (^ CASE)=obl @(COMPLETE (^ PSEM)) @(COMPLETE (^ PTYPE)); (NOM: ^=! { ~(! PRON-TYPE)=refl | (! PRON-TYPE)=c refl (^ CHECK _REFL)=c +} { ~(! PRON-TYPE)=refrefl | (! PRON-TYPE)=c refrefl @PPREFREFLEXIVE } @PPPERCOLATEANT s::M*=s::*) ." PPtil --> Ptil: ^=! (^ PTYPE)=c nosem (^ PFORM)=c til (^ CHECK _PREPEXISTS)=+ "{ ~(^ PRON-TYPE) | (^ PRON-TYPE) " (^ CASE)=obl" }" "Cannot use the ordinary OBJCASE template here, since the nominal is not an OBJ but unified with the PP structure." @(COMPLETE (^ PSEM)) @(COMPLETE (^ PTYPE)); NOM: ^=! @COMPLETECHECKFEATS "{ ~(! PRON-TYPE)=refl | (! PRON-TYPE)=c refl (^ CHECK _REFL)=c +}" { ~(! PRON-TYPE)=refrefl | (! PRON-TYPE)=c refrefl @PPREFREFLEXIVE } @PPPERCOLATEANT s::M*=s::* . PPav --> Pav: ^=! (^ PTYPE)=c nosem (^ PFORM)=c av (^ CHECK _PREPEXISTS)=+ "{ ~(^ PRON-TYPE) | (^ PRON-TYPE) " (^ CASE)=obl" }" "Cannot use the ordinary OBJCASE template here, since the nominal is not an OBJ but unified with the PP structure." @(COMPLETE (^ PSEM)) @(COMPLETE (^ PTYPE)); ({ NOM: ^=! @COMPLETECHECKFEATS "{ ~(! PRON-TYPE)=refl | (! PRON-TYPE)=c refl (^ CHECK _REFL)=c +}" { ~(! PRON-TYPE)=refrefl | (! PRON-TYPE)=c refrefl @PPREFREFLEXIVE } @PPPERCOLATEANT s::M*=s::* | CPnom: ^=! (! TOPCP)=- (^ CHECK _MOVED-OBJ)=- | VP': ^=! "{ (! SUBJ PRED)='pro' (! SUBJ PRON-TYPE)=null }""Possible control by matrix SUBJ, hence optional" (! CHECK _TOPVP)=- (^ CHECK _MOVED-OBJ)=- }). PPint --> P: ^=! (^ PTYPE)=c sem @OBJCASE s::M*=s::* s::M*=s::^ (s::M* arg2)=s::(^ OBJ) @(COMPLETE (^ OBJ CHECK _PREPEXISTS)) @(COMPLETE (^ OBJ CHECK _P-SELFORM)) @(COMPLETE (^ PSEM)) @(COMPLETE (^ PTYPE)); IntNOM: (^ OBJ)=! ~(! CHECK _P-SELFORM). PPavint --> Pav: ^=! (^ PTYPE)=c nosem (^ PFORM)=c av (^ CHECK _PREPEXISTS)=+ "{ ~(^ PRON-TYPE) | (^ PRON-TYPE) " (^ CASE)=obl" }" "Cannot use the ordinary OBJCASE template here, since the nominal is not an OBJ but unified with the PP structure." @(COMPLETE (^ PSEM)) @(COMPLETE (^ PTYPE)); IntNOM: ^=! s::M*=s::*. "Special OBJ phrase for PPpred:" QuantPnoref --> ART: ^\REF = !\REF; "The ART is there only syntactically; it does not make the phrase referential. Its semantics is not contributed to s- or m-structure." NP: ^=! (! CHECK _PREDICATIVE)=+ @(COMPLETENOMFEATS) s::M*=s::^ s::M*=s::*. "Parentheticals - experimental version:" ParP --> COMMA PP: ^=!; COMMA. "Coordination:" "We comment out the original coord. rule, and use a simpler one underneath, for the sake of the MRS analysis." "NOMcoord --> { NOMsmpl: @NOMCONJUNCT" """@MRS-LEFTCONJ"""";" "([COMMA NOMsmpl: @NOMCONJUNCT]+)" "If there are two or more initial conjuncts separated by commas, they may not themselves be coordinate structures. This is to reduce the number of alternative analyses - linguistically it would be possible." "| NOMcoord: @NOMCONJUNCT; COMMA }" "If the first conjunct is itself a coordinate structure, then end it with a comma." "CONJ: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)); NOM: @NOMCONJUNCT" """@MRS-RIGHTCONJ""""." "The last conjunct may be simple or a coordinate structure. Thus long coordinate structures with repeated conjunctions will always be right-branching, unless commas indicate a left-branching structure: 'Per og Kari og hesten' is right-branching, while 'Per og Kari, og hesten' is left-branching." NOMcoord --> (CONJcorr: (m::^ _CONJREL)=(m::*_CONJREL)) NOMsmpl: @NOMCONJUNCT { ~(! PRON-TYPE)=refrefl | (! PRON-TYPE)=c refrefl @COORDREFREFLEXIVE } @COMPLETECHECKFEATS ""@MRS-LEFTNOMCONJ""; { COMMA: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)) (^ COORD-FORM)=comma (^ NUM)=pl s::M*=s::^ ""@MRS-COMMACONJ""; NOMcoord: @NOMCONJUNCT { ~(! PRON-TYPE)=refrefl | (! PRON-TYPE)=c refrefl @COORDREFREFLEXIVE } ""@MRS-RIGHTNOMCONJ"" | "(COMMA: @(OT-MARK Mark3))" CONJ: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)); NOM: @NOMCONJUNCT { ~(! PRON-TYPE)=refrefl | (! PRON-TYPE)=c refrefl @COORDREFREFLEXIVE } @COMPLETECHECKFEATS ""@MRS-RIGHTNOMCONJ""}. NOMcoord[gen] --> (CONJcorr: (m::^ _CONJREL)=(m::*_CONJREL)) REFP[gen]: @NOMCONJUNCT @COMPLETECHECKFEATS (^ CASE)=gen ""@MRS-LEFTNOMCONJ""; { COMMA: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)) (^ COORD-FORM)=comma (^ NUM)=pl s::M*=s::^ ""@MRS-COMMACONJ""; NOMcoord[gen]: @NOMCONJUNCT ""@MRS-RIGHTNOMCONJ"" | "(COMMA: @(OT-MARK Mark3))" CONJ: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)); NOM[gen]: @NOMCONJUNCT @COMPLETECHECKFEATS ""@MRS-RIGHTNOMCONJ""}. NPcoord --> NP: @NPCONJUNCT ""@MRS-LEFTNPCONJ""; { COMMA: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)) (^ COORD-FORM)=comma (^ NUM)=pl s::M*=s::^ ""@MRS-COMMACONJ""; NPcoord: @NPCONJUNCT ""@MRS-RIGHTNPCONJ"" | "(COMMA: @(OT-MARK Mark3))" CONJnp: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)); NP: @NPCONJUNCT ""@MRS-RIGHTNPCONJ""}. NPcoord[gen] --> NP[gen]: @NPCONJUNCT @COMPLETECHECKFEATS (^ CASE)=gen ""@MRS-LEFTNOMCONJ""; { COMMA: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)) (^ COORD-FORM)=comma (^ NUM)=pl s::M*=s::^ ""@MRS-COMMACONJ""; NPcoord[gen]: @NPCONJUNCT ""@MRS-RIGHTNOMCONJ"" | "(COMMA: @(OT-MARK Mark3))" CONJ: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)); NP[gen]: @NPCONJUNCT @COMPLETECHECKFEATS ""@MRS-RIGHTNOMCONJ""}. PPcoord --> (CONJcorr: (m::^ _CONJREL)=(m::*_CONJREL)) PP: @PPCONJUNCT s::* $ s::M* ""@MRS-LEFTCONJ""; { COMMA: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)) (^ COORD-FORM)=comma ""@MRS-COMMACONJpp""; PPcoord: @PPCONJUNCT s::* $ s::M* ""@MRS-RIGHTCONJ"" | (COMMA) CONJev: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)); PPCMPL: @PPCONJUNCT s::* $ s::M* ""@MRS-RIGHTCONJ""}. VPcoord --> (CONJcorr: (m::^ _CONJREL)=(m::*_CONJREL)) VP: @VPCONJUNCT s::* $ s::M* ""@MRS-LEFTCONJ""; { COMMA: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)) (^ COORD-FORM)=comma ""@MRS-COMMACONJpp""; VPcoord: @VPCONJUNCT ""@MRS-RIGHTCONJ"" | (COMMA) CONJev: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)); VP: @VPCONJUNCT s::* $ s::M* ""@MRS-RIGHTCONJ""}. VPfincoord --> (CONJcorr: (m::^ _CONJREL)=(m::*_CONJREL)) VP[fin]: @VPCONJUNCT s::* $ s::M* ""@MRS-LEFTCONJ""; { COMMA: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)) (^ COORD-FORM)=comma ""@MRS-COMMACONJpp""; VPfincoord: @VPCONJUNCT ""@MRS-RIGHTCONJ"" | (COMMA) CONJev: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)); VP[fin]: @VPCONJUNCT s::* $ s::M* ""@MRS-RIGHTCONJ""}. IPcoord --> "(CONJcorr: (m::^ _CONJREL)=(m::*_CONJREL))" "Part of first IP!" IPX: @IPCONJUNCT (^ COORD-FORM)=(! COORD-FORM) (^ CHECK)=(! CHECK) (m::^ _CONJREL)=(m::* _CONJREL) "For 'enten' and 'både' as [spec, IP]" s::* $ s::M* ""@MRS-LEFTIPCONJ""; { COMMA: !=^ "@PUSHUP" s::* = s::M* @(COMPLETE (^ COORD-FORM)) (^ COORD-FORM)=comma ""@MRS-COMMACONJpp @MRS-DIRECTPRPSTN (m::^ INDEX)=(m::^ RELS_EL ARG0)""; IPcoord: @IPCONJUNCT s::* $ s::M* ""@MRS-RIGHTIPCONJ"" | (COMMA) CONJip: !=^ "@PUSHUP" s::* = s::M* "" @MRS-DIRECTPRPSTN (m::^ INDEX)=(m::^ RELS_EL ARG0)"" @(COMPLETE (^ COORD-FORM)); { IPX: @IPCONJUNCT s::* $ s::M* ""@MRS-RIGHTIPCONJ"" | IPcoord: @IPCONJUNCT s::* $ s::M* ""@MRS-RIGHTIPCONJ"" }}. I'coord --> (CONJcorr: (m::^ _CONJREL)=(m::*_CONJREL)) I'X: @I'CONJUNCT (^ TNS-ASP MOOD)=(! TNS-ASP MOOD) s::* $ s::M* ""@MRS-LEFTCONJ""; { COMMA: !=^ @PUSHUP s::* = s::M* @(COMPLETE (^ COORD-FORM)) (^ COORD-FORM)=comma ""@MRS-COMMACONJpp""; I'coord: @I'CONJUNCT (^ TNS-ASP)=(! TNS-ASP) s::* $ s::M* ""@MRS-RIGHTCONJ"" | (COMMA) CONJev: !=^ @PUSHUP s::* = s::M* @(COMPLETE (^ COORD-FORM)); { I'X: @I'CONJUNCT (^ TNS-ASP)=(! TNS-ASP) s::* $ s::M* ""@MRS-RIGHTCONJ"" | I'coord: @I'CONJUNCT (^ TNS-ASP)=(! TNS-ASP) s::* $ s::M* ""@MRS-RIGHTCONJ"" }}. Ssubcoord --> "(CONJcorr: (m::^ _CONJREL)=(m::*_CONJREL))" "Part of first IP!" Ssub: @IPCONJUNCT (^ COORD-FORM)=(! COORD-FORM) (^ CHECK)=(! CHECK) (m::^ _CONJREL)=(m::* _CONJREL) "For 'enten' and 'både' as [spec, IP]" s::* $ s::M* ""@MRS-LEFTIPCONJ""; { COMMA: !=^ "@PUSHUP" s::* = s::M* @(COMPLETE (^ COORD-FORM)) (^ COORD-FORM)=comma ""@MRS-COMMACONJpp @MRS-DIRECTPRPSTN (m::^ INDEX)=(m::^ RELS_EL ARG0)""; Ssubcoord: @IPCONJUNCT s::* $ s::M* ""@MRS-RIGHTIPCONJ"" | (COMMA) CONJev: !=^ "@PUSHUP" s::* = s::M* "" @MRS-DIRECTPRPSTN (m::^ INDEX)=(m::^ RELS_EL ARG0)"" @(COMPLETE (^ COORD-FORM)); { Ssub: @IPCONJUNCT s::* $ s::M* ""@MRS-RIGHTIPCONJ"" | Ssubcoord: @IPCONJUNCT s::* $ s::M* ""@MRS-RIGHTIPCONJ"" }}. VRBfincoord --> (CONJcorr: (m::^ _CONJREL)=(m::*_CONJREL)) VRBfin: @LEFTVfinCONJUNCT s::* $ s::M* ""@MRS-LEFTCONJ""; { COMMA: !=^ @PUSHUP s::* = s::M* @(COMPLETE (^ COORD-FORM)) (^ COORD-FORM)=comma ""@MRS-COMMACONJpp""; VRBfincoord: @RIGHTVfinCONJUNCT s::* $ s::M* ""@MRS-RIGHTCONJ"" | CONJev: !=^ @PUSHUP s::* = s::M* @(COMPLETE (^ COORD-FORM)); { VRBfin: @RIGHTVfinCONJUNCT s::* $ s::M* ""@MRS-RIGHTCONJ"" | Vfincoord: @RIGHTVfinCONJUNCT s::* $ s::M* ""@MRS-RIGHTCONJ"" }}. VRBcoord --> (CONJcorr: (m::^ _CONJREL)=(m::*_CONJREL)) VRB: @VCONJUNCT s::* $ s::M* ""@MRS-LEFTCONJ""; { COMMA: !=^ @PUSHUP s::*=s::M* @(COMPLETE (^ COORD-FORM)) (^ COORD-FORM)=comma ""@MRS-COMMACONJpp""; VRBcoord: @VCONJUNCT s::* $ s::M* ""@MRS-RIGHTCONJ"" | CONJev: !=^ @PUSHUP s::*=s::M* @(COMPLETE (^ COORD-FORM)); VRB: @VCONJUNCT s::* $ s::M* ""@MRS-RIGHTCONJ""}. APcoord --> (CONJcorr: (m::^ _CONJREL)=(m::*_CONJREL)) AP: @APCONJUNCT ""@MRS-LEFTCONJ""; { COMMA: !=^ @(COMPLETE (^ COORD-FORM)) (^ COORD-FORM)=comma ""@MRS-COMMACONJpp""; APcoord: @APCONJUNCT ""@MRS-RIGHTCONJ"" | { CONJev: !=^ @(COMPLETE (^ COORD-FORM)) | COMMA: !=^ @(COMPLETE (^ COORD-FORM)) (^ COORD-FORM)=comma ""@MRS-COMMACONJpp"" } AP: @APCONJUNCT ""@MRS-RIGHTCONJ""}. CMPNDcoord --> (CONJcorr: (m::^ _CONJREL)=(m::*_CONJREL)) N: ! $s ^ ~(! NUM)=pl ~(! DEF)=+ ""@MRS-LEFTCMPNDCONJ""; HYPHEN "(COMMA: @(OT-MARK Mark3))" CONJ: !=^ s::*=s::M* s::M*=s::^ @(COMPLETE (^ COORD-FORM)); N: ! $s ^ @REFERENTIAL? ""@MRS-RIGHTCMPNDCONJ"". NOM' --> ADVfoc: ! $ (^ ADJUNCT) ""@MRS-FOCADVSYNT""; NOM1. "Fragment parsing:" FRAGMENTSTOP --> FRAG: ^=! (m::^ TOP)=(m::^ RELS_EL LBL) (m::^ INDEX type)=individual @(RELSLIST1 (m::! RELS_EL)) (m::^ H-CONS)=(m::(! FIRST) H-CONS). "To make sure that there are H-CONS on the top level, for Paul's union program." FRAG --> "category to use when all else fails" "fragment for the last resort FRAGMENTS structure" "builds right branching f-structure" "possible fragment constituents; TOKEN used if all else fails" { IP: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |I': (^ FIRST) = ! { (! SUBJ PRED)='DUMMY' @(OT-MARK Mark3)} @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |S: (^ FIRST) = ! { (! SUBJ PRED)='DUMMY' @(OT-MARK Mark3)} @(OT-MARK Fragment) ""@MRS-FRAGMENT"" "|VPmain: (^ FIRST) = ! (! SUBJ PRED)='DUMMY' @(OT-MARK Fragment)" """@MRS-FRAGMENT""" |VP: (^ FIRST) = ! (! SUBJ PRED)='DUMMY' { (! OBJ PRED)='DUMMY'} { (! OBJth PRED)='DUMMY' (! OBJth CHECK _PREPEXISTS)=+} { (! OBL PRED)='DUMMY'} { (! OBJben PRED)='DUMMY'} { (! XCOMP PRED)='DUMMY'} { (! COMP PRED)='DUMMY'} { (! PREDLINK PRED)='DUMMY' (! PREDLINK ATYPE)=predicative} @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |VP[fin]: (^ FIRST) = ! (! SUBJ PRED)='DUMMY' { (! OBJ PRED)='DUMMY'} { (! OBJth PRED)='DUMMY' (! OBJth CHECK _PREPEXISTS)=+} { (! OBL PRED)='DUMMY'} { (! OBJben PRED)='DUMMY'} { (! XCOMP PRED)='DUMMY'} { (! COMP PRED)='DUMMY'} { (! PREDLINK PRED)='DUMMY' (! PREDLINK ATYPE)=predicative} @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |VP': (^ FIRST) = ! (! SUBJ PRED)='DUMMY' @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |PP: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |AP: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |ADVP: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |ADVPloc: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |NOM: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |NOM[gen]: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |IntP: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |CPnom: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |CPadv: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |CPrel: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |CPpol: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |CPloc: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |WhP: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |PERIOD: (^ FIRST) = ! @(OT-MARK Fragment) ""@(MRS-PUNCT period) @MRS-FRAGMENT"" |COMMA: (^ FIRST) = ! @(OT-MARK Fragment) ""@(MRS-PUNCT comma) @MRS-FRAGMENT"" |EXCL-POINT: (^ FIRST) = ! @(OT-MARK Fragment) ""@(MRS-PUNCT excl-point) @MRS-FRAGMENT"" |INT-MARK: (^ FIRST) = ! @(OT-MARK Fragment) ""@(MRS-PUNCT int-mark) @MRS-FRAGMENT"" |HYPHEN: (^ FIRST) = ! @(OT-MARK Fragment) ""@(MRS-PUNCT dash) @MRS-FRAGMENT"" |COLON: (^ FIRST) = ! @(OT-MARK Fragment) ""@(MRS-PUNCT colon) @MRS-FRAGMENT"" |P: (^ FIRST) = ! (! OBJ PRED)='DUMMY' @(OT-MARK "Fragment2" Fragment) "Stronger dispreference: adjunct PPs are already below two stoppoints." ""@MRS-FRAGMENT"" |Ppost: (^ FIRST) = ! (! OBJ PRED)='DUMMY' @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |PRONint: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |POSSint: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |Dint: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |ADVint: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |SADV: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |DEGADV: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |DEGADVloc: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |DEGADVnum: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |ADVneg: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |ADVtmp: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |ADVloc: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |ATTADV: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |CMTADV: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |CONJ: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |CONJdisc: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |CONJcorr: (^ FIRST) = ! { (! COORD-FORM)=og | (! COORD-FORM)=eller } @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |CONJcomp: (^ FIRST) = ! @(OT-MARK Fragment) (! OBJ PRED)='DUMMY' (! DEGREE)=comparative ""@MRS-FRAGMENT"" |COMPpur: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |Cnom: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |Cadv: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |Cpol: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |Crel: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |PARTinf: (^ FIRST) = ! (! VFORM)=inf @(OT-MARK Fragment) ""@MRS-FRAGMENT"" "|TOKEN: (^ FIRST) = ! @(OT-MARK Fragment) @(OT-MARK Fragment) @(OT-MARK Fragment) @(OT-MARK Fragment)" """@MRS-FRAGMENT""" |PAR: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT"" |QTE: (^ FIRST) = ! @(OT-MARK Fragment) ""@MRS-FRAGMENT""} (FRAG: (^ REST)=! ""@MRS-NEWFRAGMENT"") "additional fragments". PAR --> L-PAREN NOM R-PAREN. QTE --> QUOTE NOM QUOTE. "Meta-|category expansions:" NOM = { NOMsmpl|NOMcoord|CMPNDcoord|NOM' }. NOM1 = { NOMsmpl|NOMcoord|CMPNDcoord }. NOM[gen] = { REFP[gen]|NOMcoord[gen] }. NOMsmpl = {PRONP|DescP|REFP|YEAR }. "We distinguish between NOM and NOMsmpl to avoid too much recursive coordination: only NOM covers coordinate structures." "REFP = { MeasP|ALLQP|ALLQCOMP|PROPP|AppP|TofD }." REFP = { MeasP|ALLQP|DP|POSSP|QuantP|DAP|ORDP|NP|PROPP|AppP|TofD }."This rather than ALLQCOMP to avoid NPcoord" "REFP[gen] = { MeasP[gen]|ALLQP[gen]|ALLQCOMP[gen]|PROPP[gen] }." REFP[gen] = { MeasP[gen]|ALLQP[gen]|DP[gen]|POSSP[gen]|QuantP[gen]|DAP[gen]|ORDP[gen]|NP[gen]|PROPP[gen] }. ALLQCOMP = { DP|DCOMP }. ALLQCOMP[gen] = { DP[gen]|DCOMP[gen] }. DCOMP = { POSSP|POSSCOMP }. DCOMP[gen] = { POSSP[gen]|POSSCOMP[gen] }. POSSCOMP = { QuantP|QUANTCOMP }. POSSCOMP[gen] = { QuantP[gen]|QUANTCOMP[gen] }. QUANTCOMP = { DAP | DAPCOMP}. QUANTCOMP[gen] = { DAP[gen] | DAPCOMP[gen]}. ORDN = { ORDnum | ORDdig | ORDinterv }. DAPCOMP = { ORDP | NPCMPL}. DAPCOMP[gen] = { ORDP[gen] | NPCMPL[gen]}. NPCMPL = { NP | NPcoord }. NPCMPL[gen] = { NP[gen] | NPcoord[gen] }. NCMPL = "{" N "| CMPNDcoord }". QUANTF = { QP|NUM|ART }. DIGF = { NUMdigP|NUMinterv }. NUMEXP = {NUM1P|NUM11P|NUM10P|NUM21P|1conj10P|NUM10P|NUM100P|NUM1000P|NUMmillionP|NUMmilliardP }. ALLQPARTCOMP = { DP | POSSP | QuantP: ~(! SPEC QUANT) ~(! SPEC AQUANT) | DAP | NP: (! CHECK _DEF-MORPH)=c + | NPcoord }. ALLQPARTCOMP[gen] = { DP[gen] | POSSP[gen] | QuantP[gen]: ~(! SPEC QUANT) ~(! SPEC AQUANT) | DAP[gen] | NPCMPL[gen]: (! CHECK _DEF-MORPH)=c + }. DEGP = {ALLQP|DP|QuantP}. APPNOM = {DP | NP | POSSP}. "Constituents in appositions; see rule AppP." IntNOM = {IntNOMcoord|IntNOMsmpl}. IntNOMsmpl = {PRONint|DPint|NPint|QuantPint|POSSPgenint }. IntP = {IntNOM|IntADV}. IntADV = {IntADVcoord|ADVPint}. COMPFN = { COMP|XCOMP }. TERMFN = { OBJ|OBJben|OBJth|OBL-AG|OBL-BEN|PREDLINK }. VPCMPL = { VP|VP2|VPcoord }. VPfinCMPL = { VP[fin]|VP2[fin]|VPfincoord }. VPX = { VP|VP2 }. VPXfin = {VP[fin]|VP2[fin] }. VP2CMPL = { VP2|VPcoord }. VP2finCMPL = { VP2[fin]|VPfincoord }. PPCMPL = { PP|PPcoord }. VfinCMPL = { V[fin]|VRBfincoord }. VCMPL = { V|VRBcoord }. "IPCMPL = { IP|IPcoord }." IPCMPL = { IP|IPimprs|IPcoord }. IPX = { IP | IPimprs }. I'CMPL = { I'|I'cop|I'aux|I'coord }. I'X = { I'|I'imprs|I'cop|I'aux }. SsubCMPL = { Ssub|Ssubimprs|Ssubcoord }. APCMPL = { AP+|APcoord }. PPnosem = { PPtil | PPav }. "Possibly superfluous: We have replaced all occurrences of PPnosem(?)" PAR = {ADVpar | ParP}. VRB = { V|Vcop|Vaux|Vimprs}. VRBfin = { V[fin]|Vcop[fin]|Vaux[fin]|Vimprs[fin]}. V2 = { Vcop|Vaux|Vimprs}. V2fin = { Vcop[fin]|Vaux[fin]|Vimprs[fin]}. CONJip = {CONJev | CONJspecial }. "Experimental" "Coordination macro:" COORD (CAT) = CAT: ! $s ^ s::* $ s::^ ""@MRS-LEFTCONJ""; CONJ: ^=!; CAT: ! $s ^ s::* $ s::^ ""@MRS-RIGHTCONJ"". "Sublexical rules:" PROP --> { PROP_BASE: "~(^ CASE)=gen" "Superfluous, since the number of daughters differs between PROP and PROP[gen]. Furthermore, the equation is incompatible with the present analysis of complex names like 'Per Hansens', in which the head 'Per' gets marked as genitive." s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; (N_SUFF_BASE: s::M*=s::*) (N_SUFF_BASE: s::M*=s::*) |PROP MWE_SUFF_BASE: s::M*=s::*} . PROP[gen] --> { PROP_BASE: (^ CASE)=c gen s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; (N_SUFF_BASE: s::M*=s::*) (N_SUFF_BASE: s::M*=s::*) |PROP[gen]: (^ CASE)=c gen; MWE_SUFF_BASE: s::M*=s::*} . N --> { N_BASE: ~(^ CASE)=gen s::M*=s::* "" m::M*=m::* ""; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; | CMP1: !$s(^ FST-EL) "" @MRS-FSTEL""; [(JUNC) (HYPHEN) CMP1: !$s(^ FST-EL) "" @MRS-FSTEL""]* (JUNC) (HYPHEN) Ncmp2 |YEARcmp1: @(CONCAT (! PRED FN) `- tallet %FN) @(COUNTNOUN %FN %FN) @(MRS-COVQUANT def_q 3 sg) %OBJECT=m::^ (^ NUM)=sg (^ DEF)=+ (m::! _XCLUDERELS)=+; HYPHEN Ncmp2: (! PRED FN)=c tall (! NUM)=c sg (! CHECK _DEF-MORPH)=c + (m::! _XCLUDERELS)=+ |N MWE_SUFF_BASE: s::M*=s::*} . N[gen] --> { N_BASE: (^ CASE)=c gen s::M*=s::* "" m::M*=m::* ""; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::* | CMP1: !$s(^ FST-EL) "" @MRS-FSTEL""; [(JUNC) (HYPHEN) CMP1: !$s(^ FST-EL) "" @MRS-FSTEL""]* (JUNC) (HYPHEN) Ncmp2[gen] |N[gen]: (^ CASE)=c gen; MWE_SUFF_BASE: s::M*=s::*} . CMP1 = {Ncmp1 | Vcmp1 | Acmp1}. Ncmp1 --> N_BASE: "" m::M*=m::* @MRS-FSTNOMEL ""; CMP1_SUFF_BASE N_SUFF_BASE N_SUFF_BASE N_SUFF_BASE N_SUFF_BASE (N_SUFF_BASE). JUNC --> JUNC_BASE JUNC_SUFF_BASE. Ncmp2 --> N_BASE: ~(^ CASE)=gen "" m::M*=m::* ""; CMP2_SUFF_BASE N_SUFF_BASE N_SUFF_BASE N_SUFF_BASE N_SUFF_BASE (N_SUFF_BASE). Ncmp2[gen] --> N_BASE: (^CASE)=c gen "" m::M*=m::* ""; CMP2_SUFF_BASE N_SUFF_BASE N_SUFF_BASE N_SUFF_BASE N_SUFF_BASE (N_SUFF_BASE). Vcmp1 --> V_BASE: ^=! (! SUBJ PRED)='DUMMY' { (! OBJ PRED)='DUMMY'} { (! OBJben PRED)='DUMMY'} { (! XCOMP PRED)='DUMMY'} { (! COMP PRED)='DUMMY'} { (! PREDLINK PRED)='DUMMY'} "" m::M*=m::* ""; CMP1_SUFF_BASE V_SUFF_BASE: s::M*=s::*; V_SUFF_BASE: s::M*=s::*. V --> V_BASE: s::M*=s::* ~(^ VFORM)=fin "" m::M*=m::* ""; V_SUFF_BASE: s::M*=s::*; V_SUFF_BASE: s::M*=s::*; ({ V_SUFF_BASE: s::M*=s::* | N_SUFF_BASE: s::M*=s::*; (N_SUFF_BASE: (^ CHECK _SUPINE)=- "Verbs with this many suffixes are inflected participles" s::M*=s::*; (N_SUFF_BASE: (^ CHECK _SUPINE)=- s::M*=s::*))}). V[fin] --> V_BASE: s::M*=s::* (^ VFORM)=c fin "" m::M*=m::* ""; V_SUFF_BASE: s::M*=s::*; V_SUFF_BASE: s::M*=s::*; (V_SUFF_BASE: s::M*=s::*). Vasp --> Vasp_BASE: s::M*=s::* "" m::M*=m::* ""; V_SUFF_BASE: s::M*=s::*; V_SUFF_BASE: s::M*=s::*; ({ V_SUFF_BASE: s::M*=s::* | N_SUFF_BASE: s::M*=s::*; (N_SUFF_BASE: (^ CHECK _SUPINE)=- s::M*=s::*) (N_SUFF_BASE: (^ CHECK _SUPINE)=- s::M*=s::*)}). ART --> ART_BASE: s::M*=s::*; ART_SUFF_BASE: s::M*=s::*; ART_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*. A --> { A_BASE: (^ CHECK _DEF-MORPH)=(^ DEF) s::M*=s::*; A_SUFF_BASE: s::M*=s::*; A_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; (N_SUFF_BASE: s::M*=s::*) | CMP1: !$s(^ FST-EL) "" @MRS-FSTEL""; [(JUNC) (HYPHEN) CMP1: !$s(^ FST-EL) "" @MRS-FSTEL""]* (JUNC) (HYPHEN) Acmp2 }. Acmp1 --> A_BASE: s::M*=s::*; CMP1_SUFF_BASE A_SUFF_BASE: s::M*=s::*; A_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; (N_SUFF_BASE: s::M*=s::*). Acmp2 --> A_BASE: (^ CHECK _DEF-MORPH)=(^ DEF) s::M*=s::*; CMP2_SUFF_BASE A_SUFF_BASE: s::M*=s::*; A_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; (N_SUFF_BASE: s::M*=s::*). SADV --> { SADV_BASE: s::M*=s::*; ADV_SUFF_BASE: s::M*=s::* |SADV MWE_SUFF_BASE: s::M*=s::*}. "MODADV --> MODADV_BASE: s::M*=s::*; ADV_SUFF_BASE: s::M*=s::*." ADV --> { ADV_BASE: s::M*=s::*; A_SUFF_BASE: s::M*=s::*; A_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; (N_SUFF_BASE: s::M*=s::*) |ADV MWE_SUFF_BASE: s::M*=s::*}. ADVloc --> ADVloc MWE_SUFF_BASE: s::M*=s::*. ADVfoc --> ADVfoc MWE_SUFF_BASE: s::M*=s::*. Q --> { Q_BASE: s::M*=s::*; D_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::* |Q MWE_SUFF_BASE: s::M*=s::* }. "DA --> DA_BASE: s::M*=s::*; D_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; (N_SUFF_BASE: s::M*=s::*)." ALLQ --> ALLQ_BASE: s::M*=s::* "" m::M*=m::* ""; D_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*. POSS --> POSS_BASE: s::M*=s::*; Pron_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*. POSSint --> POSSint MWE_SUFF_BASE: s::M*=s::*. D --> { D_BASE: s::M*=s::*; D_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::* |D MWE_SUFF_BASE: s::M*=s::* }. NUM --> NUM_BASE: s::M*=s::*; NUM_SUFF_BASE: s::M*=s::*; NUM_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*. ORDnum --> ORDnum_BASE: s::M*=s::*; NUM_SUFF_BASE: s::M*=s::*; NUM_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*; N_SUFF_BASE: s::M*=s::*. PRON --> PRON MWE_SUFF_BASE: s::M*=s::*. NUMdig --> NUMdig_BASE: s::M*=s::* (^ SPEC NUMBER NUMBER-TYPE)=card; DIG_SUFF_BASE: s::M*=s::*. ORDdig --> ORDdig_BASE: s::M*=s::*; DIG_SUFF_BASE: s::M*=s::*; NUM_SUFF_BASE: s::M*=s::*. YEAR --> YEAR_BASE: s::M*=s::*; DIG_SUFF_BASE: s::M*=s::*. YEARcmp1 --> YEAR_BASE: s::M*=s::*; CMP1_SUFF_BASE DIG_SUFF_BASE: s::M*=s::*. P --> { P_BASE: s::M*=s::*; P_SUFF_BASE: s::M*=s::* |P MWE_SUFF_BASE: s::M*=s::*}. Psel --> Psel MWE_SUFF_BASE: s::M*=s::*. CONJ --> CONJ_BASE CONJ_SUFF_BASE CONJ_SUFF_BASE. DEGADV --> DEGADV_BASE: s::M*=s::*; ADV_SUFF_BASE: s::M*=s::*. CMTADV --> CMTADV MWE_SUFF_BASE: s::M*=s::*. PRT --> PRT MWE_SUFF_BASE: s::M*=s::*. COMPpur --> COMPpur MWE_SUFF_BASE: s::M*=s::*. Cadv --> Cadv MWE_SUFF_BASE: s::M*=s::*. ADVpar --> ADVpar MWE_SUFF_BASE: s::M*=s::*. TOKEN --> TOKEN_BASE TOKEN_SUFF_BASE. PERIOD --> PERIOD_BASE Punct_SUFF_BASE SENT_SUFF_BASE. "COMMA --> COMMA_BASE Punct_SUFF_BASE COMMA_SUFF_BASE." INT-MARK --> INT-MARK_BASE Punct_SUFF_BASE SENT_SUFF_BASE. EXCL-POINT --> EXCL-POINT_BASE Punct_SUFF_BASE SENT_SUFF_BASE. ----