diff --git a/lib/src/latvian/LexiconLav.gf b/lib/src/latvian/LexiconLav.gf index 8d7ca6854..4d2474527 100644 --- a/lib/src/latvian/LexiconLav.gf +++ b/lib/src/latvian/LexiconLav.gf @@ -289,7 +289,7 @@ lin neck_N = mkN "kakls" ; night_N = mkN "nakts" ; nose_N = mkN "deguns" ; - person_N = mkN "cilvēks" ; + person_N = mkN "persona" ; rain_N = mkN "lietus" ; road_N = mkN "ceļš" ; root_N = mkN "sakne" ; diff --git a/lib/src/latvian/ParadigmsPronounsLav.gf b/lib/src/latvian/ParadigmsPronounsLav.gf index f4973a49c..820862e3b 100644 --- a/lib/src/latvian/ParadigmsPronounsLav.gf +++ b/lib/src/latvian/ParadigmsPronounsLav.gf @@ -131,15 +131,15 @@ oper mkPronoun_You_Pol : Gender -> Pron = \g -> { s = table { - Nom => "jūs" ; - Gen => "jūsu" ; - Dat => "jums" ; - Acc => "jūs" ; - Loc => "jūsos" ; - ResLav.Voc => "jūs" + Nom => "Jūs" ; + Gen => "Jūsu" ; + Dat => "Jums" ; + Acc => "Jūs" ; + Loc => "Jūsos" ; + ResLav.Voc => "Jūs" } ; a = AgP2 Pl g ; -- FIXME: in the case of a predicate nominal: copula=Pl, complement=Sg - possessive = \\_,_,_ => "jūsu" + possessive = \\_,_,_ => "Jūsu" } ; mkPronoun_You_Pl : Gender -> Pron = \g -> { @@ -162,7 +162,7 @@ oper } ; mkPronoun_It_Sg : Gender -> Pron = \g -> { - s = \\c => (mkPronoun_ThisThat That).s ! g ! Sg ! c; + s = \\c => (mkPronoun_ThisThat That).s ! g ! Sg ! c ; a = AgP3 Sg g ; possessive = \\_,_,_ => case g of { Masc => "tā" ; Fem => "tās" } } ; @@ -187,7 +187,7 @@ oper Dat => stem + "am" ; Acc => stem + "u" ; Loc => stem + "ā" ; - Voc => NON_EXISTENT --FIXME - var tak uzrunā arī likt determineru + Voc => NON_EXISTENT } ; Pl => table { Nom => stem + "i" ; @@ -195,7 +195,7 @@ oper Dat => stem + "iem" ; Acc => stem + "us" ; Loc => stem + "os" ; - Voc => NON_EXISTENT + Voc => NON_EXISTENT } } ; Fem => table { @@ -205,7 +205,7 @@ oper Dat => stem + "ai" ; Acc => stem + "u" ; Loc => stem + "ā" ; - Voc => NON_EXISTENT + Voc => NON_EXISTENT } ; Pl => table { Nom => stem + "as" ; @@ -213,7 +213,7 @@ oper Dat => stem + "ām" ; Acc => stem + "as" ; Loc => stem + "ās" ; - Voc => NON_EXISTENT + Voc => NON_EXISTENT } } } ; @@ -235,7 +235,7 @@ oper Dat => stem + suff1 + "m" ; Acc => stem + "o" ; Loc => stem + "ajā" ; - Voc => NON_EXISTENT + Voc => NON_EXISTENT } ; Pl => table { Nom => stem + "ie" ; @@ -243,7 +243,7 @@ oper Dat => stem + "iem" ; Acc => stem + "os" ; Loc => stem + "ajos" ; - Voc => NON_EXISTENT + Voc => NON_EXISTENT } } ; Fem => table { @@ -253,7 +253,7 @@ oper Dat => stem + "ai" ; Acc => stem + "o" ; Loc => stem + "ajā" ; - Voc => NON_EXISTENT + Voc => NON_EXISTENT } ; Pl => table { Nom => stem + suff2 + "s" ; @@ -261,10 +261,27 @@ oper Dat => stem + suff2 + "m" ; Acc => stem + suff2 + "s" ; Loc => stem + "ajās" ; - Voc => NON_EXISTENT + Voc => NON_EXISTENT } } } ; } ; + -- Everything, something, nothing, i.e., all that end with "kas" + -- Quick & dirty + mkPronoun_Thing : Str -> Pron = \lemma -> + let stem : Str = Predef.tk 3 lemma + in { + s = \\c => table { + Nom => case stem of { "kaut" => stem ++ "kas" ; _ => stem + "kas" } ; + Gen => case stem of { "kaut" => stem ++ "kā" ; _ => stem + "kā" } ; + Dat => case stem of { "kaut" => stem ++ "kam" ; _ => stem + "kam" } ; + Acc => case stem of { "kaut" => stem ++ "ko" ; _ => stem + "ko" } ; + Loc => case stem of { "kaut" => stem ++ "kur" ; _ => stem + "kur" } ; + Voc => NON_EXISTENT + } ! c ; + a = AgP3 Sg Masc ; + possessive = \\_,_,_ => NON_EXISTENT + } ; + } ; diff --git a/lib/src/latvian/RelativeLav.gf b/lib/src/latvian/RelativeLav.gf index 2c321d090..a727569f4 100644 --- a/lib/src/latvian/RelativeLav.gf +++ b/lib/src/latvian/RelativeLav.gf @@ -32,23 +32,13 @@ lin } ; IdRP = { - s = table { - Masc => table { - Nom => "kurš" ; - Gen => "kura" ; - Dat => "kuram" ; - Acc => "kuru" ; - Loc => "kurā" ; - ResLav.Voc => NON_EXISTENT - } ; - Fem => table { - Nom => "kura" ; - Gen => "kuras" ; - Dat => "kurai" ; - Acc => "kuru" ; - Loc => "kurā" ; - ResLav.Voc => NON_EXISTENT - } + s = \\_ => table { + Nom => "kas" ; + Gen => "kā" ; + Dat => "kam" ; + Acc => "ko" ; + Loc => "kur" ; + ResLav.Voc => NON_EXISTENT } } ; diff --git a/lib/src/latvian/StructuralLav.gf b/lib/src/latvian/StructuralLav.gf index bf72fb707..2092f6dc5 100644 --- a/lib/src/latvian/StructuralLav.gf +++ b/lib/src/latvian/StructuralLav.gf @@ -241,12 +241,12 @@ lin n = Pl } ; - everybody_NP = DetCN emptyPl_Det (UseN (mkN "visi")) ; - everything_NP = DetCN emptySg_Det (UseN (mkN "viss")) ; - nobody_NP = DetCN emptySg_Det (UseN (mkN "neviens")) ; - nothing_NP = DetCN emptySg_Det (UseN (mkN "nekas")) ; - somebody_NP = DetCN emptySg_Det (UseN (mkN "kāds")) ; - something_NP = DetCN emptySg_Det (UseN (mkN "kaut kas")) ; + somebody_NP = DetCN emptySg_Det (UseN (mkN "kāds")) ; -- FIXME: UsePron + something_NP = UsePron (mkPronoun_Thing "kaut kas") ; + everybody_NP = DetCN emptySg_Det (UseN (mkN "ikviens")) ; -- FIXME: UsePron + everything_NP = UsePron (mkPronoun_Thing "jebkas") ; + nobody_NP = DetCN emptySg_Det (UseN (mkN "neviens")) ; -- FIXME: UsePron + nothing_NP = UsePron (mkPronoun_Thing "nekas") ; have_V2 = mkV2 (mkV "būt") nom_Prep Dat ; have_V3 = mkV3 (mkV "būt") nom_Prep dat_Prep Dat ; diff --git a/lib/src/latvian/VerbLav.gf b/lib/src/latvian/VerbLav.gf index 0cdde0f5f..b87949ce7 100644 --- a/lib/src/latvian/VerbLav.gf +++ b/lib/src/latvian/VerbLav.gf @@ -137,8 +137,8 @@ lin PassV2 v2 = { v = v2 ; - compl = \\_ => NON_EXISTENT ; -- FIXME: placeholder - agr = Topic v2.topic -- TODO: test me + compl = \\_ => [] ; + agr = Topic v2.topic } ; AdvVP vp adv = insertObj (\\_ => adv.s) vp ;