forked from GitHub/gf-core
remove the genitive case. Instead the pronouns have a separate gen field
This commit is contained in:
@@ -38,7 +38,8 @@ concrete CatBul of Cat = CommonX ** open ResBul, Prelude in {
|
|||||||
-- Noun
|
-- Noun
|
||||||
|
|
||||||
CN = {s : NForm => Str; g : DGender} ;
|
CN = {s : NForm => Str; g : DGender} ;
|
||||||
NP, Pron = {s : Case => Str ; a : Agr} ;
|
NP = {s : Case => Str; a : Agr} ;
|
||||||
|
Pron = {s : Case => Str; gen : AForm => Str; a : Agr} ;
|
||||||
Det = {s : DGender => Case => Str ; n : Number; countable : Bool; spec : Species} ;
|
Det = {s : DGender => Case => Str ; n : Number; countable : Bool; spec : Species} ;
|
||||||
Predet, Ord = {s : AForm => Str; nonEmpty : Bool} ;
|
Predet, Ord = {s : AForm => Str; nonEmpty : Bool} ;
|
||||||
Num = {s : DGenderSpecies => Str; n : Number; nonEmpty : Bool} ;
|
Num = {s : DGenderSpecies => Str; n : Number; nonEmpty : Bool} ;
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
|||||||
in det.s ! cn.g ! c ++ cn.s ! nf ;
|
in det.s ! cn.g ! c ++ cn.s ! nf ;
|
||||||
a = {gn = gennum cn.g det.n; p = P3} ;
|
a = {gn = gennum cn.g det.n; p = P3} ;
|
||||||
} ;
|
} ;
|
||||||
UsePron p = p ;
|
UsePron p = {s = p.s; a=p.a} ;
|
||||||
|
|
||||||
DetSg quant ord = {
|
DetSg quant ord = {
|
||||||
s = \\g,c => quant.s ! gennum g Sg ++
|
s = \\g,c => quant.s ! gennum g Sg ++
|
||||||
@@ -38,7 +38,7 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
PossPron p = {
|
PossPron p = {
|
||||||
s = \\gn => p.s ! Gen (aform gn Def Nom) ;
|
s = \\gn => p.gen ! aform gn Indef Nom ;
|
||||||
spec = Indef
|
spec = Indef
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ resource ResBul = ParamX ** open Prelude in {
|
|||||||
-- This is the worst-case $Case$ needed for pronouns.
|
-- This is the worst-case $Case$ needed for pronouns.
|
||||||
|
|
||||||
param
|
param
|
||||||
Case = Nom | Acc | Gen AForm ;
|
Case = Nom | Acc ;
|
||||||
|
|
||||||
NForm =
|
NForm =
|
||||||
NF Number Species
|
NF Number Species
|
||||||
@@ -426,13 +426,13 @@ resource ResBul = ParamX ** open Prelude in {
|
|||||||
gn = gn
|
gn = gn
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkNP : (az,men,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite : Str) -> GenNum -> Person -> {s : Case => Str ; a : Agr} =
|
mkNP : (az,men,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite : Str) -> GenNum -> Person -> {s : Case => Str; gen : AForm => Str; a : Agr} =
|
||||||
\az,men,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite,gn,p -> {
|
\az,men,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite,gn,p -> {
|
||||||
s = table {
|
s = table {
|
||||||
Nom => az ;
|
Nom => az ;
|
||||||
Acc => men ;
|
Acc => men
|
||||||
Gen aform => (mkAdjective moj moia moiat moia_ moiata moe moeto moi moite).s ! aform
|
|
||||||
} ;
|
} ;
|
||||||
|
gen = (mkAdjective moj moia moiat moia_ moiata moe moeto moi moite).s ;
|
||||||
a = {
|
a = {
|
||||||
gn = gn ;
|
gn = gn ;
|
||||||
p = p
|
p = p
|
||||||
|
|||||||
Reference in New Issue
Block a user