mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 01:18:57 -06:00
Hrv: copulas and personal pronouns
This commit is contained in:
@@ -465,14 +465,15 @@ adjFormsAdjective : AdjForms -> Adjective = \afs -> {
|
|||||||
-- just an example of a traditional paradigm
|
-- just an example of a traditional paradigm
|
||||||
---- TODO other traditional paradigms
|
---- TODO other traditional paradigms
|
||||||
|
|
||||||
aeiVerbForms : Str -> VerbForms = \citati ->
|
aeiVerbForms : Str -> Str -> Str -> VerbForms = \citati, citam, citao ->
|
||||||
let
|
let
|
||||||
cita = Predef.tk 2 citati ;
|
cita = init citam ;
|
||||||
u = case last cita of {
|
u = case last cita of {
|
||||||
"a" => "aju" ;
|
"a" => "aju" ;
|
||||||
"e" => "u" ;
|
"e" => "u" ;
|
||||||
"i" => "e"
|
"i" => "e"
|
||||||
} ;
|
} ;
|
||||||
|
cital = init citao + "l" ;
|
||||||
in table {
|
in table {
|
||||||
VInf => citati ;
|
VInf => citati ;
|
||||||
VPres Sg P1 => cita + "m" ;
|
VPres Sg P1 => cita + "m" ;
|
||||||
@@ -481,176 +482,131 @@ adjFormsAdjective : AdjForms -> Adjective = \afs -> {
|
|||||||
VPres Pl P1 => cita + "mo" ;
|
VPres Pl P1 => cita + "mo" ;
|
||||||
VPres Pl P2 => cita + "te" ;
|
VPres Pl P2 => cita + "te" ;
|
||||||
VPres pl P3 => init cita + u ;
|
VPres pl P3 => init cita + u ;
|
||||||
VPastPart (Masc _) Sg => cita + "o" ;
|
VPastPart (Masc _) Sg => citao ;
|
||||||
VPastPart Fem Sg => cita + "la" ;
|
VPastPart Fem Sg => cital + "a" ;
|
||||||
VPastPart Neutr Sg => cita + "lo" ;
|
VPastPart Neutr Sg => cital + "o" ;
|
||||||
VPastPart (Masc _) Pl => cita + "li" ;
|
VPastPart (Masc _) Pl => cital + "i" ;
|
||||||
VPastPart Fem Pl => cita + "le" ;
|
VPastPart Fem Pl => cital + "e" ;
|
||||||
VPastPart Neutr Pl => cita + "la"
|
VPastPart Neutr Pl => cital + "a"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
{-
|
|
||||||
|
-- copula
|
||||||
|
|
||||||
|
jesam_Copula : {short, long, negative : Number => Person => Str} =
|
||||||
|
let
|
||||||
|
sam : Number => Person => Str = table {
|
||||||
|
Sg => table {
|
||||||
|
P1 => "sam" ;
|
||||||
|
P2 => "si" ;
|
||||||
|
P3 => "je"
|
||||||
|
} ;
|
||||||
|
Pl => table {
|
||||||
|
P1 => "smo" ;
|
||||||
|
P2 => "ste" ;
|
||||||
|
P3 => "su"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
in {
|
||||||
|
short = sam ;
|
||||||
|
long = \\n,p => case <n,p> of {
|
||||||
|
<Sg,P3> => "jeste" ; --- wiki: jest(e)
|
||||||
|
_ => sam ! n ! p
|
||||||
|
} ;
|
||||||
|
negative = \\n,p => "ni" + sam ! n ! p
|
||||||
|
} ;
|
||||||
|
|
||||||
|
biti_VerbForms : VerbForms = aeiVerbForms "biti" "budem" "bio" ;
|
||||||
|
|
||||||
|
imati_VerbForms : VerbForms = aeiVerbForms "imati" "imam" "imao" ;
|
||||||
|
|
||||||
|
|
||||||
---------------------------
|
---------------------------
|
||||||
-- Pronouns
|
-- Pronouns
|
||||||
|
|
||||||
PronForms : Type = {
|
PronForms : Type = {
|
||||||
nom, cnom, -- cnom is the pro-drop subject
|
nom,
|
||||||
gen, cgen,pgen, -- bare, clitic, prepositional
|
gen, cgen, -- bare, clitic (also as Acc)
|
||||||
acc, cacc,pacc,
|
dat, cdat, -- also as Loc
|
||||||
dat, cdat,pdat,
|
ins : Str ;
|
||||||
loc,
|
|
||||||
ins,pins : Str ;
|
|
||||||
a : Agr
|
a : Agr
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
---- TODO: possessives
|
|
||||||
|
|
||||||
personalPron : Agr -> PronForms = \a ->
|
personalPron : Agr -> PronForms = \a ->
|
||||||
{a = a ; cnom = []} **
|
{a = a ; cnom = []} **
|
||||||
case a of {
|
case a of {
|
||||||
Ag _ Sg P1 => {
|
Ag _ Sg P1 => {
|
||||||
nom = "ja" ;
|
nom = "ja" ;
|
||||||
gen,acc,pgen,pacc = "mňa" ;
|
gen = "mene" ;
|
||||||
cgen,cacc = "ma" ;
|
cgen = "ma" ;
|
||||||
dat,pdat,loc = "mne" ;
|
dat = "meni" ;
|
||||||
cdat = "mi" ;
|
cdat = "mi" ;
|
||||||
ins,pins = "mnou"
|
ins = "mnom"
|
||||||
} ;
|
} ;
|
||||||
Ag _ Sg P2 => {
|
Ag _ Sg P2 => {
|
||||||
nom = "ty" ;
|
nom = "ti" ;
|
||||||
gen,acc,pgen,pacc = "teba" ;
|
gen = "tebe" ;
|
||||||
cgen,cacc = "ťa" ;
|
cgen = "te" ;
|
||||||
dat,pdat,loc = "tebe" ;
|
dat = "tebi" ;
|
||||||
cdat = "ti" ;
|
cdat = "ti" ;
|
||||||
ins,pins = "tebou"
|
ins = "tobom"
|
||||||
} ;
|
|
||||||
Ag (Masc _) Sg P3 => {
|
|
||||||
nom = "on" ;
|
|
||||||
gen,acc = "jeho" ;
|
|
||||||
cgen,cacc = "ho" ;
|
|
||||||
pgen,pacc = "neho" ;
|
|
||||||
---- pgen = "ňho"; ---- bind, only with prepositions "do", "u"
|
|
||||||
---- pgen = "ň"; ---- bind, only with preposition "do", "u"
|
|
||||||
dat = "jemu" ;
|
|
||||||
---- pacc = "eň" ; ---- bind, only with preposition "cez"
|
|
||||||
---- pacc = "ňho" ; ---- bind, only with prepositions "na", "pre", "za"
|
|
||||||
---- pacc = "ň" ; ---- bind, only with preposition "na", "pre", "za"
|
|
||||||
cdat = "mu" ;
|
|
||||||
pdat = "nemu" ;
|
|
||||||
loc = "ňom" ;
|
|
||||||
ins,pins = "ním" ;
|
|
||||||
} ;
|
} ;
|
||||||
Ag Fem Sg P3 => {
|
Ag Fem Sg P3 => {
|
||||||
nom = "ona" ;
|
nom = "ona" ;
|
||||||
gen,cgen,pgen,acc,cacc,pacc = "ju" ;
|
gen = "nje" ;
|
||||||
cdat = "jej" ;
|
cgen = "je" ;
|
||||||
dat,pdat,loc = "nej" ;
|
dat = "njoj" ;
|
||||||
ins,pins = "ní" ;
|
cdat = "joj" ;
|
||||||
|
ins = "njom"
|
||||||
} ;
|
} ;
|
||||||
Ag Neutr Sg P3 => {
|
Ag g Sg P3 => {
|
||||||
nom = "ono" ;
|
nom = case g of {
|
||||||
gen, acc = "jeho" ;
|
Masc _ => "on" ;
|
||||||
cgen,cacc = "ho" ;
|
_ => "ono"
|
||||||
pgen = "neho" ;
|
} ;
|
||||||
---- pgen = "ňho"; ---- bind, only with prepositions "do", "u"
|
gen = "njega" ;
|
||||||
---- pgen = "ň"; ---- bind, only with preposition "do", "u"
|
cgen = "ga" ;
|
||||||
dat = "jemu" ;
|
dat = "njemu" ;
|
||||||
---- pacc = "eň" ; ---- bind, only with preposition "cez"
|
cdat = "mu" ;
|
||||||
---- pacc = "ňho" ; ---- bind, only with prepositions "na", "pre", "za"
|
ins = "njim"
|
||||||
---- pacc = "ň" ; ---- bind, only with preposition "na", "pre", "za"
|
|
||||||
pacc = "jeho"; ---- doublecheck
|
|
||||||
cdat = "mu" ;
|
|
||||||
pdat = "nemu" ;
|
|
||||||
loc = "ňom" ;
|
|
||||||
ins,pins = "ním" ;
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
Ag _ Pl P1 => {
|
Ag _ Pl P1 => {
|
||||||
nom = "my" ;
|
nom = "mi" ;
|
||||||
gen,acc,
|
gen, cgen = "nas" ;
|
||||||
cgen,cacc,
|
dat, ins = "nama" ;
|
||||||
pgen,pacc,
|
cdat = "nam"
|
||||||
loc = "nás" ;
|
|
||||||
dat,cdat,pdat = "nám" ;
|
|
||||||
ins,pins = "nami" ;
|
|
||||||
} ;
|
} ;
|
||||||
Ag _ Pl P2 => {
|
Ag _ Pl P2 => {
|
||||||
nom = "vy" ;
|
nom = "vi" ;
|
||||||
gen,acc,
|
gen, cgen = "vas" ;
|
||||||
cgen,cacc,
|
dat, ins = "vama" ;
|
||||||
pgen,pacc,
|
cdat = "vam"
|
||||||
loc = "vás" ;
|
|
||||||
dat,cdat,pdat = "vám" ;
|
|
||||||
ins,pins = "vami" ;
|
|
||||||
} ;
|
} ;
|
||||||
Ag (Masc Anim) Pl P3 => {
|
Ag g Pl P3 => {
|
||||||
nom = "oni" ;
|
nom = case g of {
|
||||||
gen,cgen,acc,cacc = "ich" ;
|
Masc _ => "oni" ;
|
||||||
pgen,pacc = "nich" ;
|
Fem => "one" ;
|
||||||
dat,cdat = "im" ;
|
Neutr => "ona"
|
||||||
pdat = "nim" ;
|
} ;
|
||||||
loc = "nich" ;
|
gen = "njih" ;
|
||||||
ins,pins = "nimi" ;
|
cgen = "ih" ;
|
||||||
} ;
|
dat, ins = "njima" ;
|
||||||
Ag _ Pl P3 => {
|
cdat = "im"
|
||||||
nom = "ony" ;
|
}
|
||||||
gen,cgen,acc,cacc = "ich" ;
|
|
||||||
pgen,pacc = "ne" ;
|
|
||||||
dat,cdat = "im" ;
|
|
||||||
pdat = "nim" ;
|
|
||||||
loc = "nich" ;
|
|
||||||
ins,pins = "nimi" ;
|
|
||||||
}
|
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
possessivePron : Agr -> DemPronForms = \a -> case a of {
|
possessivePron : Agr -> AdjForms = \a -> case a of {
|
||||||
|
Ag _ Sg P1 => velikA "moj" ;
|
||||||
Ag _ Sg P1 => otcovA "moj" ** {
|
Ag _ Sg P2 => velikA "tvoj" ;
|
||||||
msnom = "môj" ; msgen = "môjho" ; msdat = "môjmu" ;
|
Ag (Masc _) Sg P3 => velikA "njegov" ;
|
||||||
msins = "mojím" ;
|
Ag (Fem|Neutr) Sg P3 => velikA "njezin" ; -- BCMS: Hrv: otherwise njen
|
||||||
ampnom = "moji" ;
|
Ag _ Pl P1 => velikA "naš" ;
|
||||||
nsnom, fpnom = "moje" ;
|
Ag _ Pl P2 => velikA "vaš" ;
|
||||||
pgen = "mojich" ;
|
Ag _ Pl P3 => velikA "njihov"
|
||||||
pdat = "mojim" ;
|
|
||||||
pins = "mojimi" ;
|
|
||||||
} ;
|
|
||||||
|
|
||||||
Ag _ Sg P2 => otcovA "tvoj" ** {
|
|
||||||
msnom = "tvoj" ; msgen = "tvojho" ; msdat = "tvojmu" ;
|
|
||||||
msins = "tvojím" ;
|
|
||||||
ampnom = "tvoji" ;
|
|
||||||
nsnom, fpnom = "tvoje" ;
|
|
||||||
pgen = "tvojich" ;
|
|
||||||
pdat = "tvojim" ;
|
|
||||||
pins = "tvojimi" ;
|
|
||||||
} ;
|
|
||||||
|
|
||||||
Ag _ Pl P1 => otcovA "naš" ** {
|
|
||||||
msnom = "náš" ; msgen = "nášho" ; msdat = "nášmu" ;
|
|
||||||
msins = "naším" ;
|
|
||||||
ampnom = "naši" ;
|
|
||||||
nsnom, fpnom = "naše" ;
|
|
||||||
pgen = "našich" ;
|
|
||||||
pdat = "našim" ;
|
|
||||||
pins = "našimi" ;
|
|
||||||
} ;
|
|
||||||
|
|
||||||
Ag _ Pl P2 => otcovA "vaš" ** {
|
|
||||||
msnom = "váš" ; msgen = "vášho" ; msdat = "vášmu" ;
|
|
||||||
msins = "vaším" ;
|
|
||||||
ampnom = "vaši" ;
|
|
||||||
nsnom, fpnom = "vaše" ;
|
|
||||||
pgen = "vašich" ;
|
|
||||||
pdat = "vašim" ;
|
|
||||||
pins = "vašimi" ;
|
|
||||||
} ;
|
|
||||||
|
|
||||||
Ag (Masc _ | Neutr) Sg P3 => invarDemPronForms "jeho" ** {pdat = "jeho"} ;
|
|
||||||
Ag Fem Sg P3 => invarDemPronForms "jej" ** {pdat = "jej"} ;
|
|
||||||
Ag _ Pl P3 => invarDemPronForms "ich" ** {pdat = "ich"}
|
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
{-
|
||||||
reflPossessivePron : DemPronForms = otcovA "svoj" ** {
|
reflPossessivePron : DemPronForms = otcovA "svoj" ** {
|
||||||
msnom = "svoj" ; msgen = "svojho" ; msdat = "svojmu" ;
|
msnom = "svoj" ; msgen = "svojho" ; msdat = "svojmu" ;
|
||||||
msins = "svojím" ;
|
msins = "svojím" ;
|
||||||
@@ -660,10 +616,12 @@ adjFormsAdjective : AdjForms -> Adjective = \afs -> {
|
|||||||
pdat = "svojim" ;
|
pdat = "svojim" ;
|
||||||
pins = "svojimi" ;
|
pins = "svojimi" ;
|
||||||
} ;
|
} ;
|
||||||
|
-}
|
||||||
|
|
||||||
mkPron : Agr -> PronForms ** {poss : DemPronForms} = \a ->
|
mkPron : Agr -> PronForms ** {poss : AdjForms} = \a ->
|
||||||
personalPron a ** {poss = possessivePron a} ;
|
personalPron a ** {poss = possessivePron a} ;
|
||||||
|
|
||||||
|
{-
|
||||||
--------------------------------
|
--------------------------------
|
||||||
-- demonstrative pronouns, used for Quant and Det
|
-- demonstrative pronouns, used for Quant and Det
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,6 @@ cc -table -unqual adjFormsAdjective (velikA "mastan")
|
|||||||
cc -table -unqual adjFormsAdjective (velikA "gladan")
|
cc -table -unqual adjFormsAdjective (velikA "gladan")
|
||||||
cc -table -unqual adjFormsAdjective (velikA "nizak")
|
cc -table -unqual adjFormsAdjective (velikA "nizak")
|
||||||
|
|
||||||
cc -table -unqual aeiVerbForms ("čitati")
|
cc -table -unqual aeiVerbForms "čitati" "čitam" "čitao"
|
||||||
cc -table -unqual aeiVerbForms ("raditi")
|
cc -table -unqual aeiVerbForms "raditi" "radem" "radio"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user