forked from GitHub/gf-rgl
153 lines
4.2 KiB
Plaintext
153 lines
4.2 KiB
Plaintext
concrete QuestionTam of Question = CatTam ** open
|
|
Prelude, ResTam, ParadigmsTam, (VS=VerbTam), (NM=NounTam), (SS=StructuralTam) in {
|
|
|
|
-- A question can be formed from a clause ('yes-no question') or
|
|
-- with an interrogative.
|
|
|
|
-- Interrogative pronouns can be formed with interrogative
|
|
-- determiners, with or without a noun.
|
|
--lin
|
|
-- -- : IDet -> CN -> IP ; -- which five songs
|
|
-- IdetCN idet cn = NM.DetCN idet cn ** {
|
|
-- sp = \\nf => idet.sp ! nf ++ cn.s ! nf
|
|
-- } ;
|
|
|
|
-- -- : IDet -> IP ; -- which five
|
|
-- IdetIP idet = NM.DetNP idet ** {sp = idet.sp};
|
|
|
|
-- -- : IQuant -> Num -> IDet ; -- which (five)
|
|
-- IdetQuant iquant num = iquant ** {
|
|
-- pr = num.s ++ case iquant.isPre of {True => iquant.s ; False => [] } ;
|
|
-- -- if isPre is True, then: "berapa kucing"
|
|
-- s = case iquant.isPre of { False => iquant.s ; True => [] };
|
|
-- -- if isPre is False, use s: "kucing berapa"
|
|
-- n = num.n ;
|
|
-- count = "" ;
|
|
-- } ;
|
|
|
|
-- -- : IP -> ClSlash -> QCl ; -- whom does John love
|
|
-- QuestSlash ip cls = cls ** {
|
|
-- pred = \\vf,pol => cls.pred ! vf ! pol ++ ip.s ! Bare
|
|
-- } ;
|
|
|
|
-- -- : Subj -> Pred -> QCl ;
|
|
-- -- QuestCl cl = cl ** {
|
|
-- -- pred = \\vf,pol => cl.pred ! vf ! pol
|
|
-- -- };
|
|
-- QuestCl cl = cl ** {
|
|
-- subj = "adakah" ++ cl.subj;
|
|
-- } ;
|
|
|
|
-- -- missing record fields: pred type of vp
|
|
|
|
-- -- : IP -> VP -> QCl ;
|
|
-- -- expected: ParamTam.VForm => ParamX.Polarity => Str
|
|
-- -- inferred: {s : ParamTam.VForm => ParamX.Polarity => Str}
|
|
|
|
-- QuestVP ip cl = cl ** {
|
|
-- pred = \\vf,pol => cl.s ! vf ! pol;
|
|
-- subj = ip.s ! Bare ;
|
|
-- };
|
|
|
|
-- -- : IAdv -> Cl -> QCl ; -- why does John walk
|
|
-- QuestIAdv iadv cls = {
|
|
-- subj = case iadv.isPre of {
|
|
-- True => iadv.s ++ cls.subj ; False => cls.subj
|
|
-- } ;
|
|
-- pred = \\vf,pol => case iadv.isPre of {
|
|
-- True => cls.pred ! iadv.vf ! pol ;
|
|
-- False => cls.pred ! iadv.vf ! pol ++ iadv.s
|
|
-- } ;
|
|
-- } ;
|
|
|
|
-- -- : IP -> IComp ;
|
|
-- CompIP ip = {s = ip.s ! Bare } ; -- who (is it)
|
|
|
|
-- -- : IComp -> NP -> QCl ; -- where is John?
|
|
-- QuestIComp icomp np = {
|
|
-- pred = \\vf,pol => np.s ! Bare ;
|
|
-- subj = icomp.s ;
|
|
-- } ;
|
|
|
|
-- \\vf,pol,posadv =>
|
|
-- -- {
|
|
-- -- pred = \\vf,pol => ip.s ++ vp.s ! vf ! pol;
|
|
-- -- } ;
|
|
|
|
--{- ----
|
|
-- s = \\t,a,p =>
|
|
-- let
|
|
-- cl = oldClause slash ;
|
|
-- cls : Direct -> Str =
|
|
-- \d -> cl.s ! d ! t ! a ! p ! Indic ;
|
|
---- \d -> cl.s ! ip.a ! d ! t ! a ! p ! Indic ;
|
|
-- who = slash.c2.s ++ ip.s ! slash.c2.c
|
|
-- in table {
|
|
-- QDir => who ++ cls DInv ;
|
|
-- QIndir => who ++ cls DDir
|
|
-- }
|
|
---}
|
|
|
|
--{-
|
|
-- lin
|
|
|
|
|
|
|
|
|
|
|
|
-- -- : IComp -> NP -> QCl ; -- where is John?
|
|
-- QuestIComp icomp np =
|
|
|
|
|
|
-- Interrogative pronouns can be formed with interrogative
|
|
-- determiners, with or without a noun.
|
|
|
|
-- -- : IDet -> CN -> IP ; -- which five songs
|
|
-- IdetCN idet cn = {contractSTM = False} ** NS.DetCN idet cn ;
|
|
|
|
-- -- : IDet -> IP ; -- which five
|
|
-- IdetIP idet = {contractSTM = False} ** NS.DetNP idet ;
|
|
|
|
-- They can be modified with adverbs.
|
|
-- -- : IP -> Adv -> IP ; -- who in Paris
|
|
-- --AdvIP = NS.AdvNP ;
|
|
|
|
-- Interrogative quantifiers have number forms and can take number modifiers.
|
|
|
|
-- -- : IQuant -> Num -> IDet ; -- which (five)
|
|
-- IdetQuant = NS.DetQuant ;
|
|
|
|
-- Interrogative adverbs can be formed prepositionally.
|
|
-- -- : Prep -> IP -> IAdv ; -- with whom
|
|
-- PrepIP prep ip = SS.prepIP prep (ip.s ! Abs) False ;
|
|
|
|
-- They can be modified with other adverbs.
|
|
|
|
-- -- : IAdv -> Adv -> IAdv ; -- where in Paris
|
|
-- -- AdvIAdv iadv adv =
|
|
|
|
-- Interrogative complements to copulas can be both adverbs and
|
|
-- pronouns.
|
|
|
|
-- -- : IAdv -> IComp ;
|
|
-- CompIAdv iadv = iadv ; -- where (is it)
|
|
|
|
|
|
-- More $IP$, $IDet$, and $IAdv$ are defined in $Structural$.
|
|
|
|
-- Wh questions with two or more question words require a new, special category.
|
|
|
|
-- cat
|
|
-- QVP ; -- buy what where
|
|
-- fun
|
|
-- ComplSlashIP : VPSlash -> IP -> QVP ; -- buys what
|
|
-- AdvQVP : VP -> IAdv -> QVP ; -- lives where
|
|
-- AddAdvQVP : QVP -> IAdv -> QVP ; -- buys what where
|
|
|
|
-- QuestQVP : IP -> QVP -> QCl ; -- who buys what where
|
|
---}
|
|
|
|
|
|
--}
|
|
}
|