(Kor) Add pronouns

This commit is contained in:
Inari Listenmaa
2020-04-03 11:13:26 +02:00
parent f75b9b1c31
commit 4e701884db
2 changed files with 25 additions and 31 deletions

View File

@@ -13,9 +13,12 @@ oper
origin = NK
} ;
Noun : Type = {
BaseNoun : Type = {
s : NForm => Str ;
p : Phono ;
} ;
Noun : Type = BaseNoun ** {
c : Counter ;
} ;
Noun2 : Type = Noun ; -- TODO eventually more parameters?
@@ -25,8 +28,6 @@ oper
rs : Str ; -- Relative clause comes before determiner
} ;
PNoun : Type = Noun ;
mkNoun : Str -> Noun = \str -> {
s = \\cas => str + allomorph cas str ;
p = if_then_else Phono (vowFinal str) Vowel Consonant ;
@@ -40,34 +41,25 @@ oper
---------------------------------------------
-- NP
-- BaseNP : Type = {
-- a : Agreement ;
-- isPron : Bool ;
-- empty : Str ; -- standard trick for pro-drop
-- } ;
--
-- emptyNP : NounPhrase = {
-- s = \\_ => [] ;
-- a = Sg3 Masc ;
-- isPron = False ;
-- empty = [] ;
-- } ;
--
-- indeclNP : Str -> NounPhrase = \s -> emptyNP ** {s = \\c => s} ;
--NounPhrase : Type = BaseNP ** {s : NForm => Str} ;
NounPhrase = Noun ;
NounPhrase = BaseNoun ** {
-- empty : Str ; -- standard trick for pro-drop
} ;
--------------------------------------------------------------------------------
-- Pronouns
Pronoun : Type = NounPhrase ** {
-- poss : { -- for PossPron : Pron -> Quant
-- } ;
sp : NForm => Str ;
Pronoun : Type = BaseNoun ** {
poss : Quant ;
} ;
mkPron = overload {
mkPron : (stem,poss : Str) -> Pronoun = \s,poss -> mkNoun s ** {
poss = mkQuant poss (poss ++ "것") ;
} ;
mkPron : (stem : Str) -> Pronoun = \s -> mkNoun s ** {
poss = mkQuant (s + "의") (s + "의" ++ "것") ;
}
} ;
--------------------------------------------------------------------------------
-- Det, Quant, Card, Ord

View File

@@ -129,13 +129,15 @@ lin to_Prep = mkPrep "에";
-- Pronouns are closed class, no constructor in ParadigmsKor.
-- it_Pron =
-- i_Pron =
-- youPol_Pron,
-- youSg_Pron =
-- he_Pron =
-- she_Pron =
i_Pron = let iReg : Pronoun = mkPron "저" "제" in
iReg ** {s = table {Subj => "제가"; nf => iReg.s ! nf}
} ;
youPol_Pron = mkPron "당신" ;
youSg_Pron = mkPron "너" ; -- NB. this is very informal, best not used
he_Pron = mkPron "그" ;
she_Pron = mkPron "그녀" ;
-- we_Pron =
-- youPl_Pron =
youPl_Pron = mkPron "너희" ;
-- they_Pron =
--lin whatPl_IP = ;