mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
added Noun.ApposCN
This commit is contained in:
@@ -118,4 +118,10 @@ abstract Noun = Cat ** {
|
||||
|
||||
SentCN : CN -> SC -> CN ; -- fact that John smokes, question if he does
|
||||
|
||||
--2 Apposition
|
||||
|
||||
-- This is certainly overgenerating.
|
||||
|
||||
ApposCN : CN -> NP -> CN ; -- number x, numbers x and y
|
||||
|
||||
} ;
|
||||
|
||||
@@ -68,4 +68,6 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in {
|
||||
|
||||
SentCN cn sc = {s = \\n,c => cn.s ! n ! c ++ sc.s} ;
|
||||
|
||||
ApposCN cn np = {s = \\n,c => cn.s ! n ! Nom ++ np.s ! c} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -146,6 +146,8 @@ concrete NounFin of Noun = CatFin ** open ResFin, Prelude in {
|
||||
|
||||
SentCN cn sc = {s = \\nf=> cn.s ! nf ++ sc.s} ;
|
||||
|
||||
ApposCN cn np = {s = \\nf=> cn.s ! nf ++ np.s ! NPCase Nom} ; --- luvun x
|
||||
|
||||
oper
|
||||
numN : NForm -> Number = \nf -> case nf of {
|
||||
NCase n _ => n ;
|
||||
|
||||
@@ -129,4 +129,10 @@ concrete NounGer of Noun = CatGer ** open ResGer, Prelude in {
|
||||
g = cn.g
|
||||
} ;
|
||||
|
||||
ApposCN cn np = let g = cn.g in {
|
||||
s = \\a,n,c => cn.s ! a ! n ! c ++ np.s ! c ;
|
||||
g = g ;
|
||||
isMod = cn.isMod
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -102,4 +102,9 @@ incomplete concrete NounRomance of Noun =
|
||||
g = g
|
||||
} ;
|
||||
|
||||
ApposCN cn np = let g = cn.g in {
|
||||
s = \\n => cn.s ! n ++ np.s ! Ton Nom ;
|
||||
g = g
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -116,15 +116,20 @@ incomplete concrete NounScand of Noun =
|
||||
g = g ;
|
||||
isMod = cn.isMod
|
||||
} ;
|
||||
SentCN cn sc = let g = cn.g in {
|
||||
s = \\n,d,c => cn.s ! n ! d ! c ++ sc.s ;
|
||||
g = g ;
|
||||
isMod = cn.isMod
|
||||
} ;
|
||||
AdvCN cn sc = let g = cn.g in {
|
||||
s = \\n,d,c => cn.s ! n ! d ! c ++ sc.s ;
|
||||
g = g ;
|
||||
isMod = cn.isMod
|
||||
} ;
|
||||
SentCN cn sc = let g = cn.g in {
|
||||
s = \\n,d,c => cn.s ! n ! d ! c ++ sc.s ;
|
||||
g = g ;
|
||||
isMod = cn.isMod
|
||||
} ;
|
||||
ApposCN cn np = let g = cn.g in {
|
||||
s = \\n,d,c => cn.s ! n ! d ! Nom ++ np.s ! NPNom ; --c
|
||||
g = g ;
|
||||
isMod = cn.isMod
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user