(Pes) Full possessive pronoun for compound nouns

This commit is contained in:
Inari Listenmaa
2019-03-13 11:50:29 +01:00
parent a732975330
commit 6e15bce268
5 changed files with 67 additions and 33 deletions
+32 -16
View File
@@ -31,6 +31,7 @@ param
Animacy = Animate | Inanimate ;
Mod = Bare | Ezafe | Clitic | Poss ;
Agr = Ag Number Person ;
CmpdStatus = IsCmpd | NotCmpd ;
------------------------------------------
-- Agreement transformations
@@ -90,9 +91,14 @@ oper
_ => str + "ی" -- any other case: just a single ی
} ;
Noun = {s : Number => Mod => Str ; animacy : Animacy} ;
mkN : (x1,x2 : Str) -> Animacy -> Noun = \sg,pl,ani -> {
s = table {
Noun = {
s : Number => Mod => Str ;
animacy : Animacy ;
isCmpd : CmpdStatus -- Affects possession: awkward to use poss. suff. with compound nouns
} ;
mkN : (x1,x2 : Str) -> Animacy -> Noun = \sg,pl,ani -> {
s = table {
Sg => table {Bare => sg ;
Ezafe => mkEzafe sg ;
Clitic => mkEnclic sg ;
@@ -102,7 +108,7 @@ oper
Clitic => mkEnclic pl ;
Poss => mkPossStem pl }
} ;
animacy = ani
animacy = ani ; isCmpd = NotCmpd
} ;
-- masculine nouns end with alif, choTi_hay, ain Translitration: (a, h, e)
@@ -111,20 +117,30 @@ oper
---------------------
--Determiners
--------------------
Determiner : Type = {s : Str ; n :Number ; isNum : Bool ; mod : Mod} ;
BaseQuant : Type = {
mod : Mod } ;
makeDet : Str -> Number -> Bool -> Determiner = \str,n,b -> {
s = str;
isNum = b;
mod = Bare ;
n = n
};
Determiner : Type = BaseQuant ** {
s : Str ;
sp : Str ; -- stand-alone form for DetNP and possessive pronouns with compound nouns
n : Number ;
isNum : Bool
} ;
makeQuant : Str -> Str -> {s : Number => Str ; a : Agr; mod : Mod } = \sg,pl -> {
s = table {Sg => sg ; Pl => pl} ;
mod = Bare ;
a = agrP3 Sg
};
Quant : Type = BaseQuant ** {
s : Number => CmpdStatus => Str} ;
makeDet : Str -> Number -> Bool -> Determiner = \str,n,b -> {
s,sp = str;
isNum = b;
mod = Bare ;
n = n
};
makeQuant : Str -> Str -> Quant = \sg,pl -> {
s = table {Sg => \\_ => sg ; Pl => \\_ => pl} ;
mod = Bare ;
};
---------------------------
-- Adjectives
--------------------------