diff --git a/src/latvian/AllLav.gf b/src/latvian/AllLav.gf index c77fbcbd..d5a57930 100644 --- a/src/latvian/AllLav.gf +++ b/src/latvian/AllLav.gf @@ -2,7 +2,7 @@ concrete AllLav of AllLavAbs = LangLav, - ExtraLav + ExtendLav ** { flags diff --git a/src/latvian/CatLav.gf b/src/latvian/CatLav.gf index 2965b45c..2705bfa3 100644 --- a/src/latvian/CatLav.gf +++ b/src/latvian/CatLav.gf @@ -1,6 +1,6 @@ --# -path=.:abstract:common:prelude -concrete CatLav of Cat = CommonX - [Adv, CAdv, Voc] ** open ResLav, Prelude in { +concrete CatLav of Cat = CommonX - [Adv, CAdv] ** open ResLav, Prelude in { flags diff --git a/src/latvian/DocumentationLav.gf b/src/latvian/DocumentationLav.gf new file mode 100644 index 00000000..932ac0a7 --- /dev/null +++ b/src/latvian/DocumentationLav.gf @@ -0,0 +1,91 @@ +--# -path=.:../abstract:../common +concrete DocumentationLav of Documentation = CatLav ** open + ResLav, + Prelude, + HTML in { + +lincat + Inflection = {t : Str; s1,s2,s3 : Str} ; + Definition = {s : Str} ; + Document = {s : Str} ; + Tag = {s : Str} ; + +lin InflectionN, InflectionN2, InflectionN3 = \x -> { + t="n" ; + s1=heading1 ("Noun" ++ + case x.gend of { + Masc => "(masculine)" ; + Fem => "(feminine)" + }) ; + s2=frameTable ( + tr (intagAttr "th" "colspan=\"2\"" "" ++ th "Sg" ++ th "Pl") ++ + tr (th "Nom" ++ td (x.s ! Sg ! Nom) ++ td (x.s ! Pl ! Nom)) ++ + tr (th "Acc" ++ td (x.s ! Sg ! Acc) ++ td (x.s ! Pl ! Acc)) ++ + tr (th "Dat" ++ td (x.s ! Sg ! Dat) ++ td (x.s ! Pl ! Dat)) ++ + tr (th "Gen" ++ td (x.s ! Sg ! Gen) ++ td (x.s ! Pl ! Gen)) ++ + tr (th "Loc" ++ td (x.s ! Sg ! Loc) ++ td (x.s ! Pl ! Loc)) ++ + tr (th "Voc" ++ td (x.s ! Sg ! Voc) ++ td (x.s ! Pl ! Voc))) ; + s3=[] + } ; + +lin InflectionA, InflectionA2 = \adj -> { + t="a" ; + s1=heading1 "Adjective" ; + s2=frameTable ( + tr (intagAttr "th" "rowspan=\"2\"" "" ++ intagAttr "th" "colspan=\"2\"" "Masculine" ++ intagAttr "th" "colspan=\"2\"" "Feminine") ++ + tr ( th "Sg" ++ th "Pl" ++ th "Sg" ++ th "Pl") ++ + intagAttr "th" "colspan=\"6\"" "Positive" ++ + tr (intagAttr "th" "rowspan=\"6\"" "Indef" ++ + th "Nom" ++ td (adj.s ! AAdj Posit Indef Masc Sg Nom) ++ td (adj.s ! AAdj Posit Indef Masc Pl Nom) ++ td (adj.s ! AAdj Posit Indef Fem Sg Nom) ++ td (adj.s ! AAdj Posit Indef Fem Pl Nom)) ++ + tr (th "Acc" ++ td (adj.s ! AAdj Posit Indef Masc Sg Acc) ++ td (adj.s ! AAdj Posit Indef Masc Pl Acc) ++ td (adj.s ! AAdj Posit Indef Fem Sg Nom) ++ td (adj.s ! AAdj Posit Indef Fem Pl Nom)) ++ + tr (th "Dat" ++ td (adj.s ! AAdj Posit Indef Masc Sg Dat) ++ td (adj.s ! AAdj Posit Indef Masc Pl Dat) ++ td (adj.s ! AAdj Posit Indef Fem Sg Nom) ++ td (adj.s ! AAdj Posit Indef Fem Pl Nom)) ++ + tr (th "Gen" ++ td (adj.s ! AAdj Posit Indef Masc Sg Gen) ++ td (adj.s ! AAdj Posit Indef Masc Pl Gen) ++ td (adj.s ! AAdj Posit Indef Fem Sg Nom) ++ td (adj.s ! AAdj Posit Indef Fem Pl Nom)) ++ + tr (th "Loc" ++ td (adj.s ! AAdj Posit Indef Masc Sg Loc) ++ td (adj.s ! AAdj Posit Indef Masc Pl Loc) ++ td (adj.s ! AAdj Posit Indef Fem Sg Nom) ++ td (adj.s ! AAdj Posit Indef Fem Pl Nom)) ++ + tr (th "Voc" ++ td (adj.s ! AAdj Posit Indef Masc Sg Voc) ++ td (adj.s ! AAdj Posit Indef Masc Pl Voc) ++ td (adj.s ! AAdj Posit Indef Fem Sg Nom) ++ td (adj.s ! AAdj Posit Indef Fem Pl Nom)) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Def" ++ + th "Nom" ++ td (adj.s ! AAdj Posit Def Masc Sg Nom) ++ td (adj.s ! AAdj Posit Def Masc Pl Nom) ++ td (adj.s ! AAdj Posit Def Fem Sg Nom) ++ td (adj.s ! AAdj Posit Def Fem Pl Nom)) ++ + tr (th "Acc" ++ td (adj.s ! AAdj Posit Def Masc Sg Acc) ++ td (adj.s ! AAdj Posit Def Masc Pl Acc) ++ td (adj.s ! AAdj Posit Def Fem Sg Nom) ++ td (adj.s ! AAdj Posit Def Fem Pl Nom)) ++ + tr (th "Dat" ++ td (adj.s ! AAdj Posit Def Masc Sg Dat) ++ td (adj.s ! AAdj Posit Def Masc Pl Dat) ++ td (adj.s ! AAdj Posit Def Fem Sg Nom) ++ td (adj.s ! AAdj Posit Def Fem Pl Nom)) ++ + tr (th "Gen" ++ td (adj.s ! AAdj Posit Def Masc Sg Gen) ++ td (adj.s ! AAdj Posit Def Masc Pl Gen) ++ td (adj.s ! AAdj Posit Def Fem Sg Nom) ++ td (adj.s ! AAdj Posit Def Fem Pl Nom)) ++ + tr (th "Loc" ++ td (adj.s ! AAdj Posit Def Masc Sg Loc) ++ td (adj.s ! AAdj Posit Def Masc Pl Loc) ++ td (adj.s ! AAdj Posit Def Fem Sg Nom) ++ td (adj.s ! AAdj Posit Def Fem Pl Nom)) ++ + tr (th "Voc" ++ td (adj.s ! AAdj Posit Def Masc Sg Voc) ++ td (adj.s ! AAdj Posit Def Masc Pl Voc) ++ td (adj.s ! AAdj Posit Def Fem Sg Nom) ++ td (adj.s ! AAdj Posit Def Fem Pl Nom)) ++ + intagAttr "th" "colspan=\"6\"" "Comparative" ++ + tr (intagAttr "th" "rowspan=\"6\"" "Indef" ++ + th "Nom" ++ td (adj.s ! AAdj Compar Indef Masc Sg Nom) ++ td (adj.s ! AAdj Compar Indef Masc Pl Nom) ++ td (adj.s ! AAdj Compar Indef Fem Sg Nom) ++ td (adj.s ! AAdj Compar Indef Fem Pl Nom)) ++ + tr (th "Acc" ++ td (adj.s ! AAdj Compar Indef Masc Sg Acc) ++ td (adj.s ! AAdj Compar Indef Masc Pl Acc) ++ td (adj.s ! AAdj Compar Indef Fem Sg Nom) ++ td (adj.s ! AAdj Compar Indef Fem Pl Nom)) ++ + tr (th "Dat" ++ td (adj.s ! AAdj Compar Indef Masc Sg Dat) ++ td (adj.s ! AAdj Compar Indef Masc Pl Dat) ++ td (adj.s ! AAdj Compar Indef Fem Sg Nom) ++ td (adj.s ! AAdj Compar Indef Fem Pl Nom)) ++ + tr (th "Gen" ++ td (adj.s ! AAdj Compar Indef Masc Sg Gen) ++ td (adj.s ! AAdj Compar Indef Masc Pl Gen) ++ td (adj.s ! AAdj Compar Indef Fem Sg Nom) ++ td (adj.s ! AAdj Compar Indef Fem Pl Nom)) ++ + tr (th "Loc" ++ td (adj.s ! AAdj Compar Indef Masc Sg Loc) ++ td (adj.s ! AAdj Compar Indef Masc Pl Loc) ++ td (adj.s ! AAdj Compar Indef Fem Sg Nom) ++ td (adj.s ! AAdj Compar Indef Fem Pl Nom)) ++ + tr (th "Voc" ++ td (adj.s ! AAdj Compar Indef Masc Sg Voc) ++ td (adj.s ! AAdj Compar Indef Masc Pl Voc) ++ td (adj.s ! AAdj Compar Indef Fem Sg Nom) ++ td (adj.s ! AAdj Compar Indef Fem Pl Nom)) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Def" ++ + th "Nom" ++ td (adj.s ! AAdj Compar Def Masc Sg Nom) ++ td (adj.s ! AAdj Compar Def Masc Pl Nom) ++ td (adj.s ! AAdj Compar Def Fem Sg Nom) ++ td (adj.s ! AAdj Compar Def Fem Pl Nom)) ++ + tr (th "Acc" ++ td (adj.s ! AAdj Compar Def Masc Sg Acc) ++ td (adj.s ! AAdj Compar Def Masc Pl Acc) ++ td (adj.s ! AAdj Compar Def Fem Sg Nom) ++ td (adj.s ! AAdj Compar Def Fem Pl Nom)) ++ + tr (th "Dat" ++ td (adj.s ! AAdj Compar Def Masc Sg Dat) ++ td (adj.s ! AAdj Compar Def Masc Pl Dat) ++ td (adj.s ! AAdj Compar Def Fem Sg Nom) ++ td (adj.s ! AAdj Compar Def Fem Pl Nom)) ++ + tr (th "Gen" ++ td (adj.s ! AAdj Compar Def Masc Sg Gen) ++ td (adj.s ! AAdj Compar Def Masc Pl Gen) ++ td (adj.s ! AAdj Compar Def Fem Sg Nom) ++ td (adj.s ! AAdj Compar Def Fem Pl Nom)) ++ + tr (th "Loc" ++ td (adj.s ! AAdj Compar Def Masc Sg Loc) ++ td (adj.s ! AAdj Compar Def Masc Pl Loc) ++ td (adj.s ! AAdj Compar Def Fem Sg Nom) ++ td (adj.s ! AAdj Compar Def Fem Pl Nom)) ++ + tr (th "Voc" ++ td (adj.s ! AAdj Compar Def Masc Sg Voc) ++ td (adj.s ! AAdj Compar Def Masc Pl Voc) ++ td (adj.s ! AAdj Compar Def Fem Sg Nom) ++ td (adj.s ! AAdj Compar Def Fem Pl Nom)) ++ + intagAttr "th" "colspan=\"6\"" "Superlative" ++ + tr (intagAttr "th" "rowspan=\"6\"" "Indef" ++ + th "Nom" ++ td (adj.s ! AAdj Superl Indef Masc Sg Nom) ++ td (adj.s ! AAdj Superl Indef Masc Pl Nom) ++ td (adj.s ! AAdj Superl Indef Fem Sg Nom) ++ td (adj.s ! AAdj Superl Indef Fem Pl Nom)) ++ + tr (th "Acc" ++ td (adj.s ! AAdj Superl Indef Masc Sg Acc) ++ td (adj.s ! AAdj Superl Indef Masc Pl Acc) ++ td (adj.s ! AAdj Superl Indef Fem Sg Nom) ++ td (adj.s ! AAdj Superl Indef Fem Pl Nom)) ++ + tr (th "Dat" ++ td (adj.s ! AAdj Superl Indef Masc Sg Dat) ++ td (adj.s ! AAdj Superl Indef Masc Pl Dat) ++ td (adj.s ! AAdj Superl Indef Fem Sg Nom) ++ td (adj.s ! AAdj Superl Indef Fem Pl Nom)) ++ + tr (th "Gen" ++ td (adj.s ! AAdj Superl Indef Masc Sg Gen) ++ td (adj.s ! AAdj Superl Indef Masc Pl Gen) ++ td (adj.s ! AAdj Superl Indef Fem Sg Nom) ++ td (adj.s ! AAdj Superl Indef Fem Pl Nom)) ++ + tr (th "Loc" ++ td (adj.s ! AAdj Superl Indef Masc Sg Loc) ++ td (adj.s ! AAdj Superl Indef Masc Pl Loc) ++ td (adj.s ! AAdj Superl Indef Fem Sg Nom) ++ td (adj.s ! AAdj Superl Indef Fem Pl Nom)) ++ + tr (th "Voc" ++ td (adj.s ! AAdj Superl Indef Masc Sg Voc) ++ td (adj.s ! AAdj Superl Indef Masc Pl Voc) ++ td (adj.s ! AAdj Superl Indef Fem Sg Nom) ++ td (adj.s ! AAdj Superl Indef Fem Pl Nom)) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Def" ++ + th "Nom" ++ td (adj.s ! AAdj Superl Def Masc Sg Nom) ++ td (adj.s ! AAdj Superl Def Masc Pl Nom) ++ td (adj.s ! AAdj Superl Def Fem Sg Nom) ++ td (adj.s ! AAdj Superl Def Fem Pl Nom)) ++ + tr (th "Acc" ++ td (adj.s ! AAdj Superl Def Masc Sg Acc) ++ td (adj.s ! AAdj Superl Def Masc Pl Acc) ++ td (adj.s ! AAdj Superl Def Fem Sg Nom) ++ td (adj.s ! AAdj Superl Def Fem Pl Nom)) ++ + tr (th "Dat" ++ td (adj.s ! AAdj Superl Def Masc Sg Dat) ++ td (adj.s ! AAdj Superl Def Masc Pl Dat) ++ td (adj.s ! AAdj Superl Def Fem Sg Nom) ++ td (adj.s ! AAdj Superl Def Fem Pl Nom)) ++ + tr (th "Gen" ++ td (adj.s ! AAdj Superl Def Masc Sg Gen) ++ td (adj.s ! AAdj Superl Def Masc Pl Gen) ++ td (adj.s ! AAdj Superl Def Fem Sg Nom) ++ td (adj.s ! AAdj Superl Def Fem Pl Nom)) ++ + tr (th "Loc" ++ td (adj.s ! AAdj Superl Def Masc Sg Loc) ++ td (adj.s ! AAdj Superl Def Masc Pl Loc) ++ td (adj.s ! AAdj Superl Def Fem Sg Nom) ++ td (adj.s ! AAdj Superl Def Fem Pl Nom)) ++ + tr (th "Voc" ++ td (adj.s ! AAdj Superl Def Masc Sg Voc) ++ td (adj.s ! AAdj Superl Def Masc Pl Voc) ++ td (adj.s ! AAdj Superl Def Fem Sg Nom) ++ td (adj.s ! AAdj Superl Def Fem Pl Nom))) ++ + + heading1 "Adverb" ++ + frameTable ( + tr (th "Positive" ++ td (adj.s ! AAdv Posit)) ++ + tr (th "Comparative" ++ td (adj.s ! AAdv Compar)) ++ + tr (th "Superlative" ++ td (adj.s ! AAdv Superl))) ; + s3=[] + } ; + +} diff --git a/src/latvian/ExtendLav.gf b/src/latvian/ExtendLav.gf new file mode 100644 index 00000000..0f5af158 --- /dev/null +++ b/src/latvian/ExtendLav.gf @@ -0,0 +1,25 @@ +--# -path=.:../common:../abstract + +concrete ExtendLav of Extend = + CatLav ** ExtendFunctor - + [ + iFem_Pron, weFem_Pron, youFem_Pron, youPolFem_Pron, youPlFem_Pron, + theyFem_Pron, + ComplDirectVQ, ComplDirectVS + ] + with + (Grammar = GrammarLav) ** + open + ResLav, + ParadigmsPronounsLav in { + +lin iFem_Pron = mkPronoun_I Fem ; + weFem_Pron = mkPronoun_We Fem ; + + youFem_Pron = mkPronoun_You_Sg Fem ; + youPolFem_Pron = mkPronoun_You_Pol Fem ; + youPlFem_Pron = mkPronoun_You_Pl Fem ; + + theyFem_Pron = mkPronoun_They Fem ; + +} diff --git a/src/latvian/LangLav.gf b/src/latvian/LangLav.gf index b0d303f9..3dc1295c 100644 --- a/src/latvian/LangLav.gf +++ b/src/latvian/LangLav.gf @@ -3,6 +3,7 @@ concrete LangLav of Lang = GrammarLav, LexiconLav + ,DocumentationLav --# notpresent ** { flags