mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 11:42:49 -06:00
simplified adjectival predication
This commit is contained in:
@@ -25,20 +25,42 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
||||
|
||||
SPredVS subj verb sent =
|
||||
sats2clause (
|
||||
insertExtrapos (mkSats subj verb) (embedConj ++ sent.s ! verb.mp)) ; ---- mn
|
||||
insertExtrapos (mkSats subj verb)
|
||||
(\\b => embedConj ++ sent.s ! subordMode verb b)) ; ---- mn
|
||||
SPredVQ subj verb quest =
|
||||
sats2clause (
|
||||
insertExtrapos (mkSats subj verb) (quest.s ! IndirQ)) ;
|
||||
insertExtrapos (mkSats subj verb) (\\_ => quest.s ! IndirQ)) ;
|
||||
SPredV2S subj verb obj sent =
|
||||
sats2clause (
|
||||
insertExtrapos
|
||||
(mkSatsObject subj verb obj)
|
||||
(embedConj ++ sent.s ! verb.mp)) ; ---- mn ;
|
||||
(\\b => embedConj ++ sent.s ! subordMode verb b)
|
||||
) ; ---- mn ;
|
||||
SPredV2Q subj verb obj quest =
|
||||
sats2clause (
|
||||
insertExtrapos
|
||||
(mkSatsObject subj verb obj)
|
||||
(quest.s ! IndirQ)) ;
|
||||
(\\_ => quest.s ! IndirQ)) ;
|
||||
SPredVA subj verb adj =
|
||||
sats2clause (
|
||||
insertExtrapos (mkSats subj verb) (\\_ => adj.s ! AF (pgen2gen subj.g) subj.n)) ;
|
||||
|
||||
SPredVV subj verb vp =
|
||||
sats2clause (
|
||||
insertExtrapos
|
||||
(mkSats subj verb)
|
||||
(\\_ => prepCase verb.c ++ vp.s ! VIInfinit ! pgen2gen subj.g ! subj.n ! subj.p)
|
||||
) ;
|
||||
|
||||
-- SPredObjV2V
|
||||
|
||||
-- SPredProgVP
|
||||
|
||||
-- SPredSubjV2V
|
||||
|
||||
-- SPredV2A
|
||||
|
||||
|
||||
SPredAP subj adj =
|
||||
sats2clause (mkSatsCopula subj (adj.s ! AF (pgen2gen subj.g) subj.n)) ;
|
||||
SPredCN subj cn =
|
||||
@@ -48,54 +70,6 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
||||
SPredAdv subj adv =
|
||||
sats2clause (mkSatsCopula subj adv.s) ;
|
||||
|
||||
{-
|
||||
|
||||
SPredVA np v x = predVerbClause np v (complAdjVerb v x) ;
|
||||
SPredV2A np v x y = predVerbClause np v (complDitransAdjVerb v x y) ;
|
||||
SPredSubjV2V np v x y = predVerbClause np v (complDitransVerbVerb False v x y) ;
|
||||
SPredObjV2V np v x y = predVerbClause np v (complDitransVerbVerb True v x y) ;
|
||||
-- SPredV2S np v x y = predVerbClause np v (complDitransSentVerb v x y) ;
|
||||
-- SPredV2Q np v x y = predVerbClause np v (complDitransQuestVerb v x y) ;
|
||||
SPredAP np v = predCopula np (complAdjective v) ;
|
||||
SPredSuperl np a = predCopula np (complAdjective (superlAdjPhrase a)) ;
|
||||
SPredCN np v = predCopula np (complCommNoun v) ;
|
||||
SPredNP np v = predCopula np (complNounPhrase v) ;
|
||||
SPredPP np v = predCopula np (complAdverb v) ;
|
||||
SPredAV np v x = predCopula np (complVerbAdj v x) ;
|
||||
|
||||
SPredObjA2V np v x y = predCopula np (complVerbAdj2 True v x y) ;
|
||||
|
||||
SPredProgVP = progressiveClause ;
|
||||
|
||||
QPredV np v = intVerbClause np v (complVerb v) ;
|
||||
QPredPassV np v = predCopulaQ np (passVerb v) ;
|
||||
QPredV2 np v x = intVerbClause np v (complTransVerb v x) ;
|
||||
-- QPredReflV2 np v = intVerbClause np v (reflTransVerb v) ;
|
||||
QPredVS np v x = intVerbClause np v (complSentVerb v x) ;
|
||||
QPredVV np v x = intVerbClause np (aux2verb v) (complVerbVerb v x) ;
|
||||
QPredVQ np v x = intVerbClause np v (complQuestVerb v x) ;
|
||||
QPredVA np v x = intVerbClause np v (complAdjVerb v x) ;
|
||||
QPredV2A np v x y = intVerbClause np v (complDitransAdjVerb v x y) ;
|
||||
QPredSubjV2V np v x y = intVerbClause np v (complDitransVerbVerb
|
||||
False v x y) ;
|
||||
QPredObjV2V np v x y = intVerbClause np v (complDitransVerbVerb
|
||||
True v x y) ;
|
||||
QPredV2S np v x y = intVerbClause np v (complDitransSentVerb v x y) ;
|
||||
QPredV2Q np v x y = intVerbClause np v (complDitransQuestVerb v x y) ;
|
||||
|
||||
QPredAP np v = predCopulaQ np (complAdjective v) ;
|
||||
QPredSuperl np a = predCopulaQ np (complAdjective (superlAdjPhrase a)) ;
|
||||
QPredCN np v = predCopulaQ np (complCommNoun v) ;
|
||||
QPredNP np v = predCopulaQ np (complNounPhrase v) ;
|
||||
QPredPP np v = predCopulaQ np (complAdverb v) ;
|
||||
QPredAV np v x = predCopulaQ np (complVerbAdj v x) ;
|
||||
QPredObjA2V np v x y = predCopulaQ np (complVerbAdj2 True v x y) ;
|
||||
|
||||
IPredV a v = predVerbI True a v (complVerb v) ;
|
||||
IPredV2 a v x = predVerbI True a v (complTransVerb v x) ;
|
||||
|
||||
IPredAP a v = predCopulaI True a (complAdjective v) ;
|
||||
-}
|
||||
{-
|
||||
-- Use VPs
|
||||
|
||||
@@ -113,72 +87,4 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
|
||||
|
||||
|
||||
|
||||
{-
|
||||
lin
|
||||
SPredV np v = predVerbGroupClause np (predVerb v) ;
|
||||
SPredPassV np v = predVerbGroupClause np (passVerb v) ;
|
||||
SPredV2 np v x = predVerbGroupClause np (complTransVerb v x) ;
|
||||
-- SPredReflV2 np v = predVerbGroupClause np (reflTransVerb v) ;
|
||||
SPredVS np v x = predVerbGroupClause np (complSentVerb v x) ;
|
||||
-- SPredVV np v x = predVerbGroupClause np (complVerbVerb v x) ;
|
||||
-- SPredVQ np v x = predVerbGroupClause np (complQuestVerb v x) ;
|
||||
-- SPredVA np v x = predVerbGroupClause np (complAdjVerb v x) ;
|
||||
-- SPredV2A np v x y = predVerbGroupClause np (complDitransAdjVerb v x y) ;
|
||||
-- SPredSubjV2V np v x y = predVerbGroupClause np (complDitransVerbVerb False v x y) ;
|
||||
-- SPredObjV2V np v x y = predVerbGroupClause np (complDitransVerbVerb True v x y) ;
|
||||
-- SPredV2S np v x y = predVerbGroupClause np (complDitransSentVerb v x y) ;
|
||||
-- SPredV2Q np v x y = predVerbGroupClause np (complDitransQuestVerb v x y) ;
|
||||
|
||||
SPredAP np v = predVerbGroupClause np (predAdjective v) ;
|
||||
SPredSuperl np a = predVerbGroupClause np (predAdjective (superlAdjPhrase a)) ;
|
||||
SPredCN np v = predVerbGroupClause np (predCommNoun v) ;
|
||||
SPredNP np v = predVerbGroupClause np (predNounPhrase v) ;
|
||||
SPredPP np v = predVerbGroupClause np (predAdverb v) ;
|
||||
-- SPredAV np v x = predVerbGroupClause np (complVerbAdj v x) ;
|
||||
-- SPredObjA2V np v x y = predVerbGroupClause np (complVerbAdj2 True v x y) ;
|
||||
-}
|
||||
-- SPredProgVP = progressiveClause ;
|
||||
|
||||
{-
|
||||
QPredV np v = intVerbPhrase np (predVerb v) ;
|
||||
QPredPassV np v = intVerbPhrase np (passVerb v) ;
|
||||
QPredV2 np v x = intVerbPhrase np (complTransVerb v x) ;
|
||||
-- QPredReflV2 np v = intVerbPhrase np (reflTransVerb v) ;
|
||||
QPredVS np v x = intVerbPhrase np (complSentVerb v x) ;
|
||||
QPredVV np v x = intVerbPhrase np (complVerbVerb v x) ;
|
||||
-- QPredVQ np v x = intVerbPhrase np (complQuestVerb v x) ;
|
||||
-- QPredVA np v x = intVerbPhrase np (complAdjVerb v x) ;
|
||||
-- QPredV2A np v x y = intVerbPhrase np (complDitransAdjVerb v x y) ;
|
||||
-- QPredSubjV2V np v x y = intVerbPhrase np (complDitransVerbVerb False v x y) ;
|
||||
-- QPredObjV2V np v x y = intVerbPhrase np (complDitransVerbVerb True v x y) ;
|
||||
-- QPredV2S np v x y = intVerbPhrase np (complDitransSentVerb v x y) ;
|
||||
-- QPredV2Q np v x y = intVerbPhrase np (complDitransQuestVerb v x y) ;
|
||||
|
||||
QPredAP np v = intVerbPhrase np (predAdjective v) ;
|
||||
QPredSuperl np a = intVerbPhrase np (predAdjective (superlAdjPhrase a)) ;
|
||||
QPredCN np v = intVerbPhrase np (predCommNoun v) ;
|
||||
QPredNP np v = intVerbPhrase np (predNounPhrase v) ;
|
||||
QPredPP np v = intVerbPhrase np (predAdverb v) ;
|
||||
-- QPredAV np v x = intVerbPhrase np (complVerbAdj v x) ;
|
||||
-- QPredObjA2V np v x y = intVerbPhrase np (complVerbAdj2 True v x y) ;
|
||||
-}
|
||||
-- IPredV a v = predVerbGroupI True a (predVerb v) ;
|
||||
-- IPredV2 a v x = predVerbGroupI True a (complTransVerb v x) ;
|
||||
-- IPredAP a v = predVerbGroupI True a (predAdjective v) ;
|
||||
|
||||
{-
|
||||
-- Use VPs
|
||||
|
||||
PredVP = predVerbGroupClause ;
|
||||
IntVP = intVerbPhrase ;
|
||||
RelVP = relVerbPhrase ;
|
||||
|
||||
|
||||
PosVP tp = predVerbGroup True tp.a ;
|
||||
NegVP tp = predVerbGroup False tp.a ;
|
||||
|
||||
AdvVP = adVerbPhrase ;
|
||||
SubjVP = subjunctVerbPhrase ;
|
||||
-}
|
||||
|
||||
}
|
||||
|
||||
@@ -40,10 +40,12 @@ lin
|
||||
|
||||
UseA = adj2adjPhrase ;
|
||||
ComplA2 = complAdj ;
|
||||
ComplAV v x = complVerbAdj v x ;
|
||||
ComplObjA2V v x y = complVerbAdj2 True v x y ;
|
||||
|
||||
PositADeg = positAdjPhrase ;
|
||||
PositADeg = positAdjPhrase ;
|
||||
ComparADeg = comparAdjPhrase ;
|
||||
SuperlNP = superlNounPhrase ;
|
||||
SuperlADeg = superlAdjPhrase ;
|
||||
|
||||
PredAS = predAdjSent ;
|
||||
PredV0 rain = predVerbClause (pronNounPhrase pronImpers) rain (complVerb rain) ;
|
||||
|
||||
@@ -500,17 +500,22 @@ oper
|
||||
complAdverb : Adverb -> Complemnt = \dehors ->
|
||||
complCopula (\\_,_,_ => dehors.s) ;
|
||||
|
||||
complVerbAdj : AdjCompl -> VerbPhrase -> Complemnt = \facile,ouvrir ->
|
||||
complCopula (\\g,n,p =>
|
||||
facile.s ! AF g n ++ prepCase facile.c ++ facile.s2 ++
|
||||
ouvrir.s ! VIInfinit ! g ! n ! p) ;
|
||||
complVerbAdj : AdjCompl -> VerbPhrase -> AdjPhrase = \facile,ouvrir ->
|
||||
{s = \\gn => ---- p
|
||||
facile.s ! gn ++ prepCase facile.c ++ facile.s2 ++
|
||||
ouvrir.s ! VIInfinit ! Masc ! Sg ! P3 ;
|
||||
p = False
|
||||
} ;
|
||||
|
||||
complVerbAdj2 : Bool -> AdjCompl -> NounPhrase -> VerbPhrase -> Complemnt =
|
||||
complVerbAdj2 : Bool -> AdjCompl -> NounPhrase -> VerbPhrase -> AdjPhrase =
|
||||
\b,facile,lui,nager ->
|
||||
complTransVerbGen (copula ** {c = dative ; s2=[]}) lui
|
||||
(\\g,n,p =>
|
||||
facile.s ! AF g n ++ prepCase facile.c ++ facile.s2 ++
|
||||
nager.s ! VIInfinit ! g ! n ! p) ; ---- agr dep on b
|
||||
{s = \\gn => ---- p
|
||||
facile.s ! gn ++
|
||||
lui.s ! stressed dative ++ ---- also "pour lui" ?
|
||||
prepCase facile.c ++ facile.s2 ++
|
||||
nager.s ! VIInfinit ! pgen2gen lui.g ! lui.n ! P3 ; ---- agr dep on b
|
||||
p = False
|
||||
} ;
|
||||
|
||||
progressiveVerbPhrase : VerbPhrase -> VerbGroup ;
|
||||
|
||||
@@ -584,7 +589,7 @@ oper
|
||||
in
|
||||
\\g,n,p =>
|
||||
let
|
||||
soi = reflPron ! n ! p ! (case2pformClit aime.c) ;
|
||||
soi = reflPron ! n ! p ! unstressed accusative ; ---- (case2pformClit aime.c) ;
|
||||
aimee = aime.s ! VPart g n
|
||||
in
|
||||
case clit of {
|
||||
@@ -870,6 +875,9 @@ oper
|
||||
|
||||
SentenceVerb : Type = Verb ** {mp, mn : Mode} ;
|
||||
|
||||
subordMode : SentenceVerb -> Bool -> Mode = \verb,b ->
|
||||
if_then_else Mode b verb.mp verb.mn ;
|
||||
|
||||
complSentVerb : SentenceVerb -> Sentence -> Complemnt = \croire,jeanboit ->
|
||||
mkCompl
|
||||
croire
|
||||
@@ -1429,6 +1437,7 @@ oper
|
||||
s4 : VF => Str ; -- ai ai
|
||||
s5 : Str ; -- toujours (pas) toujours (pas)
|
||||
s6 : Str ; -- (dit) directement (voulu) le lui dire directement
|
||||
s7 : Bool => Str; -- qu'il pleu/pleuve
|
||||
aux : VAux ;
|
||||
g,g2 : Gender ; -- features for main verb and participle
|
||||
n,n2 : Number ;
|
||||
@@ -1473,6 +1482,7 @@ oper
|
||||
s3 = [] ;
|
||||
s4 = verb.s ;
|
||||
s5, s6 = [] ;
|
||||
s7 = \\_ => [] ;
|
||||
aux = verb.aux ;
|
||||
g = pgen2gen subj.g ;
|
||||
n = subj.n ;
|
||||
@@ -1494,6 +1504,7 @@ oper
|
||||
s4 = sats.s4 ;
|
||||
s5 = sats.s5 ;
|
||||
s6 = sats.s6 ++ prep ++ np ;
|
||||
s7 = sats.s7 ;
|
||||
aux = sats.aux ;
|
||||
g = sats.g ;
|
||||
n = sats.n ;
|
||||
@@ -1502,12 +1513,13 @@ oper
|
||||
p = sats.p
|
||||
} ;
|
||||
|
||||
insertExtrapos : Sats -> Str -> Sats = \sats,obj ->
|
||||
insertExtrapos : Sats -> (Bool => Str) -> Sats = \sats,obj ->
|
||||
{s1 = sats.s1 ;
|
||||
s3 = sats.s3 ;
|
||||
s4 = sats.s4 ;
|
||||
s5 = sats.s5 ;
|
||||
s6 = sats.s6 ++ obj ;
|
||||
s6 = sats.s6 ;
|
||||
s7 = obj ;
|
||||
aux = sats.aux ;
|
||||
g = sats.g ;
|
||||
n = sats.n ;
|
||||
@@ -1535,10 +1547,11 @@ oper
|
||||
dit = dire.p2 ;
|
||||
toujours = sats.s5 ;
|
||||
directement = sats.s6 ;
|
||||
ne = if_then_Str b [] "ne" ; ---- negNe ;
|
||||
pas = if_then_Str b [] "pas" ---- negPas
|
||||
ne = if_then_Str b [] "ne" ; ---- negNe ;
|
||||
pas = if_then_Str b [] "pas" ; ---- negPas ;
|
||||
oui = sats.s7 ! b
|
||||
in
|
||||
je ++ ne ++ lui ++ ai ++ toujours ++ pas ++ dit ++ directement
|
||||
je ++ ne ++ lui ++ ai ++ toujours ++ pas ++ dit ++ directement ++ oui
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -29,26 +29,22 @@ incomplete concrete VerbphraseRomance of Verbphrase = CategoriesRomance **
|
||||
UsePassV v = predClauseBeGroup (passVerb v) ;
|
||||
ComplV2 v x = predClauseGroup v (complTransVerb v x) ;
|
||||
ComplV3 v x y = predClauseGroup v (complDitransVerb v x y) ;
|
||||
---- ComplReflV2 v = predClauseGroup v (reflTransVerb v) ;
|
||||
ComplReflV2 v = predClauseGroup v (reflTransVerb v) ;
|
||||
ComplVS v x = predClauseGroup v (complSentVerb v x) ;
|
||||
ComplVV v x = predClauseGroup v (complVerbVerb v x) ;
|
||||
ComplVQ v x = predClauseGroup v (complQuestVerb v x) ;
|
||||
ComplVA v x = predClauseGroup v (complAdjVerb v x) ;
|
||||
ComplV2A v x y = predClauseGroup v (complDitransAdjVerb v x y) ;
|
||||
---- ComplSubjV2V v x y = predClauseGroup v (complDitransVerbVerb False v x y) ;
|
||||
---- ComplObjV2V v x y = predClauseGroup v (complDitransVerbVerb True v x y) ;
|
||||
ComplSubjV2V v x y = predClauseGroup v (complDitransVerbVerb False v x y) ;
|
||||
ComplObjV2V v x y = predClauseGroup v (complDitransVerbVerb True v x y) ;
|
||||
ComplV2S v x y = predClauseGroup v (complDitransSentVerb v x y) ;
|
||||
ComplV2Q v x y = predClauseGroup v (complDitransQuestVerb v x y) ;
|
||||
|
||||
PredAP v = predClauseBeGroup (complAdjective v) ;
|
||||
PredSuperl a = predClauseBeGroup (complAdjective (superlAdjPhrase a)) ;
|
||||
PredCN v = predClauseBeGroup (complCommNoun v) ;
|
||||
PredNP v = predClauseBeGroup (complNounPhrase v) ;
|
||||
PredAdv v = predClauseBeGroup (complAdverb v) ;
|
||||
|
||||
PredAV v x = predClauseBeGroup (complVerbAdj v x) ;
|
||||
PredObjA2V v x y = predClauseBeGroup (complVerbAdj2 True v x y) ;
|
||||
|
||||
PredProgVP = progressiveVerbPhrase ;
|
||||
|
||||
-- Use VPs
|
||||
|
||||
Reference in New Issue
Block a user