(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 origin = NK
} ; } ;
Noun : Type = { BaseNoun : Type = {
s : NForm => Str ; s : NForm => Str ;
p : Phono ; p : Phono ;
} ;
Noun : Type = BaseNoun ** {
c : Counter ; c : Counter ;
} ; } ;
Noun2 : Type = Noun ; -- TODO eventually more parameters? Noun2 : Type = Noun ; -- TODO eventually more parameters?
@@ -25,8 +28,6 @@ oper
rs : Str ; -- Relative clause comes before determiner rs : Str ; -- Relative clause comes before determiner
} ; } ;
PNoun : Type = Noun ;
mkNoun : Str -> Noun = \str -> { mkNoun : Str -> Noun = \str -> {
s = \\cas => str + allomorph cas str ; s = \\cas => str + allomorph cas str ;
p = if_then_else Phono (vowFinal str) Vowel Consonant ; p = if_then_else Phono (vowFinal str) Vowel Consonant ;
@@ -40,34 +41,25 @@ oper
--------------------------------------------- ---------------------------------------------
-- NP -- NP
-- BaseNP : Type = { NounPhrase = BaseNoun ** {
-- a : Agreement ;
-- isPron : Bool ;
-- empty : Str ; -- standard trick for pro-drop -- 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 ;
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
-- Pronouns -- Pronouns
Pronoun : Type = NounPhrase ** { Pronoun : Type = BaseNoun ** {
-- poss : { -- for PossPron : Pron -> Quant poss : Quant ;
-- } ;
sp : NForm => Str ;
} ; } ;
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 -- Det, Quant, Card, Ord

View File

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