diff options
Diffstat (limited to 'next-lib/src/finnish/StructuralFin.gf')
| -rw-r--r-- | next-lib/src/finnish/StructuralFin.gf | 308 |
1 files changed, 0 insertions, 308 deletions
diff --git a/next-lib/src/finnish/StructuralFin.gf b/next-lib/src/finnish/StructuralFin.gf deleted file mode 100644 index 7a08acd81..000000000 --- a/next-lib/src/finnish/StructuralFin.gf +++ /dev/null @@ -1,308 +0,0 @@ -concrete StructuralFin of Structural = CatFin ** - open MorphoFin, ParadigmsFin, (X = ConstructX), MakeStructuralFin, Prelude in { - - flags optimize=all ; - - lin - above_Prep = postGenPrep "yläpuolella" ; - after_Prep = postGenPrep "jälkeen" ; - - all_Predet = {s = \\n,c => - let - kaiket = caseTable n ((mkN "kaikki" "kaiken" "kaikkena")) - in - case npform2case n c of { - Nom => "kaikki" ; - k => kaiket ! k - } - } ; - almost_AdA, almost_AdN = ss "melkein" ; - although_Subj = ss "vaikka" ; - always_AdV = ss "aina" ; - and_Conj = {s1 = [] ; s2 = "ja" ; n = Pl} ; - because_Subj = ss "koska" ; - before_Prep = prePrep partitive "ennen" ; - behind_Prep = postGenPrep "takana" ; - between_Prep = postGenPrep "välissä" ; - both7and_DConj = sd2 "sekä" "että" ** {n = Pl} ; - but_PConj = ss "mutta" ; - by8agent_Prep = postGenPrep "toimesta" ; - by8means_Prep = casePrep adessive ; - can8know_VV = mkVV (mkV "osata" "osasi") ; - can_VV = mkVV (mkV "voida" "voi") ; - during_Prep = postGenPrep "aikana" ; - either7or_DConj = sd2 "joko" "tai" ** {n = Sg} ; - everybody_NP = makeNP (mkN "jokainen") Sg ; - every_Det = mkDet Sg (mkN "jokainen") ; - everything_NP = makeNP (((mkN "kaikki" "kaiken" "kaikkena")) ** - {lock_N = <>}) Sg ; - everywhere_Adv = ss "kaikkialla" ; - few_Det = mkDet Sg (mkN "harva") ; ---- first_Ord = {s = \\n,c => (mkN "ensimmäinen").s ! NCase n c} ; - for_Prep = casePrep allative ; - from_Prep = casePrep elative ; - he_Pron = mkPronoun "hän" "hänen" "häntä" "hänenä" "häneen" Sg P3 ; - here_Adv = ss "täällä" ; - here7to_Adv = ss "tänne" ; - here7from_Adv = ss "täältä" ; - how_IAdv = ss "miten" ; - how8many_IDet = - {s = \\c => "kuinka" ++ (mkN "moni" "monia").s ! NCase Sg c ; n = Sg ; isNum = False} ; - if_Subj = ss "jos" ; - in8front_Prep = postGenPrep "edessä" ; - i_Pron = mkPronoun "minä" "minun" "minua" "minuna" "minuun" Sg P1 ; - in_Prep = casePrep inessive ; - it_Pron = { - s = \\c => pronSe.s ! npform2case Sg c ; - a = agrP3 Sg ; - isPron = False - } ; - less_CAdv = X.mkCAdv "vähemmän" "kuin" ; - many_Det = mkDet Sg (mkN "moni" "monia") ; - more_CAdv = X.mkCAdv "enemmän" "kuin" ; - most_Predet = {s = \\n,c => (nForms2N (dSuurin "useinta")).s ! NCase n (npform2case n c)} ; - much_Det = mkDet Sg {s = \\_ => "paljon"} ; - must_VV = mkVV (caseV genitive (mkV "täytyä")) ; - no_Utt = ss "ei" ; - on_Prep = casePrep adessive ; ---- one_Quant = mkDet Sg DEPREC - only_Predet = {s = \\_,_ => "vain"} ; - or_Conj = {s1 = [] ; s2 = "tai" ; n = Pl} ; - otherwise_PConj = ss "muuten" ; - part_Prep = casePrep partitive ; - please_Voc = ss ["ole hyvä"] ; --- number - possess_Prep = casePrep genitive ; - quite_Adv = ss "melko" ; - she_Pron = mkPronoun "hän" "hänen" "häntä" "hänenä" "häneen" Sg P3 ; - so_AdA = ss "niin" ; - somebody_NP = { - s = \\c => jokuPron ! Sg ! npform2case Sg c ; - a = agrP3 Sg ; - isPron = False - } ; - someSg_Det = heavyDet { - s1 = jokuPron ! Sg ; - s2 = [] ; - isNum,isPoss = False ; isDef = True ; n = Sg - } ; - somePl_Det = heavyDet { - s1 = jokuPron ! Pl ; - s2 = [] ; isNum,isPoss = False ; isDef = True ; - n = Pl - } ; - something_NP = { - s = \\c => jokinPron ! Sg ! npform2case Sg c ; - a = agrP3 Sg ; - isPron = False - } ; - somewhere_Adv = ss "jossain" ; - that_Quant = heavyQuant { - s1 = table (MorphoFin.Number) { - Sg => table (MorphoFin.Case) { - c => (mkPronoun "tuo" "tuon" "tuota" "tuona" "tuohon" Sg P3).s ! NPCase c - } ; - Pl => table (MorphoFin.Case) { - c => (mkPronoun "nuo" "noiden" "noita" "noina" "noihin" Sg P3).s ! NPCase c - } - } ; - s2 = [] ; isNum,isPoss = False ; isDef = True ; - } ; - there_Adv = ss "siellä" ; --- tuolla - there7to_Adv = ss "sinne" ; - there7from_Adv = ss "sieltä" ; - therefore_PConj = ss "siksi" ; - they_Pron = mkPronoun "he" "heidän" "heitä" "heinä" "heihin" Pl P3 ; --- ne - this_Quant = heavyQuant { - s1 = table (MorphoFin.Number) { - Sg => table (MorphoFin.Case) { - c => (mkPronoun "tämä" "tämän" "tätä" "tänä" "tähän" Sg P3).s ! NPCase c - } ; - Pl => table (MorphoFin.Case) { - c => (mkPronoun "nämä" "näiden" "näitä" "näinä" "näihin" Sg P3).s ! NPCase c - } - } ; - s2 = [] ; isNum,isPoss = False ; isDef = True ; - } ; - through_Prep = postGenPrep "kautta" ; - too_AdA = ss "liian" ; - to_Prep = casePrep illative ; --- allative - under_Prep = postGenPrep "alla" ; - very_AdA = ss "erittäin" ; - want_VV = mkVV (mkV "tahtoa") ; - we_Pron = mkPronoun "me" "meidän" "meitä" "meinä" "meihin" Pl P1 ; - whatPl_IP = { - s = table {NPAcc => "mitkä" ; c => mikaInt ! Pl ! npform2case Pl c} ; - n = Pl - } ; - whatSg_IP = { - s = \\c => mikaInt ! Sg ! npform2case Sg c ; - n = Sg - } ; - when_IAdv = ss "milloin" ; - when_Subj = ss "kun" ; - where_IAdv = ss "missä" ; - which_IQuant = { - s = mikaInt - } ; - whoSg_IP = { - s = table {NPAcc => "kenet" ; c => kukaInt ! Sg ! npform2case Sg c} ; - n = Sg - } ; - whoPl_IP = { - s = table {NPAcc => "ketkä" ; c => kukaInt ! Pl ! npform2case Pl c} ; - n = Pl - } ; - why_IAdv = ss "miksi" ; - without_Prep = prePrep partitive "ilman" ; - with_Prep = postGenPrep "kanssa" ; - yes_Utt = ss "kyllä" ; - youSg_Pron = mkPronoun "sinä" "sinun" "sinua" "sinuna" "sinuun" Sg P2 ; - youPl_Pron = mkPronoun "te" "teidän" "teitä" "teinä" "teihin" Pl P2 ; - youPol_Pron = mkPronoun "te" "teidän" "teitä" "teinä" "teihin" Pl P2 ; --- Sg - - -oper - jokuPron : MorphoFin.Number => (MorphoFin.Case) => Str = - let - kui = mkN "kuu" - in - table { - Sg => table { - Nom => "joku" ; - Gen => "jonkun" ; - c => relPron ! Sg ! c + "ku" + Predef.drop 3 (kui.s ! NCase Sg c) - } ; - Pl => table { - Nom => "jotkut" ; - c => relPron ! Pl ! c + kui.s ! NCase Pl c - } - } ; - - jokinPron : MorphoFin.Number => (MorphoFin.Case) => Str = - table { - Sg => table { - Nom => "jokin" ; - Gen => "jonkin" ; - c => relPron ! Sg ! c + "kin" - } ; - Pl => table { - Nom => "jotkin" ; - c => relPron ! Pl ! c + "kin" - } - } ; - - mikaInt : MorphoFin.Number => (MorphoFin.Case) => Str = - let { - mi = mkN "mi" - } in - table { - Sg => table { - Nom => "mikä" ; - Gen => "minkä" ; - Part => "mitä" ; - c => mi.s ! NCase Sg c - } ; - Pl => table { - Nom => "mitkä" ; - Gen => "minkä" ; - Part => "mitä" ; - c => mi.s ! NCase Sg c - } - } ; - - kukaInt : MorphoFin.Number => (MorphoFin.Case) => Str = - let - kuka = mkN "kuka" "kenen" "kenä" "ketä" "keneen" - "keiden" "keitä" "keinä" "keissä" "keihin" ; - in - table { - Sg => table { - c => kuka.s ! NCase Sg c - } ; - Pl => table { - Nom => "ketkä" ; - c => kuka.s ! NCase Pl c - } - } ; - mikaanPron : MorphoFin.Number => (MorphoFin.Case) => Str = \\n,c => - case <n,c> of { - <Sg,Nom> => "mikään" ; - <_,Part> => "mitään" ; - <Sg,Gen> => "minkään" ; - <Pl,Nom> => "mitkään" ; - <Pl,Gen> => "mittenkään" ; - <_,Ess> => "minään" ; - <_,Iness> => "missään" ; - <_,Elat> => "mistään" ; - <_,Adess> => "millään" ; - <_,Ablat> => "miltään" ; - _ => mikaInt ! n ! c + "kään" - } ; - - kukaanPron : MorphoFin.Number => (MorphoFin.Case) => Str = - table { - Sg => table { - Nom => "kukaan" ; - Part => "ketään" ; - Ess => "kenään" ; - Iness => "kessään" ; - Elat => "kestään" ; - Illat => "kehenkään" ; - Adess => "kellään" ; - Ablat => "keltään" ; - c => kukaInt ! Sg ! c + "kään" - } ; - Pl => table { - Nom => "ketkään" ; - Part => "keitään" ; - Ess => "keinään" ; - Iness => "keissään" ; - Elat => "keistään" ; - Adess => "keillään" ; - Ablat => "keiltään" ; - c => kukaInt ! Pl ! c + "kään" - } - } ; - - -oper - makeNP : N -> MorphoFin.Number -> CatFin.NP ; - makeNP noun num = { - s = \\c => noun.s ! NCase num (npform2case num c) ; - a = agrP3 num ; - isPron = False ; - lock_NP = <> - } ; - -lin - not_Predet = {s = \\_,_ => "vain"} ; - - no_Quant = heavyQuant { - s1 = \\n,c => "ei" ++ mikaanPron ! n ! c ; - s2 = [] ; isNum,isPoss = False ; isDef = True ; - } ; - - if_then_Conj = {s1 = "jos" ; s2 = "niin" ; n = Sg} ; - nobody_NP = { - s = \\c => "ei" ++ kukaanPron ! Sg ! npform2case Sg c ; - a = agrP3 Sg ; - isPron = False - } ; - - nothing_NP = { - s = \\c => "ei" ++ mikaanPron ! Sg ! npform2case Sg c ; - a = agrP3 Sg ; - isPron = False - } ; - - at_least_AdN = ss "vähintään" ; - at_most_AdN = ss "enintään" ; - - as_CAdv = X.mkCAdv "yhtä" "kuin" ; - - except_Prep = postPrep partitive "lukuunottamatta" ; - - have_V2 = mkV2 (caseV adessive vOlla) ; - -} - |
