mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 09:28:54 -06:00
(Hun) Add number as a parameter to APs complement
This commit is contained in:
@@ -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$.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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 = []} ;
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
Reference in New Issue
Block a user