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" ; neck_N = mkN "kakls" ;
night_N = mkN "nakts" ; night_N = mkN "nakts" ;
nose_N = mkN "deguns" ; nose_N = mkN "deguns" ;
person_N = mkN "cilvēks" ; person_N = mkN "persona" ;
rain_N = mkN "lietus" ; rain_N = mkN "lietus" ;
road_N = mkN "ceļš" ; road_N = mkN "ceļš" ;
root_N = mkN "sakne" ; root_N = mkN "sakne" ;

View File

@@ -131,15 +131,15 @@ oper
mkPronoun_You_Pol : Gender -> Pron = \g -> { mkPronoun_You_Pol : Gender -> Pron = \g -> {
s = table { s = table {
Nom => "jūs" ; Nom => "Jūs" ;
Gen => "jūsu" ; Gen => "Jūsu" ;
Dat => "jums" ; Dat => "Jums" ;
Acc => "jūs" ; Acc => "Jūs" ;
Loc => "jūsos" ; Loc => "Jūsos" ;
ResLav.Voc => "jūs" ResLav.Voc => "Jūs"
} ; } ;
a = AgP2 Pl g ; -- FIXME: in the case of a predicate nominal: copula=Pl, complement=Sg 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 -> { mkPronoun_You_Pl : Gender -> Pron = \g -> {
@@ -162,7 +162,7 @@ oper
} ; } ;
mkPronoun_It_Sg : Gender -> Pron = \g -> { 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 ; a = AgP3 Sg g ;
possessive = \\_,_,_ => case g of { Masc => "tā" ; Fem => "tās" } possessive = \\_,_,_ => case g of { Masc => "tā" ; Fem => "tās" }
} ; } ;
@@ -187,7 +187,7 @@ oper
Dat => stem + "am" ; Dat => stem + "am" ;
Acc => stem + "u" ; Acc => stem + "u" ;
Loc => stem + "ā" ; Loc => stem + "ā" ;
Voc => NON_EXISTENT --FIXME - var tak uzrunā arī likt determineru Voc => NON_EXISTENT
} ; } ;
Pl => table { Pl => table {
Nom => stem + "i" ; Nom => stem + "i" ;
@@ -195,7 +195,7 @@ oper
Dat => stem + "iem" ; Dat => stem + "iem" ;
Acc => stem + "us" ; Acc => stem + "us" ;
Loc => stem + "os" ; Loc => stem + "os" ;
Voc => NON_EXISTENT Voc => NON_EXISTENT
} }
} ; } ;
Fem => table { Fem => table {
@@ -205,7 +205,7 @@ oper
Dat => stem + "ai" ; Dat => stem + "ai" ;
Acc => stem + "u" ; Acc => stem + "u" ;
Loc => stem + "ā" ; Loc => stem + "ā" ;
Voc => NON_EXISTENT Voc => NON_EXISTENT
} ; } ;
Pl => table { Pl => table {
Nom => stem + "as" ; Nom => stem + "as" ;
@@ -213,7 +213,7 @@ oper
Dat => stem + "ām" ; Dat => stem + "ām" ;
Acc => stem + "as" ; Acc => stem + "as" ;
Loc => stem + "ās" ; Loc => stem + "ās" ;
Voc => NON_EXISTENT Voc => NON_EXISTENT
} }
} }
} ; } ;
@@ -235,7 +235,7 @@ oper
Dat => stem + suff1 + "m" ; Dat => stem + suff1 + "m" ;
Acc => stem + "o" ; Acc => stem + "o" ;
Loc => stem + "ajā" ; Loc => stem + "ajā" ;
Voc => NON_EXISTENT Voc => NON_EXISTENT
} ; } ;
Pl => table { Pl => table {
Nom => stem + "ie" ; Nom => stem + "ie" ;
@@ -243,7 +243,7 @@ oper
Dat => stem + "iem" ; Dat => stem + "iem" ;
Acc => stem + "os" ; Acc => stem + "os" ;
Loc => stem + "ajos" ; Loc => stem + "ajos" ;
Voc => NON_EXISTENT Voc => NON_EXISTENT
} }
} ; } ;
Fem => table { Fem => table {
@@ -253,7 +253,7 @@ oper
Dat => stem + "ai" ; Dat => stem + "ai" ;
Acc => stem + "o" ; Acc => stem + "o" ;
Loc => stem + "ajā" ; Loc => stem + "ajā" ;
Voc => NON_EXISTENT Voc => NON_EXISTENT
} ; } ;
Pl => table { Pl => table {
Nom => stem + suff2 + "s" ; Nom => stem + suff2 + "s" ;
@@ -261,10 +261,27 @@ oper
Dat => stem + suff2 + "m" ; Dat => stem + suff2 + "m" ;
Acc => stem + suff2 + "s" ; Acc => stem + suff2 + "s" ;
Loc => stem + "ajā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 = { IdRP = {
s = table { s = \\_ => table {
Masc => table { Nom => "kas" ;
Nom => "kurš" ; Gen => "kā" ;
Gen => "kura" ; Dat => "kam" ;
Dat => "kuram" ; Acc => "ko" ;
Acc => "kuru" ; Loc => "kur" ;
Loc => "kurā" ; ResLav.Voc => NON_EXISTENT
ResLav.Voc => NON_EXISTENT
} ;
Fem => table {
Nom => "kura" ;
Gen => "kuras" ;
Dat => "kurai" ;
Acc => "kuru" ;
Loc => "kurā" ;
ResLav.Voc => NON_EXISTENT
}
} }
} ; } ;

View File

@@ -241,12 +241,12 @@ lin
n = Pl n = Pl
} ; } ;
everybody_NP = DetCN emptyPl_Det (UseN (mkN "visi")) ; somebody_NP = DetCN emptySg_Det (UseN (mkN "kāds")) ; -- FIXME: UsePron
everything_NP = DetCN emptySg_Det (UseN (mkN "viss")) ; something_NP = UsePron (mkPronoun_Thing "kaut kas") ;
nobody_NP = DetCN emptySg_Det (UseN (mkN "neviens")) ; everybody_NP = DetCN emptySg_Det (UseN (mkN "ikviens")) ; -- FIXME: UsePron
nothing_NP = DetCN emptySg_Det (UseN (mkN "nekas")) ; everything_NP = UsePron (mkPronoun_Thing "jebkas") ;
somebody_NP = DetCN emptySg_Det (UseN (mkN "kāds")) ; nobody_NP = DetCN emptySg_Det (UseN (mkN "neviens")) ; -- FIXME: UsePron
something_NP = DetCN emptySg_Det (UseN (mkN "kaut kas")) ; nothing_NP = UsePron (mkPronoun_Thing "nekas") ;
have_V2 = mkV2 (mkV "būt") nom_Prep Dat ; have_V2 = mkV2 (mkV "būt") nom_Prep Dat ;
have_V3 = mkV3 (mkV "būt") nom_Prep dat_Prep Dat ; have_V3 = mkV3 (mkV "būt") nom_Prep dat_Prep Dat ;

View File

@@ -137,8 +137,8 @@ lin
PassV2 v2 = { PassV2 v2 = {
v = v2 ; v = v2 ;
compl = \\_ => NON_EXISTENT ; -- FIXME: placeholder compl = \\_ => [] ;
agr = Topic v2.topic -- TODO: test me agr = Topic v2.topic
} ; } ;
AdvVP vp adv = insertObj (\\_ => adv.s) vp ; AdvVP vp adv = insertObj (\\_ => adv.s) vp ;