# ========================== # # Faroese dependency grammar # # ========================== # # This file is deprecated. # For Faroese dep analysis, use # $GTHOME/gt/smi/src/smi-dep.rle # ========== # # Delimiters # # ========== # DELIMITERS = "<.>" "" "" "<¶>"; # ============= # # Tags and sets # # ============= # LIST BOS = (>>>) (); LIST EOS = (<<<) (); # vislcg and CG-2 together. # ======== SETS # ======== LIST N = N ; LIST V = V ; LIST A = A ; LIST Prop = Prop ; LIST Adv = Adv ; LIST Num = Num ; LIST CC = CC ; LIST CS = CS ; LIST Interj = Interj ; LIST Abbr = Abbr ; LIST ACR = ACR ; LIST Pr = Pr ; LIST Pron = Pron ; LIST Pers = Pers ; LIST Dem = Dem ; LIST Det = Det ; LIST Refl = Refl ; LIST Recipr = Recipr ; LIST Poss = Poss ; LIST Interr = Interr ; LIST IM = IM ; LIST Nom = Nom ; LIST Acc = Acc ; LIST Gen = Gen ; LIST Dat = Dat ; LIST Msc = Msc ; LIST Fem = Fem ; LIST Neu = Neu ; LIST Sg = Sg ; LIST Pl = Pl ; LIST Def = Def ; LIST Indef = Indef ; LIST Cmp = Cmp ; LIST Superl = Superl ; LIST Prs = Prs ; LIST Prt = Prt ; LIST 1Sg = 1Sg ; LIST 2Sg = 2Sg ; LIST 3Sg = 3Sg ; LIST Inf = Inf ; LIST PrfPrc = PrfPrc ; LIST PrsPrc = PrsPrc ; LIST Imp = Imp ; LIST Sbj = Sbj ; LIST Sup = Sup ; LIST Cmpnd = Cmpnd ; LIST CLB = CLB ; LIST PUNCT = PUNCT ; LIST LEFT = LEFT ; LIST RIGHT = RIGHT ; LIST V* = V* ; SET WORD = N | V | A | Pr | Pron | Adv | CC | CS | Interj | Num | ("\?") ; LIST TAG = N V A Adv CC CS Interj Pr Pron Pers Det Refl Recipr Poss Nom Acc Gen Dat Msc Fem Neu Sg Pl Def Indef Cmp Sup Prs Prt 1Sg 2Sg 3Sg Inf PrfPrc PrsPrc Sup Imp CLB PUNCT LEFT RIGHT ; LIST NAGD = Nom Acc Gen Dat ; LIST GENDER = Msc Fem Neu ; LIST NUMBER = Sg Pl ; LIST POS = N V A Adv Pr Pron ; # Sets # ==== # Noun sets SET NounMscFem = (N Msc) OR (N Fem) ; SET NounMscNeu = (N Msc) OR (N Neu) ; SET NounFemNeu = (N Fem) OR (N Neu) ; # Nominal sets LIST NOMINALHEAD = N Num Pron ; LIST PRENAGR = Det Dem A ; # Complementary set # Case sets SET NOTDAT = Nom | Gen | Acc ; SET NOTACC = Nom | Gen | Dat ; SET NOTACCDAT = Nom | Gen ; SET OBL = Acc | Dat | Gen ; #SET NO SET PRE-N = A | Det | Dem | (N Gen) | Num ; # Det??? LIST COMMA = "," ; SET MARK = COMMA | ("\") | ("\;") ; #" SET WORDMARK = WORD | MARK ; SET NPNH = WORDMARK - PRE-N ; SET NPNHA = WORDMARK - PRE-N - Adv ; SET NOT-ADV = WORDMARK - Adv ; SET NOT-A = WORDMARK - A ; # Verb sets LIST COPULA = "vera" "verða" ; LIST AUX = "kunna" "skula" "vera" "verða" "hava" ; LIST VFIN = Prs Prt Imp Sbj ; LIST Ind = Prs Prt ; LIST NONTHIRDV = 1Sg 2Sg 1Pl 2Pl ; LIST VINFIN = Inf Sup PrfPrs PrsPrc ; LIST MODV = "kunna" "skula" ; LIST DATV = "smakka" ; SET NONVFIN = VINFIN ; # sme compatibility SET NOT-CC = WORDMARK - CC ; SET NOUNADJ = N | A ; SET NP-MEMBER = PRE-N | N | Pron ; LIST TIME = "sunnudagur" ; # Semantic sets LIST ABSTRACT = "ráð" "byráð" ; LIST SPEECHACT = "mæla" "siga" ; # Syntax tags LIST @ = @SUBJ> ; LIST @ = @OBJ> ; LIST @ = @IOBJ> ; LIST @>N = @>N ; LIST @N< = @N< ; LIST @>A = @>A ; LIST @A< = @A< ; LIST @IM = @IM ; LIST @ = @SPRED> ; LIST @ = @OPRED> ; LIST @+FAUXV = @+FAUXV ; LIST @-FAUXV = @-FAUXV ; LIST @+FMAINV = @+FMAINV ; LIST @-FMAINV = @-FMAINV ; LIST @-FSUBJ> = @-FSUBJ> ; LIST @-F = @-FOBJ> ; LIST @SPRED ; SET FMAINV = @-FMAINV OR @+FMAINV ; SET FAUXV = @-FAUXV OR @+FAUXV ; LIST @ = @ADVL> ; LIST @P< = @P< ; LIST @CNP = @CNP ; LIST @CVP = @CVP ; LIST @>CS = @>CS ; #LIST @CNP-VP = @CNP-VP ; LIST @APP = @APP ; LIST @IMV = @IMV ; # infinite main verb LIST @ICL-ADVL = @ICL-ADVL ; # non-finite subclause ... LIST @ICL-AUX< = @ICL-AUX< ; # "right" argument of auxiliary (?) LIST @ICL-OBJ = @ICL-OBJ ; # non-finite subclause ... LIST @ICL-STA = @ICL-STA ; # non-finite subclause ... LIST @HNOUN = @HNOUN ; # Tags from sme-dep.rle: LIST @-FOBJ = @-FOBJ ; LIST @-FSUBJ = @-FSUBJ ; LIST @<-FSUBJ = @<-FSUBJ ; LIST @ADVL = @>ADVL ; LIST @>CC = @>CC ; LIST @>Num = @>Num ; LIST @>P = @>P ; LIST @>Pron = @>Pron ; LIST @ADVL = @ @ADVL @-FADVL @APP-ADVL< ; LIST @ADVL< = @ADVL< ; LIST @ADVLCS = @ADVL>CS ; LIST @ADVL>SUBJ = @ADVL>SUBJ ; LIST @APP-ADVL< = @APP-ADVL< ; LIST @APP-N< = @APP-N< ; LIST @APP-Num< = @APP-Num< ; LIST @APP-Pron< = @APP-Pron< ; LIST @APP>Pron = @APP>Pron ; LIST @CMPND = @CMPND ; LIST @COMP-CS< = @COMP-CS< ; LIST @FS-ACC>> = @FS-ACC>> ; LIST @FS-ADVL = @FS-ADVL ; LIST @FS-IMV = @FS-IMV ; LIST @FS-N< = @FS-N< ; LIST @FS-NSPRED = @OBJ>SPRED ; LIST @OPRED = @OPRED> @ @ = @GOAL> ; LIST @ = @ACT> ; LIST @X = @X ; LIST SYNTAG = (@+FAUXV) (@+FMAINV) (@-F) (@-FSUBJ) (@-FSUBJ>) (@<-FSUBJ) (@A) (@>ADVL) (@>CC) (@>CS) (@>N) (@>Num) (@>P) (@>Pron) (@A<) (@ADVL) (@ADVL<) (@ADVL) (@ADVL>CS) (@ADVL>SUBJ) (@APP) (@APP-ADVL<) (@APP-N<) (@APP-Num<) (@APP-Pron<) (@APP>Pron) (@CMPND) (@CNP) (@CNP-VP) (@COMP-CS<) (@CVP) (@FS-ACC>>) (@FS-ADVL) (@FS-IMV) (@FS-N<) (@FS-N) (@N<) (@Num<) (@OBJ>) (@OBJ>SPRED) (@OPRED) (@OPRED>) (@P<) (@PCLE) (@Pron<) (@SPRED) (@SPRED) (@SUBJ) (@V) (@VOC) ; LIST @SUBJ = @ ; LIST @OBJ = @ ; LIST @MAINV = @-FMAINV @+FMAINV ; LIST @AUXV = @-FAUXV @+FAUXV ; LIST @rc-VAUX = @rc-VAUX ; # Syntactic set definitions # ========================= LIST @IAUX = @IAUX ; LIST @FS-IAUX = @FS-IAUX ; LIST = ; LIST = ; LIST @MCLV = @FMV @IMV @FAUX @IAUX ; LIST @SCLV = @FS-STA @FS-IMV @FS-NSUBJ SET @-FARG/ADVL = @-FARG ; # OR @-FADVL ; #SET @ARG/ADVL = @ARG OR @ADVL - (@ADVL + CC) ; compilation probelm. # SET @CLAUSE = @ARG/ADVL OR @-FARG/ADVL OR @V ; # Boundary sets SET S-BOUNDARY = CS | Interr | (";") | BOS | EOS ; SET S-BOUNDARY2 = CS | Interr | (";") | BOS | EOS | (@CVP) ; # §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§ # §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§ # §§§§§§§§§§§§§§§§§§§§§ §§§§§§§§§§§§§§§§§§§§§§§ # §§§§§§§§§§§§§§§§§§§§§ dep grammar starts here §§§§§§§§§§§§§§§§§§§§§§§ # §§§§§§§§§§§§§§§§§§§§§ §§§§§§§§§§§§§§§§§§§§§§§ # §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§ # §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§ SECTION SUBSTITUTE:SubFmainv=V (@+FMAINV) (@FMV) TARGET V ; SUBSTITUTE:SubNfmainv=V (@-FMAINV) (@IMV) TARGET V ; SUBSTITUTE:SubFaux=V (@+FAUXV) (@FAUX) TARGET V ; SUBSTITUTE:SubNfaux=V (@-FAUXV) (@IAUX) TARGET V ; # and # -------------- SUBSTITUTE:SubV=mv (V) ( V) TARGET @MV ; SUBSTITUTE:SubV=aux (V) ( V) TARGET @AUX ; # infinite clauses: SUBSTITUTE:SubV=mvICL (V) ( V) TARGET NONVFIN (0 @ V) TARGET NONVFIN (0 AUX LINK 0 @) BARRIER @MV LINK NOT 0 (@FAUX) LINK *-1 CS BARRIER @MCLV LINK *-1 VFIN) ; SUBSTITUTE:SubVmain=FS-STAaux (@FAUX) (@FS-STA) TARGET V (*-1 CC BARRIER @V LINK *-1 (@FS-STA) BARRIER VFIN) ; SUBSTITUTE:SubV=FS-IAUXcs (@IAUX) (@FS-IAUX) TARGET V (*-1 () BARRIER @MV LINK *-1 CS BARRIER @MV) ; SUBSTITUTE:SubV=FS-IAUXmo (@IAUX) (@FS-IAUX) TARGET V (*-1 () BARRIER @MV ) ; SUBSTITUTE:SubV=FS-IMVcs (@IAUX) (@FS-IAUX) TARGET V (*-1 () BARRIER @MV LINK 0 (@FS-STA)) ; SUBSTITUTE:SubV=FS-IMVcs (@IMV) (@FS-IMV) TARGET V (*-1 () BARRIER @MV LINK 0 (@FS-IAUX) OR (@FS-STA)) ; # in relative clauses: SUBSTITUTE:SubV=FS-Nmv (@FMV) (@FS-N<) TARGET V (*-1 Interr BARRIER VFIN) ; SUBSTITUTE:SubV=FS-Nmv (@FMV) (@FS-N<) TARGET V (*-1 ("sum" CS @CVP) BARRIER VFIN) ; #SUBSTITUTE (@FAUX) (@FS-N<) TARGET V (*-1 Interr BARRIER COMMA)(0 Neg LINK 1 GOSTEGE) ; SUBSTITUTE:SubV=FSN-IMV (@IMV) (@FS-N) BARRIER @MV LINK *-1 Interr BARRIER COMMA OR CS) ; SUBSTITUTE:SubVmain=FS-Naux (@FAUX) (@FS-N<) TARGET V (*-1 Interr BARRIER VFIN) ; SUBSTITUTE:SubV=FSN-IAUX (@IAUX) (@FS-N) BARRIER @MV LINK *-1 Interr BARRIER @MV) ; SUBSTITUTE:SubV=FS-STAmv (@FMV)(@FS-STA) TARGET V (*-1 CS BARRIER @V LINK *-1 @V) ; SUBSTITUTE:SubV=FS-STAmv (@FMV)(@FS-STA) TARGET V (*-1 CS BARRIER @V LINK *-1 @V) ; # infinite clauses: SUBSTITUTE:SubV=iclaux (@ BARRIER @V) ; SUBSTITUTE:SubV=icl (@IMV)(@); SECTION ### IM SETPARENT:r0 @IM TO (1 Inf); ### NP rules SETPARENT:r1 @>N TO (*1 N BARRIER NPNH); SETPARENT:r1adj @>N TO (*2 Pr OR V OR S-BOUNDARY2 BARRIER NOT-A LINK -1 A); SETPARENT:r1adjcomma @>N TO (*3 Pr OR V OR S-BOUNDARY2 BARRIER NOT-A LINK -1 COMMA LINK -1 A); SETPARENT:r2 @CVP TO (-1 NOMINALHEAD); SETPARENT:r3 ("sjálvur") TO (-1 ("seg")); SETPARENT:r4 ("sum" @CVP) TO (-1 N OR V); SETPARENT:r5 ("sum" @CVP) TO (*-1 N OR V BARRIER WORD); SETPARENT (A $$NAGD) TO (-1 CC)(-2 (A $$NAGD)); # Look at the cc structure !! SETPARENT:CCNP (@CNP)(-1 N) TO (*1 N BARRIER NPNH); ## Per og Kari SETPARENT:CCA (@CNP)(-1 $$POS + $$NAGD) TO (1 $$POS + $$NAGD); ## oydin og ber. SETPARENT @N< TO (*-1 N OR Pron BARRIER NPNH); ### PPs #SETPARENT:r6 @P< TO (*-1 Pr BARRIER NPNH); SETPARENT:r6 @P< TO (*-1 Pr BARRIER V); # SETPARENT:r6 @P< TO (*-1 Pr); would be an alternative. #SETPARENT:r6CC @P< TO (*-1 Pr LINK *1 CC); ### ellipse SETPARENT:SetSubjtoLeftMV @ TO (*1 @CVP BARRIER @V LINK *1 VFIN) ; ## Mađe losit siivu, dađe njoazebut manná mátki. ### S SETPARENT:r9 @SUBJ> TO (*1 VFIN BARRIER CS); SETPARENT:r10 @ TO (*1 V BARRIER CS); SETPARENT:r11 @ TO (*1 V BARRIER CS); #SETPARENT:r13 @ADVL TO (0* AUX); #SETPARENT:r14 @ADVL TO (0* VFIN); SETPARENT @ BARRIER ); SETPARENT @ BARRIER CS); SETPARENT @ADVL> TO (*1 BARRIER CS); SETPARENT @ADVL> TO (*1 BARRIER ); SETPARENT @ TO (*1 V BARRIER CS); SETPARENT:Opred @ TO (*1 @OBJ); SETPARENT @ TO (*1 V); SETPARENT @ TO (*1 V); SETPARENT ("bara" @ADVL>) TO (1 Pron LINK 1 V); SETPARENT ("bara" @ADVL>) TO (*1 N ) ; #BARRIER NPNH LINK 1 V); #" SETPARENT:r15 @CVP TO (1 Inf); SETPARENT:r16 @CVP TO (**1 V LINK -1 CLB); SETPARENT:toCS @>CS TO (1 (@CVP)); SETPARENT:CStoNEXT @CVP (-1 (@>CS)) TO (*1 NOMINALHEAD BARRIER VFIN); #ellipsis SETPARENT:r16 @CVP (-1 (@>CS)) TO (*1 VFIN LINK -1 CLB) ; #SETPARENT:r17 VFIN TO (*-1 (@CVP) LINK **1 V LINK -1 CLB); #SETPARENT:r17 VFIN TO (*-1 (@CVP) LINK **1 V LINK -1 CLB); SETPARENT:r18 @MAINV TO (*-1 @AUXV BARRIER VFIN); SETPARENT:r19 @IMV TO (*-1 @-FAUXV LINK *1 @CVP); SETPARENT:r19b @IMV TO (*-1 @+FAUXV LINK *1 @CVP); SETPARENT:r20 @-FAUXV TO (*-1 @+FAUXV LINK *1 @CVP); #SETPARENT:r21 @AUXV TO (*-1 @MAINV BARRIER @AUXV LINK *1 @CVP); #SETPARENT:r22 @MAINV TO (*-1 @MAINV BARRIER @AUXV LINK *1 @CVP); #SETPARENT:r23 (Inf @MAINV) TO (*-1 @MAINV); ### VPs SETPARENT:r7 VINFIN TO (*-1 AUX BARRIER CS); SETPARENT:r8 Sup TO (*-1 VFIN BARRIER CS); SETPARENT:r8b Inf TO (*-1 VFIN BARRIER CS); SETPARENT:r8c PrsPrc TO (*-1 VFIN BARRIER CS); SETPARENT:r8d PrfPrc TO (*-1 VFIN BARRIER CS); ### CS #SETPARENT:TaId ("IÐ" @CVP) TO (-1 ("tá")); #SETPARENT:TaId2 ("tá" Adv)(-1 COMMA) TO (-2 N); SETPARENT:RelCL (@CVP)(-1 COMMA) TO (-2 N); SETPARENT:r24 @CVP TO (*-1 (@MAINV)); ### CC SETPARENT:r25 @CNP (-1 BOS OR CLB OR LEFT) TO (*1 (@MAINV)) ; SETPARENT:2vCC @CNP TO (1 VFIN); ### subjunction and coordination #SETPARENT:SetCcsToCs @COMP-CS< TO (*-1 CS) ; SETPARENT:SetCCellipse KONJ + @CVP TO (*1 @ BARRIER @CVP) ; SETPARENT:SetCCToCC (CC @CVP) TO (1 CS) ; SETPARENT:SetKonjToFMV KONJ + @CVP TO (*1 @FMV) ; SETPARENT:SetKonjToV KONJ + @CVP TO (*1 VFIN OR NONVFIN BARRIER S-BOUNDARY2) ; ### coordination SETPARENT:SetCNPToWord @CNP TO (*-1 WORD) ; SETPARENT:SetCNPToWord @CVP + CC TO (*-1 WORD) ; ### Relative clause SETPARENT:RelVtoVfin @FS-STA (NONE p (*)) TO (*1 @FV) ; SETPARENT:RelVtoVfin @FS-STA (NONE p (*)) TO (*-1 @FV) ; SETPARENT:RelVtoVfin @FS-STA TO (*-1 @ADVL>SUBJ BARRIER VFIN LINK *1 @SUBJ) ; SETPARENT:RelVtoN @FS-N< TO (*-1 CS LINK -1 COMMA LINK -1 N OR A OR Pron) ; SETPARENT:RelVtoN @FS-N< TO (*-1 CS LINK -1 N OR A OR Pron) ; ### Embedded clause SETPARENT:Quotation @FS-OBJ OR @FS-STA TO (*-1 PUNCT + LEFT OR ("at") + CS LINK *-1 SPEECHACT BARRIER VFIN); ### Root SETPARENT VFIN (NONE p (*)) TO (@0 (*));