1
0
forked from GitHub/gf-rgl

Merge branch 'master' of www.grammaticalframework.org:/usr/local/www/GF

This commit is contained in:
Krasimir Angelov
2017-08-21 13:06:50 +02:00
4 changed files with 90 additions and 21 deletions

View File

@@ -166,9 +166,25 @@ abstract Extend = Cat ** {
-- very language-specific things -- very language-specific things
--Eng -- Eng
UncontractedNeg : Pol ; -- do not, etc, as opposed to don't UncontractedNeg : Pol ; -- do not, etc, as opposed to don't
UttVPShort : VP -> Utt ; -- have fun, as opposed to "to have fun" UttVPShort : VP -> Utt ; -- have fun, as opposed to "to have fun"
ComplSlashPartLast : VPSlash -> NP -> VP ; ComplSlashPartLast : VPSlash -> NP -> VP ;
-- Romance
DetNPFem : Det -> NP ;
iFem_Pron : Pron ; -- je (suis vieille)
youFem_Pron : Pron ; -- tu (es vieille)
weFem_Pron : Pron ; -- nous (sommes vieilles)
youPlFem_Pron : Pron ; -- vous (êtes vieilles)
theyFem_Pron : Pron ; -- elles (sont vieilles)
youPolFem_Pron : Pron ; -- vous (êtes vieille)
-- German
UttAccNP : NP -> Utt ; -- mich
UttDatNP : NP -> Utt ; -- mir
UttAccIP : NP -> Utt ; -- wen
UttDatIP : NP -> Utt ; -- wem
} }

View File

@@ -76,4 +76,18 @@ lin
CompQS = variants {} ; -- QS -> Comp ; -- (the question is) who sleeps CompQS = variants {} ; -- QS -> Comp ; -- (the question is) who sleeps
CompVP = variants {} ; -- Ant -> Pol -> VP -> Comp ; -- (she is) to go CompVP = variants {} ; -- Ant -> Pol -> VP -> Comp ; -- (she is) to go
DetNPFem = DetNP ;
iFem_Pron = i_Pron ;
youFem_Pron = youSg_Pron ;
weFem_Pron = we_Pron ;
youPlFem_Pron = youPl_Pron ;
theyFem_Pron = they_Pron ;
youPolFem_Pron = youPol_Pron ;
UttAccNP = UttNP ;
UttDatNP = UttNP ;
UttAccIP = UttIP ;
UttDatIP = UttIP ;
} }

View File

@@ -543,6 +543,26 @@ caseTable : Number -> CommonNoun -> Case => Str = \n,cn ->
_ => x _ => x
} ; } ;
shortPronoun : (_,_,_,_ : Str) -> Number -> Person ->
{s : NPForm => Str ; a : Agr} =
\ma, mu, mind, minu, n, p ->
let shortMa = mkPronoun ma mu mind n p ;
mulle : Str = case mu of {
"mu" => "mulle" ;
"su" => "sulle" ;
_ => shortMa.s ! NPCase Allat
} ;
in shortMa ** { s = table {
NPCase Allat => mulle ;
NPCase Transl => minu + "ks" ;
NPCase Ess => minu + "na" ;
NPCase Abess => minu + "ta" ;
NPCase Comit => minu + "ga" ;
NPCase Termin => minu + "ni" ;
x => shortMa.s ! x } } ;
-- TODO: this does not seem to be called from anyway -- TODO: this does not seem to be called from anyway
mkDemPronoun : (_,_,_,_,_ : Str) -> Number -> mkDemPronoun : (_,_,_,_,_ : Str) -> Number ->
{s : NPForm => Str ; a : Agr} = {s : NPForm => Str ; a : Agr} =

View File

