mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-09 11:12:51 -06:00
Latvian resource started by Normunds Gruzitis
This commit is contained in:
113
lib/src/latvian/ParadigmsPronounsLav.gf
Normal file
113
lib/src/latvian/ParadigmsPronounsLav.gf
Normal file
@@ -0,0 +1,113 @@
|
||||
-- Latvian pronoun paradigms - by Normunds Grūzītis; copied off mini-grammar as of 2011-07-12
|
||||
|
||||
resource ParadigmsPronounsLav = open
|
||||
(Predef=Predef),
|
||||
Prelude,
|
||||
ResLav,
|
||||
CatLav
|
||||
in {
|
||||
|
||||
flags
|
||||
coding = utf8;
|
||||
|
||||
oper
|
||||
Pron : Type = {s : Number => Case => Str ; p : Person} ;
|
||||
PronGend : Type = {s : Gender => Number => Case => Str ; p : Person} ;
|
||||
|
||||
-- PRONOUNS (incl. 'determiners')
|
||||
|
||||
-- Gender=>Number=>Case P3 pronouns
|
||||
-- Expected ending of a lemma: -s or -š (Masc=>Sg=>Nom)
|
||||
-- Examples:
|
||||
-- viņš (he/she)
|
||||
-- kāds (a/some)
|
||||
-- katrs, ikviens, jebkurš (every/everything/everyone/all)
|
||||
-- neviens (no/nothing/noone)
|
||||
-- viss (all)
|
||||
-- kurš (that-relative)
|
||||
mkPronoun_Gend : Str -> PronGend = \lemma ->
|
||||
let stem : Str = Predef.tk 1 lemma
|
||||
in {
|
||||
s = table {
|
||||
Masc => table {
|
||||
Sg => table {
|
||||
Nom => lemma ;
|
||||
Gen => stem + "a" ;
|
||||
Dat => stem + "am" ;
|
||||
Acc => stem + "u" ;
|
||||
Loc => stem + "ā"
|
||||
} ;
|
||||
Pl => table {
|
||||
Nom => stem + "i" ;
|
||||
Gen => stem + "u" ;
|
||||
Dat => stem + "iem" ;
|
||||
Acc => stem + "us" ;
|
||||
Loc => stem + "os"
|
||||
}
|
||||
} ;
|
||||
Fem => table {
|
||||
Sg => table {
|
||||
Nom => stem + "a" ;
|
||||
Gen => stem + "as" ;
|
||||
Dat => stem + "ai" ;
|
||||
Acc => stem + "u" ;
|
||||
Loc => stem + "ā"
|
||||
} ;
|
||||
Pl => table {
|
||||
Nom => stem + "as" ;
|
||||
Gen => stem + "u" ;
|
||||
Dat => stem + "ām" ;
|
||||
Acc => stem + "as" ;
|
||||
Loc => stem + "ās"
|
||||
}
|
||||
}
|
||||
} ;
|
||||
p = P3
|
||||
} ;
|
||||
|
||||
-- A special case (paradigm) of Gender=>Number=>Case P3 pronouns
|
||||
-- Returns the full paradigm of 'šis' (this) or 'tas' (that)
|
||||
mkPronoun_ThisThat : ThisOrThat -> PronGend = \tot ->
|
||||
let
|
||||
stem : Str = case tot of {This => "š" ; That => "t"} ;
|
||||
suff1 : Str = case tot of {This => "i" ; That => "a"} ;
|
||||
suff2 : Str = case tot of {This => "ī" ; That => "ā"}
|
||||
in {
|
||||
s = table {
|
||||
Masc => table {
|
||||
Sg => table {
|
||||
Nom => stem + suff1 + "s" ;
|
||||
Gen => stem + suff2 ;
|
||||
Dat => stem + suff1 + "m" ;
|
||||
Acc => stem + "o" ;
|
||||
Loc => stem + "ajā"
|
||||
} ;
|
||||
Pl => table {
|
||||
Nom => stem + "ie" ;
|
||||
Gen => stem + "o" ;
|
||||
Dat => stem + "iem" ;
|
||||
Acc => stem + "os" ;
|
||||
Loc => stem + "ajos"
|
||||
}
|
||||
} ;
|
||||
Fem => table {
|
||||
Sg => table {
|
||||
Nom => stem + suff2 ;
|
||||
Gen => stem + suff2 + "s" ;
|
||||
Dat => stem + "ai" ;
|
||||
Acc => stem + "o" ;
|
||||
Loc => stem + "ajā"
|
||||
} ;
|
||||
Pl => table {
|
||||
Nom => stem + suff2 + "s" ;
|
||||
Gen => stem + "o" ;
|
||||
Dat => stem + suff2 + "m" ;
|
||||
Acc => stem + suff2 + "s" ;
|
||||
Loc => stem + "ajās"
|
||||
}
|
||||
}
|
||||
} ;
|
||||
p = P3
|
||||
} ;
|
||||
|
||||
} ;
|
||||
Reference in New Issue
Block a user