diff --git a/src/latvian/CatLav.gf b/src/latvian/CatLav.gf index b4dce6794..15fe1eef6 100644 --- a/src/latvian/CatLav.gf +++ b/src/latvian/CatLav.gf @@ -112,7 +112,7 @@ lincat PN,LN = ProperNoun ; GN = {s : Case => Str ; gend : Gender} ; - SN = {s : Sex => Case => Str; pl : Case => Str} ; + SN = {s : Gender => Case => Str; pl : Case => Str} ; -- Overriden from CommonX diff --git a/src/latvian/DocumentationLav.gf b/src/latvian/DocumentationLav.gf index 1934e5d8f..7667177d0 100644 --- a/src/latvian/DocumentationLav.gf +++ b/src/latvian/DocumentationLav.gf @@ -93,12 +93,12 @@ lin InflectionSN = \pn -> { t = "ln" ; s1 = heading1 "Family Name" ; s2 = frameTable ( - tr (th "Nom" ++ td (pn.s ! Male ! Nom)) ++ - tr (th "Acc" ++ td (pn.s ! Male ! Acc)) ++ - tr (th "Dat" ++ td (pn.s ! Male ! Dat)) ++ - tr (th "Gen" ++ td (pn.s ! Male ! Gen)) ++ - tr (th "Loc" ++ td (pn.s ! Male ! Loc)) ++ - tr (th "Voc" ++ td (pn.s ! Male ! Voc))) ; + tr (th "Nom" ++ td (pn.s ! Masc ! Nom)) ++ + tr (th "Acc" ++ td (pn.s ! Masc ! Acc)) ++ + tr (th "Dat" ++ td (pn.s ! Masc ! Dat)) ++ + tr (th "Gen" ++ td (pn.s ! Masc ! Gen)) ++ + tr (th "Loc" ++ td (pn.s ! Masc ! Loc)) ++ + tr (th "Voc" ++ td (pn.s ! Masc ! Voc))) ; s3=[] } ; diff --git a/src/latvian/GrammarLav.gf b/src/latvian/GrammarLav.gf index d28de5f2a..b8db60e97 100644 --- a/src/latvian/GrammarLav.gf +++ b/src/latvian/GrammarLav.gf @@ -14,7 +14,9 @@ concrete GrammarLav of Grammar = TextX - [Adv,CAdv], StructuralLav, IdiomLav, - TenseX - [Adv,CAdv] + TenseX - [Adv,CAdv], + NamesLav + ** { flags diff --git a/src/latvian/NamesLav.gf b/src/latvian/NamesLav.gf new file mode 100644 index 000000000..afa6b2e10 --- /dev/null +++ b/src/latvian/NamesLav.gf @@ -0,0 +1,49 @@ +concrete NamesLav of Names = CatLav ** open Prelude, ResLav in { + +lin + GivenName gn = { + s = gn.s ; + agr = AgrP3 Sg gn.gend ; + pol = Pos ; + isRel = False ; + isPron = False + } ; + MaleSurname sn = { + s = sn.s ! Masc ; + agr = AgrP3 Sg Masc ; + pol = Pos ; + isRel = False ; + isPron = False + } ; + FemaleSurname sn = { + s = sn.s ! Fem ; + agr = AgrP3 Sg Fem ; + pol = Pos ; + isRel = False ; + isPron = False + } ; + PlSurname sn = { + s = sn.pl ; + agr = AgrP3 Pl Masc ; + pol = Pos ; + isRel = False ; + isPron = False + } ; + FullName gn sn = { + s = \\c => gn.s ! c ++ sn.s ! gn.gend ! c ; + agr = AgrP3 Sg gn.gend ; + pol = Pos ; + isRel = False ; + isPron = False + } ; + +lin + UseLN, PlainLN = \ln -> { + s = ln.s ; + agr = AgrP3 ln.num ln.gend ; + pol = Pos ; + isRel = False ; + isPron = False + } ; + +} diff --git a/src/latvian/ParadigmsLav.gf b/src/latvian/ParadigmsLav.gf index 470146cde..2f5d868ca 100644 --- a/src/latvian/ParadigmsLav.gf +++ b/src/latvian/ParadigmsLav.gf @@ -65,8 +65,8 @@ oper mkSN = overload { mkSN : Str -> SN = \s -> lin SN {s = \\_ => (mkProperNoun s Sg).s; pl = (mkProperNoun s Sg).s}; -- default gender utrum mkSN : Str -> Str -> Str -> SN = - \male,female,pl -> lin SN {s = table {Male => (mkProperNoun male Sg).s; - Female => (mkProperNoun female Sg).s} ; + \male,female,pl -> lin SN {s = table {Masc => (mkProperNoun male Sg).s; + Fem => (mkProperNoun female Sg).s} ; pl = (mkProperNoun pl Sg).s } ; } ;