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
|
||||
|
||||
-- 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
|
||||
|
||||
PurposeVP : VP -> Adv ; -- to become happy
|
||||
|
||||
@@ -51,7 +51,10 @@ lin
|
||||
PastPartAP = variants {} ; -- VPSlash -> AP ; -- lost (opportunity) ; (opportunity) lost in space
|
||||
PastPartAgentAP = variants {} ; -- VPSlash -> NP -> AP ; -- (opportunity) lost by the company
|
||||
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
|
||||
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
|
||||
|
||||
@@ -11,7 +11,8 @@ concrete ExtendEng of Extend =
|
||||
Base_nr_RNP, Base_rn_RNP, Base_rr_RNP, ByVP, CompBareCN,
|
||||
CompIQuant, CompQS, CompS, CompVP, ComplBareVS, ComplGenVV, ComplSlashPartLast, ComplVPSVV, CompoundAP,
|
||||
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,
|
||||
PassAgentVPSlash, PassVPSlash, PastPartAP, PastPartAgentAP, PositAdVAdj, PredVPS, PredVPSVV, PredetRNP, PrepCN,
|
||||
PresPartAP, PurposeVP, ReflPoss, ReflPron, ReflRNP, SlashBareV2S, SlashV2V, StrandQuestSlash, StrandRelSlash,
|
||||
@@ -220,6 +221,22 @@ concrete ExtendEng of Extend =
|
||||
mkClause "there" (agrP3 (fromAgr np.a).n)
|
||||
(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) ;
|
||||
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$.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user