forked from GitHub/gf-rgl
ExistCN with a/no variation in Extend
This commit is contained in:
@@ -109,6 +109,12 @@ abstract Extend = Cat ** {
|
|||||||
|
|
||||||
ExistsNP : NP -> Cl ; -- there exists a number / there exist numbers
|
ExistsNP : NP -> Cl ; -- there exists a number / there exist numbers
|
||||||
|
|
||||||
|
-- existentials with a/no variation
|
||||||
|
|
||||||
|
ExistCN : CN -> Cl ; -- there is a car / there is no car
|
||||||
|
ExistMassCN : CN -> Cl ; -- there is beer / there is no beer
|
||||||
|
ExistPluralCN : CN -> Cl ; -- there are trees / there are no trees
|
||||||
|
|
||||||
-- infinitive for purpose AR 21/8/2013
|
-- infinitive for purpose AR 21/8/2013
|
||||||
|
|
||||||
PurposeVP : VP -> Adv ; -- to become happy
|
PurposeVP : VP -> Adv ; -- to become happy
|
||||||
|
|||||||
@@ -51,7 +51,10 @@ lin
|
|||||||
PastPartAP = variants {} ; -- VPSlash -> AP ; -- lost (opportunity) ; (opportunity) lost in space
|
PastPartAP = variants {} ; -- VPSlash -> AP ; -- lost (opportunity) ; (opportunity) lost in space
|
||||||
PastPartAgentAP = variants {} ; -- VPSlash -> NP -> AP ; -- (opportunity) lost by the company
|
PastPartAgentAP = variants {} ; -- VPSlash -> NP -> AP ; -- (opportunity) lost by the company
|
||||||
NominalizeVPSlashNP = variants {} ; -- VPSlash -> NP -> NP ;
|
NominalizeVPSlashNP = variants {} ; -- VPSlash -> NP -> NP ;
|
||||||
ExistsNP = variants {} ; -- NP -> Cl ; -- there exists a number / there exist numbers
|
ExistsNP = ExistNP ; -- NP -> Cl ; -- there exists a number / there exist numbers
|
||||||
|
ExistCN cn = ExistNP (DetCN (DetQuant IndefArt NumSg) cn) ;
|
||||||
|
ExistMassCN cn = ExistNP (MassNP cn) ;
|
||||||
|
ExistPluralCN cn = ExistNP (DetCN (DetQuant IndefArt NumPl) cn) ;
|
||||||
PurposeVP = variants {} ; -- VP -> Adv ; -- to become happy
|
PurposeVP = variants {} ; -- VP -> Adv ; -- to become happy
|
||||||
ComplBareVS = ComplVS ; -- VS -> S -> VP ; -- say she runs ; DEFAULT say that she runs
|
ComplBareVS = ComplVS ; -- VS -> S -> VP ; -- say she runs ; DEFAULT say that she runs
|
||||||
SlashBareV2S = SlashV2S ; -- V2S -> S -> VPSlash ; -- answer (to him) it is good ; DEFAULT answer that it is good
|
SlashBareV2S = SlashV2S ; -- V2S -> S -> VPSlash ; -- answer (to him) it is good ; DEFAULT answer that it is good
|
||||||
|
|||||||
@@ -11,7 +11,8 @@ concrete ExtendEng of Extend =
|
|||||||
Base_nr_RNP, Base_rn_RNP, Base_rr_RNP, ByVP, CompBareCN,
|
Base_nr_RNP, Base_rn_RNP, Base_rr_RNP, ByVP, CompBareCN,
|
||||||
CompIQuant, CompQS, CompS, CompVP, ComplBareVS, ComplGenVV, ComplSlashPartLast, ComplVPSVV, CompoundAP,
|
CompIQuant, CompQS, CompS, CompVP, ComplBareVS, ComplGenVV, ComplSlashPartLast, ComplVPSVV, CompoundAP,
|
||||||
CompoundN, ConjRNP, ConjVPS, ConsVPS, Cons_nr_RNP, Cons_rr_RNP, DetNPFem, EmbedPresPart, EmptyRelSlash,
|
CompoundN, ConjRNP, ConjVPS, ConsVPS, Cons_nr_RNP, Cons_rr_RNP, DetNPFem, EmbedPresPart, EmptyRelSlash,
|
||||||
ExistsNP, FocusAP, FocusAdV, FocusAdv, FocusObj, GenIP, GenModIP, GenModNP, GenNP, GenRP,
|
ExistsNP, ExistCN, ExistMassCN, ExistPluralCN,
|
||||||
|
FocusAP, FocusAdV, FocusAdv, FocusObj, GenIP, GenModIP, GenModNP, GenNP, GenRP,
|
||||||
GerundAdv, GerundCN, GerundNP, IAdvAdv, ICompAP, InOrderToVP, MkVPS, NominalizeVPSlashNP,
|
GerundAdv, GerundCN, GerundNP, IAdvAdv, ICompAP, InOrderToVP, MkVPS, NominalizeVPSlashNP,
|
||||||
PassAgentVPSlash, PassVPSlash, PastPartAP, PastPartAgentAP, PositAdVAdj, PredVPS, PredVPSVV, PredetRNP, PrepCN,
|
PassAgentVPSlash, PassVPSlash, PastPartAP, PastPartAgentAP, PositAdVAdj, PredVPS, PredVPSVV, PredetRNP, PrepCN,
|
||||||
PresPartAP, PurposeVP, ReflPoss, ReflPron, ReflRNP, SlashBareV2S, SlashV2V, StrandQuestSlash, StrandRelSlash,
|
PresPartAP, PurposeVP, ReflPoss, ReflPron, ReflRNP, SlashBareV2S, SlashV2V, StrandQuestSlash, StrandRelSlash,
|
||||||
@@ -220,6 +221,22 @@ concrete ExtendEng of Extend =
|
|||||||
mkClause "there" (agrP3 (fromAgr np.a).n)
|
mkClause "there" (agrP3 (fromAgr np.a).n)
|
||||||
(insertObj (\\_ => np.s ! NPAcc) (predV (regV "exist"))) ;
|
(insertObj (\\_ => np.s ! NPAcc) (predV (regV "exist"))) ;
|
||||||
|
|
||||||
|
ExistCN cn =
|
||||||
|
let
|
||||||
|
pos = ExistNP (DetCN (DetQuant IndefArt NumSg) cn) ;
|
||||||
|
neg = ExistNP (DetCN (DetQuant no_Quant NumSg) cn) ;
|
||||||
|
in posNegClause pos neg ;
|
||||||
|
ExistMassCN cn =
|
||||||
|
let
|
||||||
|
pos = ExistNP (MassNP cn) ;
|
||||||
|
neg = ExistNP (DetCN (DetQuant no_Quant NumSg) cn) ;
|
||||||
|
in posNegClause pos neg ;
|
||||||
|
ExistPluralCN cn =
|
||||||
|
let
|
||||||
|
pos = ExistNP (DetCN (DetQuant IndefArt NumPl) cn) ;
|
||||||
|
neg = ExistNP (DetCN (DetQuant no_Quant NumPl) cn) ;
|
||||||
|
in posNegClause pos neg ;
|
||||||
|
|
||||||
|
|
||||||
ComplBareVS v s = insertExtra s.s (predV v) ;
|
ComplBareVS v s = insertExtra s.s (predV v) ;
|
||||||
SlashBareV2S v s = insertExtrac s.s (predVc v) ;
|
SlashBareV2S v s = insertExtrac s.s (predVc v) ;
|
||||||
|
|||||||
@@ -556,6 +556,14 @@ param
|
|||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
-- for pos/neg variation other than negation word, e.g. "there is a car"/"there is no car"
|
||||||
|
posNegClause : Clause -> Clause -> Clause = \pos,neg -> {
|
||||||
|
s = \\t,a,b,o => case b of {
|
||||||
|
CPos => pos.s ! t ! a ! b ! o ;
|
||||||
|
_ => neg.s ! t ! a ! CPos ! o
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
-- For $Numeral$.
|
-- For $Numeral$.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user