Latvian: some fixes / additions to the structural words, lexicon, and passive voice

This commit is contained in:
Normunds Gruzitis
2012-10-14 14:09:15 +00:00
parent 5af6af0dd8
commit 1db0efc7a4
5 changed files with 49 additions and 42 deletions

View File

@@ -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" ;

View File

@@ -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
} ;
} ;

View File

@@ -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
}
} ;

View File

@@ -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 ;

View File

@@ -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 ;