@@ -4,10 +4,29 @@ concrete DictionaryEst of Dictionary = CatEst ** open ParadigmsEst,
(S = StructuralEst), (S = StructuralEst),
(L = LexiconEst), (L = LexiconEst),
(R = ResEst), (R = ResEst),
MorphoEst, SyntaxEst, (E = ExtraEst), Prelude in { (M = MorphoEst), SyntaxEst, (E = ExtraEst), Prelude in {
flags coding=utf8 ; flags coding=utf8 ;
oper
-- Short forms of pronouns. No gender difference in any of them.
sgP1Pron = S.i_Pron | lin Pron (M.shortPronoun "ma" "mu" "mind" "minu" R.Sg R.P1) ;
sgP2Pron = S.youSg_Pron | lin Pron (M.shortPronoun "sa" "su" "sind" "sinu" R.Sg R.P2) ;
sgP3Pron = S.he_Pron | lin Pron (M.shortPronoun "ta" "ta" "teda" "tema" R.Sg R.P3) ;
plP1Pron = S.we_Pron | lin Pron (M.shortPronoun "me" "meie" "meid" "meie" R.Pl R.P1) ;
plP2Pron = S.youPl_Pron | lin Pron (M.shortPronoun "te" "teie" "teid" "teie" R.Pl R.P2) ;
plP3Pron = S.they_Pron | lin Pron nad_Pron
where {
shortNad =M.shortPronoun "nad"
"neie" -- only to use the "nei" stem in the cases based on genitive!
"neid" "nende"
R.Pl R.P3 ;
nad_Pron = shortNad **
{ s = table {
R.NPCase R.Gen => "nende" ; -- use "nende" in the actual genitive!
x => shortNad.s ! x } }
} ;
-- TODO: check -- TODO: check
lin a_priori_A = D.aprioorne_A ; lin a_priori_A = D.aprioorne_A ;
@@ -4265,7 +4284,7 @@ lin builder_N = D.ehitaja_N ;
lin building_N = D.ehitis_N ; lin building_N = D.ehitis_N ;
lin buildup_N = D.kogumine_N ; lin buildup_N = D.kogumine_N ;
lin bulb_N = D.elektripirn_N ; lin bulb_N = D.elektripirn_N ;
lin bulgarian_A = mkA (mkN "bulgaaria") Invariable ; lin bulgarian_A = invA "bulgaaria" ;
lin bulge_N = mkN "kummuma" ; lin bulge_N = mkN "kummuma" ;
lin bulge_V = D.kummuma_V ; lin bulge_V = D.kummuma_V ;
lin bulge_V2 = mkV2 "kummuma" ; lin bulge_V2 = mkV2 "kummuma" ;
@@ -5055,7 +5074,7 @@ lin cataclysmic_A = mkA "kataklüsmiline" ;
lin catacomb_N = D.katakomb_N ; lin catacomb_N = D.katakomb_N ;
lin catadromous_A = mkA "katadroomne" ; lin catadromous_A = mkA "katadroomne" ;
lin catafalque_N = D.katafalk_N ; lin catafalque_N = D.katafalk_N ;
lin catalan_A = mkA (mkN "katalaani") Invariable ; lin catalan_A = invA "katalaani" ;
lin catalase_N = mkN "katalaas" ; lin catalase_N = mkN "katalaas" ;
lin catalectic_A = mkA "katalektiline" ; lin catalectic_A = mkA "katalektiline" ;
lin catalectic_N = mkN "katalektiline" ; lin catalectic_N = mkN "katalektiline" ;
@@ -12363,7 +12382,7 @@ lin finisher_N = D.viimistleja_N ;
lin finite_A = D.finiitne_A ; lin finite_A = D.finiitne_A ;
lin finiteness_N = D.'lõplikkus_N' ; lin finiteness_N = D.'lõplikkus_N' ;
lin fink_N = D.vasikas_N ; lin fink_N = D.vasikas_N ;
lin finnish_A = mkA "soome" ; lin finnish_A = invA "soome" ;
lin fiord_N = D.fjord_N ; lin fiord_N = D.fjord_N ;
lin fir_N = D.kuusk_N ; lin fir_N = D.kuusk_N ;
lin fir_cone_N = mkN "kuusekäbi" ; lin fir_cone_N = mkN "kuusekäbi" ;
@@ -15089,7 +15108,7 @@ lin hazelnut_N = D.'pähkel_N' ;
lin haziness_N = mkN "hägusus" ; lin haziness_N = mkN "hägusus" ;
lin hazy_A = D.'ähmane_A' ; lin hazy_A = D.'ähmane_A' ;
lin he_N = mkN "ta" ; lin he_N = mkN "ta" ;
lin he_Pron = S.he_Pron ; lin he_Pron = sgP3Pron ;
lin head_A = mkA "juht" ; lin head_A = mkA "juht" ;
lin head_N = L.head_N ; lin head_N = L.head_N ;
lin head_V = mkV "juhtima" ; lin head_V = mkV "juhtima" ;
@@ -16143,8 +16162,8 @@ lin hysteric_A = mkA "hüsteerik" ;
lin hysteric_N = D.'hüsteerik_N' ; lin hysteric_N = D.'hüsteerik_N' ;
lin hysterical_A = D.'hüsteeriline_A' ; lin hysterical_A = D.'hüsteeriline_A' ;
lin hysterics_N = D.'hüsteeriahoog_N' ; lin hysterics_N = D.'hüsteeriahoog_N' ;
lin iFem_Pron = S.i_Pron ; ---- to check lin iFem_Pron = sgP1Pron ;
lin i_Pron = S.i_Pron ; lin i_Pron = sgP1Pron ;
lin iamb_N = D.jamb_N ; lin iamb_N = D.jamb_N ;
lin iambic_A = mkA "jambiline" ; lin iambic_A = mkA "jambiline" ;
lin iambic_N = mkN "jambiline" ; lin iambic_N = mkN "jambiline" ;
@@ -19272,7 +19291,7 @@ lin maxim_N = D.maksiim_N ;
lin maximal_A = D.maksimaalne_A ; lin maximal_A = D.maksimaalne_A ;
lin maximum_A = mkA "maksimum" ; lin maximum_A = mkA "maksimum" ;
lin maximum_N = D.maksimum_N ; lin maximum_N = D.maksimum_N ;
lin maybe_Adv = ParadigmsEst.mkAdv "ehk" ; lin maybe_Adv = ParadigmsEst.mkAdv "võib-olla" | ParadigmsEst.mkAdv "ehk" ;
lin mayday_N = mkN "hädasignaal" ; lin mayday_N = mkN "hädasignaal" ;
lin mayfly_N = D.'ühepäevaliblikas_N' ; lin mayfly_N = D.'ühepäevaliblikas_N' ;
lin mayonnaise_N = D.majonees_N ; lin mayonnaise_N = D.majonees_N ;
@@ -26381,7 +26400,7 @@ lin shatterproof_A = mkA "purunemiskindel" ;
lin shaver_N = D.pardel_N ; lin shaver_N = D.pardel_N ;
lin shaving_brush_N = D.vahupintsel_N ; lin shaving_brush_N = D.vahupintsel_N ;
lin shawl_N = D.'rätik_N' ; lin shawl_N = D.'rätik_N' ;
lin she_Pron = S.she_Pron ; lin she_Pron = sgP3Pron ;
lin sheaf_N = D.vihk_N ; lin sheaf_N = D.vihk_N ;
lin shear_N = mkN "lõikama" ; lin shear_N = mkN "lõikama" ;
lin shear_V2 = D.'lõikama_V2' ; lin shear_V2 = D.'lõikama_V2' ;
@@ -28649,7 +28668,7 @@ lin sweat_V2 = mkV2 "higistama" ;
lin sweater_N = D.sviiter_N ; lin sweater_N = D.sviiter_N ;
lin sweatshirt_N = mkN "dressipluus" ; lin sweatshirt_N = mkN "dressipluus" ;
lin sweaty_A = mkA "higistamapanev" ; lin sweaty_A = mkA "higistamapanev" ;
lin swedish_A = mkA "rootsi" ; lin swedish_A = invA "rootsi" ;
lin sweep_N = D.piirjoon_N ; lin sweep_N = D.piirjoon_N ;
lin sweep_V = mkV "pühkima" ; lin sweep_V = mkV "pühkima" ;
lin sweep_V2 = D.'pühkima_V2' ; lin sweep_V2 = D.'pühkima_V2' ;
@@ -29380,8 +29399,8 @@ lin thermostatic_A = mkA "termostaatiline" ;
lin thesaurus_N = D.tesaurus_N ; lin thesaurus_N = D.tesaurus_N ;
lin thesis_N = D.teema_N ; lin thesis_N = D.teema_N ;
lin theta_N = mkN "teeta" ; lin theta_N = mkN "teeta" ;
lin theyFem_Pron = S.they_Pron ; ---- to check lin theyFem_Pron = plP3Pron ;
lin they_Pron = S.they_Pron ; lin they_Pron = plP3Pron ;
lin thick_A = L.thick_A ; lin thick_A = L.thick_A ;
lin thick_Adv = ParadigmsEst.mkAdv "paks" ; lin thick_Adv = ParadigmsEst.mkAdv "paks" ;
lin thick_N = mkN "paks" ; lin thick_N = mkN "paks" ;
@@ -31804,8 +31823,8 @@ lin waxwing_N = D.siidisaba_N ;
lin way_Adv = ParadigmsEst.mkAdv "liigagi" ; lin way_Adv = ParadigmsEst.mkAdv "liigagi" ;
lin way_N = mkN "liigagi" ; lin way_N = mkN "liigagi" ;
lin wayward_A = D.'tõrges_A' ; lin wayward_A = D.'tõrges_A' ;
lin weFem_Pron = S.we_Pron ; ---- to check lin weFem_Pron = plP1Pron ;
lin we_Pron = S.we_Pron ; lin we_Pron = plP1Pron ;
lin weak_A = D.'nõrk_A' ; lin weak_A = D.'nõrk_A' ;
lin weaken_V = mkV "nõrgendama" ; lin weaken_V = mkV "nõrgendama" ;
lin weaken_V2 = mkV2 "nõrgendama" ; lin weaken_V2 = mkV2 "nõrgendama" ;
@@ -32414,12 +32433,12 @@ lin yoke_V2 = mkV2 "ikestama" ;
lin yokel_N = mkN "maakas" ; lin yokel_N = mkN "maakas" ;
lin yolk_N = D.munakollane_N ; lin yolk_N = D.munakollane_N ;
lin yonder_A = mkA "seal" ; lin yonder_A = mkA "seal" ;
lin youPlFem_Pron = S.youPl_Pron ; ---- to check lin youPlFem_Pron = plP2Pron ;
lin youPl_Pron = S.youPl_Pron ; lin youPl_Pron = plP2Pron ;
lin youPolFem_Pron = S.youPol_Pron ; ---- to check lin youPolFem_Pron = plP2Pron ;
lin youPol_Pron = S.youPol_Pron ; lin youPol_Pron = plP2Pron ;
lin youSgFem_Pron = S.youSg_Pron ; ---- to check lin youSgFem_Pron = sgP2Pron ;
lin youSg_Pron = S.youSg_Pron ; lin youSg_Pron = sgP2Pron ;
lin young_A = L.young_A ; lin young_A = L.young_A ;
lin young_N = D.noor_N ; lin young_N = D.noor_N ;
lin younger_A = D.noorem_A ; lin younger_A = D.noorem_A ;