distinction between direct and indirect questions in Chi, to eliminate "ma" in indir questions

This commit is contained in:
aarne
2014-07-05 08:33:45 +00:00
parent 40bfaff8ce
commit 65a9709041
8 changed files with 15 additions and 15 deletions

View File

@@ -5,7 +5,7 @@ concrete CatChi of Cat = CommonX - [Tense, Temp, Ant, Adv] ** open ResChi, Prelu
-- Tensed/Untensed
S = {s : Str} ;
QS = {s : Str} ;
QS = {s : Bool => Str} ; -- True = direct question (with ma for sentential questions)
RS = {s : Str} ;
SSlash = {s : Str ; c2 : Preposition} ;
@@ -19,7 +19,7 @@ concrete CatChi of Cat = CommonX - [Tense, Temp, Ant, Adv] ** open ResChi, Prelu
-- Question
QCl = {s : Polarity => Aspect => Str} ;
QCl = {s : Bool => Polarity => Aspect => Str} ; -- True = direct question
IP = {s : Str} ;
IComp = {s : Str} ;
IDet = {s : Str ; detType : DetType} ;

View File

@@ -13,7 +13,7 @@ lin
married_Cl x y = mkCl (lin NP x) L.married_A2 (lin NP y) ;
what_name_QCl x = mkQCl whatSg_IP (mkClSlash (lin NP x) (mkV2 (mkV "叫"))) ;
how_old_QCl x = {s = \\p,a => x.s ++ (R.word "几岁" | R.word "多大")} ; ----
how_old_QCl x = {s = \\_,p,a => x.s ++ (R.word "几岁" | R.word "多大")} ; ----
---- how_far_QCl x = mkQCl (E.IAdvAdv (ss "far")) (lin NP x) ;
-- some more things

View File

@@ -41,7 +41,7 @@ concrete ExtraChi of ExtraChiAbs = CatChi **
False => insertObj (mkNP ap.s) (predV hen_copula [])
} ;
QuestRepV cl = {
s = \\p,a =>
s = \\_,p,a => ---- also for indirect questions?
let
v = cl.vp.verb ;
verb = case a of {

View File

@@ -16,7 +16,7 @@ concrete IdiomChi of Idiom = CatChi ** open Prelude, ResChi in {
ExistNP np = mkClause [] (regVerb you_s) np.s ; ---- infl of you
ExistIP ip = {s = (mkClause [] (regVerb you_s) ip.s).s} ; ---- infl of you
ExistIP ip = {s = \\_ => (mkClause [] (regVerb you_s) ip.s).s} ; ---- infl of you
ProgrVP vp = {
verb = regVerb zai_s ;

View File

@@ -4,7 +4,7 @@ concrete PhraseChi of Phrase = CatChi ** open Prelude, ResChi in {
PhrUtt pconj utt voc = {s = pconj.s ++ voc.s ++ utt.s} ;
UttS s = s ;
UttQS qs = qs ;
UttQS qs = ss (qs.s ! True) ;
UttImpSg pol imp = {s = pol.s ++ imp.s ! pol.p} ;
UttImpPl pol imp = {s = pol.s ++ imp.s ! pol.p} ;
UttImpPol pol imp = {s = pol.s ++ imp.s ! pol.p} ; --- add politeness here?

View File

@@ -5,17 +5,17 @@ concrete QuestionChi of Question = CatChi **
lin
QuestCl cl = {s = \\p,a => cl.s ! p ! a ++ question_s} ; --- plus redup questions
QuestCl cl = {s = \\isDir,p,a => cl.s ! p ! a ++ if_then_Str isDir question_s []} ; --- plus redup questions
QuestVP ip vp = {
s = \\p,a => ip.s ++ vp.prePart ++ useVerb vp.verb ! p ! a ++ vp.compl
s = \\_,p,a => ip.s ++ vp.prePart ++ useVerb vp.verb ! p ! a ++ vp.compl
} ;
QuestSlash ip cls = mkClauseCompl cls.np (insertObj (ss (appPrep cls.c2 ip.s)) cls.vp) [] ;
QuestSlash ip cls = {s = \\_ => (mkClauseCompl cls.np (insertObj (ss (appPrep cls.c2 ip.s)) cls.vp) []).s} ;
QuestIAdv iadv cl = mkClauseCompl cl.np (insertAdv iadv cl.vp) [] ;
QuestIAdv iadv cl = {s = \\_ => (mkClauseCompl cl.np (insertAdv iadv cl.vp) []).s} ;
QuestIComp icomp np = {s = \\p,a => np.s ++ icomp.s} ; ---- order
QuestIComp icomp np = {s = \\_,p,a => np.s ++ icomp.s} ; ---- order
PrepIP p ip = ss (appPrep p ip.s) ;

View File

@@ -32,11 +32,11 @@ concrete SentenceChi of Sentence = CatChi **
SlashPrep cl prep = cl ** {c2 = prep} ;
EmbedS s = ss (conjThat ++ s.s) ;
EmbedQS qs = qs ;
EmbedQS qs = ss (qs.s ! False) ;
EmbedVP vp = ss (infVP vp) ;
UseCl t p cl = {s = t.s ++ p.s ++ cl.s ! p.p ! t.t} ;
UseQCl t p cl = {s = t.s ++ p.s ++ cl.s ! p.p ! t.t} ;
UseQCl t p cl = {s = \\isDir => t.s ++ p.s ++ cl.s ! isDir ! p.p ! t.t} ;
UseRCl t p cl = {s = t.s ++ p.s ++ cl.s ! p.p ! t.t} ;
UseSlash t p cl = {s = t.s ++ p.s ++ cl.s ! p.p ! t.t ; c2 = cl.c2} ;

View File

@@ -14,7 +14,7 @@ concrete VerbChi of Verb = CatChi ** open ResChi, Prelude in {
SlashV2V v vp = insertObj (mkNP (infVP vp)) (predV v v.part) ** {c2 = v.c2 ; isPre = v.hasPrep} ;
SlashV2S v s = insertObj (ss (say_s ++ s.s)) (predV v v.part) ** {c2 = v.c2 ; isPre = v.hasPrep} ;
SlashV2Q v q = insertObj (ss (say_s ++ q.s)) (predV v v.part) ** {c2 = v.c2 ; isPre = v.hasPrep} ;
SlashV2Q v q = insertObj (ss (say_s ++ q.s ! False)) (predV v v.part) ** {c2 = v.c2 ; isPre = v.hasPrep} ;
ComplVV v vp = {
verb = v ;
@@ -23,7 +23,7 @@ concrete VerbChi of Verb = CatChi ** open ResChi, Prelude in {
} ;
ComplVS v s = insertObj s (predV v []) ;
ComplVQ v q = insertObj q (predV v []) ;
ComplVQ v q = insertObj (ss (q.s ! False)) (predV v []) ;
ComplVA v ap = insertObj ap (predV v []) ;
ComplSlash vp np = case vp.isPre of {