S Y N T A C T I C F U N C T I O N S F O R S Á M I Sámi language technology project 2003-2014, University of Tromsø # This file adds syntactic functions. It is common for all the Saami * Sets for POS sub-categories * Sets for Semantic tags * Sets for Morphosyntactic properties * Sets for verbs ** V is all readings with a V tag in them, REAL-V should be the ones without an N tag following the V. The REAL-V set thus awaits a fix to the preprocess V ... N bug. * The set COPULAS is for predicative constructions * NP sets defined according to their morphosyntactic features * The PRE-NP-HEAD family of sets These sets model noun phrases (NPs). The idea is to first define whatever can occur in front of the head of the NP, and thereafter negate that with the expression __WORD - premodifiers__. The set __NOT-NPMOD__ is used to find barriers between NPs. Typical usage: ... (*1 N BARRIER NPT-NPMOD) ... meaning: Scan to the first noun, ignoring anything that can be part of the noun phrase of that noun (i.e., "scan to the next NP head") * Miscellaneous sets * Border sets and their complements * Syntactic sets These were the set types. !!HABITIVE MAPPING * __hab1__ * __hab2__ * __hab3__ ( @ADVL>) for hab-actor and hab-case; if leat to the right, and Nom to the right of leat. Lots of restrictions. * __habNomLeft__ * __hab4__ * __hab6__ * __hab7__ * __hab8__ This is not HAB * __hab5__ This is not HAB * __habDain__ ( @ADVL>) for (Pron Dem Pl Loc) if leat followed by Nom to the right * __habGen__ ( @ @nAttr__ (@>N) for Attr; if there is a noun to your right * __n>Indef__ (Pron Indef Attr); if eará is to the right * __>nNum__ (@>N) for numerals if; there is a noun to your right. You are not allowed to be (Sg Nom), (Sg Acc) or (Sem/Date) * __noun>n__ (@>N) for Gen; if there is a noun to your right. Restrictions: Not if you are: a time related word. Not if you are OKTA with Pl Loc to your right. Not if CC is to your right followed by another Gen and then Po. Not if you are HUMAN and to your right is Actio Nom folloed by a noun. * __>nTime__ (@>N) for Gen TIME-N; if timenoun to your right. Restrictions: Not if you are a OKTA Nom with Pl Loc to your right. Not if CC followed by Gen, followed by Po to your right. Not if COMMA to your right * __>ntittel__ (@>N) for (Sg Nom TIME-N) or (Nom Der/NomAg); if to your right is Sem/Mal, Sem/Fem, Sem/Sur * __>nALU__ (@>N) for Sg Acc numerals; when a measure-noun to the right * __>NTime__ (@>N) for Gen; if you are TIME-N with BOC to your left, and PREGEN to your right * __n<:Refl__ (@N<) for (Refl Nom); if to the left is (N Nom), or if first one to the left is a finite mainverb with a (N Nom) to the left * __>pron1__ (@>Pron) for GRADE-ADV, DUSSE, BUOT if; first one to the right is Pron * __>pron2__ (@>Pron) for (Refl Nom) if; first one to the right is Refl * __>pron3__ (@>Pron) for (Pron Recipr) if; first one to the right is (Pron Recipr) * __vaikko__ (@>Pron) for vaikko if; first one to the right is Indef * __vaikkoman__ (@>ADVL) for vaikko if; first one to the right is man * __BOSvoc__ (@VOC) for HUMAN Nom; if sentence initial. To the right is comma. No nom-cased HUMAN followed by comma or CC is allowed to the right. There should not be a relative clause to the right, because then you are likely to be SUBJ * __voc__ (@VOC) for Nom HUMAN; if comma to the left and an second person verb or pronoun to the left. To the right is the end of the sentence * __Particle @Advlcase @. * __Nom>Advlcase @ @ @ @ @ @ @ @ @__ ( @SUBJ>) for Nom; if habitive first one to the left, followed by copulas. * __ @__ (@SPRED>) for N Ess; if copulas to the right of you, and if an NP with nom-case first one to your left. * __GalleSpred>__ (@SPRED>) for Num Nom; if sentence initial * __spredSgMII>__ (@SPRED>) * __r492>__ (@SPRED>) for Interr Gen; consisting only of negations. You are not allowed to be MII. You are not allowed to have an adjective or noun to yor right. You are not allowed to have a verb to your right; the exception beeing an aux. * __AdjSpredSg>__ (@SPRED>) for A Sg Nom; if copulas to the right, but not if A or @SubjInf__ (@SPRED>) for Nom; if copulas to the right, and the subject of copulas is an Inf to the right * __spredCoord__ (@Sgnr1__ (@SUBJ>) for Nom Sg, including Indef Nom if; VFIN + Sg3 or Pl3 to the right (VFIN not allowed to the left) * __subj>Du__ (@SUBJ>) for dual nominatives, including Coll Nom. VFIN + Du3 to the right. * __subj>Pl__ (@SUBJ>) for plural nominatives, including Coll and Sem/Group. VFIN + Pl3 to the right. * __subj>Pl__ (@SUBJ>) for plural nominatives * __subj>Sg__ (@SUBJ>) for Nom Sg; if VFIN + Sg3 to the right. * __Sg__ (@-FSUBJ>) for HUMAN Gen; in a NP-clause. To your right is Actio Nom followed by a noun * __f__ (@ADVL>) for ADVL that resemble s-booundaries. Mainverb to the right. * __diibmuadvl>__ (@ADVL>) for (diibmu Nom) if first one to the right is Num * __-fobj>__ (@-FOBJ>) for Acc if front of abessive, gerundium, actio locative, perfectum participle or infinitive. First one to the right not allowed to be Acc though * __-fobj>__ (@-FOBJ>) for Acc if human with ADVL-case to the left and transitive infinitive OBJ to the right. First one to the right not allowed to be Acc though * __advl>mainV__ (@ADVL>) if; finite mainverb not found to the left, but the finite mainverb is found to the right. * __Vv__ (@ADVL>) if; you are ADVL, time-noun or Sem/Route and there is a finite verb to the right in the clause, or if to your right is: de followed by a finite verb. OR: if you are a time-nound and to your right is: go or sentenceboundary followed by a finite verb * ____ (@__ (@ADVL>) for Po; if trapped between BOS to the right and S-BOUNDARY OR COMMA to the left, because the main verb will then automatically be on your right side. * ____ (@inbetween__ (@ADVL>) for Adv; if inbetween two sentenceboundaries where no mainverb is present. * __comma__ (@ADVL>) if; you are N Loc or N Ill and found sentence initially and there is a main verb somewhere to the right. No barrier for the mainverb; based on the thought that first one to your right is probably a sentenceboundary. * __cleanupILLasAcc__ (@-FSUBJ>) for HUMAN Acc; if there is a verb @IV__ (@-FSUBJ>) for Acc; if there is an IV-verb acting as a @IV__ (@-FSUBJ>) for Acc; if there is an TV-verb acting as a @asGen__ (@-FSUBJ>) for Gen; * __f__ (@ADVL>) for Num Acc; * __Obj>__ (@OBJ>) for Acc; if there is a finite mainverb to the right in the clause. A really simple rule with no other restrictions.. * __s-bounifV__ (@SUBJ>) for NP-HEAD-NOM, DUPRON or (Num Nom) if; a finite mainverb is found to the right. This is a cleanup rule for subjects * __hnoun>ifV__ (@SUBJ>) for NP-HEAD-NOM, DUPRON if. The counterpart of subj>ifV. You are HNOUN if there is a finite verb to your right, but NOT if there is a finite verb after a relative clause !!OBJ MAPPING - leftovers !!HNOUN MAPPING * __@, , etc, before proceeding to the dep file. !!For Apertium: The analysis give double analysis because of optional semtags. We go for the one with semtag.