diff --git a/src/rukiga/CatCgg.gf b/src/rukiga/CatCgg.gf index 97035b241..c6b94a090 100755 --- a/src/rukiga/CatCgg.gf +++ b/src/rukiga/CatCgg.gf @@ -66,9 +66,9 @@ lincat Digits = {s : Res.CardOrd => Res.Agreement=>Str ; n : Res.Number ; tail : Px.DTail} ; Ord = {s :Res.Agreement=>Str; position1:Res.Position1} ; Card = {s :Res.Agreement=>Str; n : Res.Number} ; - IP = {s :Str ; n : Res.Number; isVerbSuffix: Bool; requiresIPPrefix: Bool; aux:Str}; + IP = {s :Str ; other:Str; n : Res.Number; isVerbSuffix: Bool; requiresIPPrefix: Bool; aux:Str; endOfSentence:Bool}; -- other holds the Idet without a prefix IAdv = {s : Str ; requiresSubjPrefix: Bool}; - IDet = {s : Str ; requiresSubjPrefix: Bool}; + IDet = {s : Str ; n : Res.Number; requiresSubjPrefix: Bool}; IQuant = {s : Res.Number =>Str ; requiresSubjPrefix: Bool}; --VV = diff --git a/src/rukiga/QuestionCgg.gf b/src/rukiga/QuestionCgg.gf index 1e0fc2fd5..2c66e2f68 100755 --- a/src/rukiga/QuestionCgg.gf +++ b/src/rukiga/QuestionCgg.gf @@ -14,11 +14,17 @@ concrete QuestionCgg of Question = CatCgg ** open ResCgg, Prelude in { --QuestIComp : IComp -> NP -> QCl ; -- where is John --IdetCN : IDet -> CN -> IP ; -- which five songs - IdentCN idet cn = case idet.requiresSubjPrefix of { - True => {s = \\n => cn!n!Complete ++ mkSubjPrefix mkAgreement(cn.gender P3 n) ++ idet.s}; - False => { s = \\n => cn!n!Complete ++ idet.s} + + IdetCN idet cn = case idet.requiresSubjPrefix of { + True => {s = cn.s!idet.n!Complete ++ mkSubjPrefix (mkAgreement cn.gender P3 idet.n) ++ idet.s; other =[]; n = idet.n; isVerbSuffix=False; requiresIPPrefix=True; aux= "ni"; endOfSentence = True}; + False => { s = cn.s!idet.n!Complete ++ idet.s; isVerbSuffix=False; other =[]; n=idet.n; requiresIPPrefix=True; aux= "ni"; endOfSentence = True} }; --IdetIP : IDet -> IP ; -- which five + --Noun Class has been ignored + IdetIP idet = { s = idet.s ; other = idet.s; isVerbSuffix=False; n=idet.n; requiresIPPrefix=True; aux= "ni"; endOfSentence = True}; + + --IdetQuant : IQuant -> Num -> IDet ; -- which (five) + --IdetQuant iquant num = { s = iquant.s ! num.n ; requiresSubjPrefix=True}; {- --1 Question: Questions and Interrogative Pronouns diff --git a/src/rukiga/StructuralCgg.gf b/src/rukiga/StructuralCgg.gf index 098454ac0..443e328dc 100755 --- a/src/rukiga/StructuralCgg.gf +++ b/src/rukiga/StructuralCgg.gf @@ -158,10 +158,10 @@ lin {-Beggining of Interrogative Pronoun-} - whatPl_IP = { s= "ki"; n = Pl; isVerbSuffix = True; requiresIPPrefix = False; aux=[]} ; -- what (plural) - whatSg_IP = { s= "ki"; n = Sg; isVerbSuffix = True; requiresIPPrefix = False; aux=[]} ; --: IP ; -- what (singular) - whoPl_IP = { s= "ha"; n = Pl; isVerbSuffix = True; requiresIPPrefix = False; aux="ni"} ;--: IP ; -- who (plural) - whoSg_IP = { s= "ha"; n = Sg; isVerbSuffix = True; requiresIPPrefix = False; aux=[]} ; --: IP ; -- who (singular) + whatPl_IP = { s= "ki"; other =[]; n = Pl; isVerbSuffix = True; requiresIPPrefix = False; aux=[]; endOfSentence = True} ; -- what (plural) + whatSg_IP = { s= "ki"; other =[]; n = Sg; isVerbSuffix = True; requiresIPPrefix = False; aux=[]; endOfSentence = True}; --: IP ; -- what (singular) + whoPl_IP = { s= "ha"; other =[]; n = Pl; isVerbSuffix = True; requiresIPPrefix = False; aux="ni"; endOfSentence = True} ;--: IP ; -- who (plural) + whoSg_IP = { s= "ha"; other =[]; n = Sg; isVerbSuffix = True; requiresIPPrefix = False; aux=[]; endOfSentence = True}; --: IP ; -- who (singular) --You may need to use booleans to indicate that you need these tables rather than carrying them. how_IAdv = {s ="ta"; requiresSubjPrefix = True}; --: IAdv ; --how8much_IAdv = {s ="kwiga"; s2requireSubjPrefix = True};--: IAdv ; @@ -170,7 +170,7 @@ lin where_IAdv = {s ="nkahe"; requiresSubjPrefix = False}; --: IAdv ; why_IAdv = {s ="ahabweki"; requiresSubjPrefix = False};--: IAdv ; - how8many_IDet ={s ="ngahe"; requiresSubjPrefix = False};--: IDet ; + how8many_IDet ={s ="ngahe"; other =[]; n =Pl; requiresSubjPrefix = False; endOfSentence = True};--: IDet ; which_IQuant ={s =\\_ =>"ha"; requiresSubjPrefix = False};--: IQuant ; {-