(Hun) Add number as a parameter to APs complement

This commit is contained in:
Inari Listenmaa
2020-04-26 14:15:31 +02:00
parent d7e10e843b
commit b723ae1a75
6 changed files with 16 additions and 16 deletions

View File

@@ -13,13 +13,13 @@ concrete AdjectiveHun of Adjective = CatHun ** open ResHun, Prelude in {
-- : A -> NP -> AP ;
ComparA a np = UseComparA a ** {
compar = applyAdp (caseAdp Ade) np ;
-- compar = applyAdp (prepos Nom "mint") np ;
compl = \\n => applyAdp (caseAdp Ade) np ;
-- compl = applyAdp (prepos Nom "mint") np ;
} ;
-- : A2 -> NP -> AP ; -- married to her
ComplA2 a2 np = PositA a2 ** {
compar = applyAdp a2.c2 np ;
compl = \\n => applyAdp a2.c2 np ;
} ;
-- : A2 -> AP ; -- married to itself
@@ -38,7 +38,7 @@ concrete AdjectiveHun of Adjective = CatHun ** open ResHun, Prelude in {
-- : CAdv -> AP -> NP -> AP ; -- as cool as John
CAdvAP adv ap np = ap ** {
s = \\n,c => adv.s ++ ap.s ! n ! c ;
compar = ap.compar ++ adv.p ++ applyAdp (caseAdp Nom) np ;
compl = \\n => ap.compl ! n ++ adv.p ++ applyAdp (caseAdp Nom) np ;
} ;
-- The superlative use is covered in $Ord$.

View File

@@ -25,13 +25,13 @@ lincat
lin
BaseAP x y =
-- Don't try to have discontinuous comparative forms
let xCont : AP = x ** {s = \\n,c => x.s ! n ! c ++ x.compar} ;
yCont : AP = y ** {s = \\n,c => y.s ! n ! c ++ y.compar} ;
let xCont : AP = x ** {s = \\n,c => x.s ! n ! c ++ x.compl ! n} ;
yCont : AP = y ** {s = \\n,c => y.s ! n ! c ++ y.compl ! n} ;
in twoTable2 Number Case xCont yCont ;
ConsAP a as =
let aCont : AP = a ** {s = \\n,c => a.s ! n ! c ++ a.compar} ;
let aCont : AP = a ** {s = \\n,c => a.s ! n ! c ++ a.compl ! n} ;
in consrTable2 Number Case comma aCont as ;
ConjAP co as = conjunctDistrTable2 Number Case co as ** {compar = []} ;
ConjAP co as = conjunctDistrTable2 Number Case co as ** {compl = \\_ => []} ;
-- Noun phrases
lincat

View File

@@ -204,7 +204,7 @@ concrete NounHun of Noun = CatHun ** open
-- : AP -> CN -> CN
AdjCN ap cn = cn ** {
s = \\nc => ap.s ! Sg ! Nom ++ cn.s ! nc ;
compl = \\n,c => ap.compar ++ cn.compl ! n ! c ;
compl = \\n,c => ap.compl ! n ++ cn.compl ! n ! c ;
} ;
-- : CN -> RS -> CN ;

View File

@@ -17,7 +17,7 @@ concrete PhraseHun of Phrase = CatHun ** open Prelude, ResHun in {
UttAdv adv = adv ;
UttCN cn = {s = linCN cn} ;
UttCard n = {s = n.s ! Indep} ;
UttAP ap = {s = ap.s ! Sg ! Nom ++ ap.compar} ;
UttAP ap = {s = ap.s ! Sg ! Nom ++ ap.compl ! Sg} ;
UttInterj i = i ;
NoPConj = {s = []} ;

View File

@@ -306,12 +306,13 @@ oper
AdjPhrase : Type = {
s : Number => Case => Str ;
compar : Str -- Discontinuous: Én *nagyobb* vagyok *nálad*.
compl : Number => Str -- Discontinuous comparative: Én nagyobb vagyok nálad.
-- This depends on Number to allow postmodifier APs.
} ;
emptyAP : AdjPhrase = {
s = \\_,_ => [] ;
compar = [] ;
compl = \\_ => [] ;
} ;
Adjective : Type = {

View File

@@ -110,10 +110,9 @@ lin
-- : AP -> Comp ;
CompAP ap = UseCopula ** {
s = \\vf => case vf of {
VPres P3 n => ap.s ! n ! Nom ;
VPres _ n => ap.s ! n ! Nom ++ copula.s ! vf ;
_ => ap.s ! Sg ! Nom ++ copula.s ! vf}
++ ap.compar ;
VPres P3 n => ap.s ! n ! Nom ++ ap.compl ! n ;
VPres _ n => ap.s ! n ! Nom ++ copula.s ! vf ++ ap.compl ! n ;
_ => ap.s ! Sg ! Nom ++ copula.s ! vf ++ ap.compl ! Sg } ;
} ;
-- : CN -> Comp ;