mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-21 09:02:50 -06:00
QForm is more appropriate parameter than Species in IAdv and IP
This commit is contained in:
@@ -39,10 +39,10 @@ concrete CatBul of Cat = open ResBul, Prelude, (R = ParamX) in {
|
|||||||
-- Question
|
-- Question
|
||||||
|
|
||||||
QCl = {s : ResBul.Tense => Anteriority => Polarity => QForm => Str} ;
|
QCl = {s : ResBul.Tense => Anteriority => Polarity => QForm => Str} ;
|
||||||
IP = {s : Role => Species => Str; gn : GenNum} ;
|
IP = {s : Role => QForm => Str; gn : GenNum} ;
|
||||||
IComp = {s : Species => Str} ;
|
IComp = {s : QForm => Str} ;
|
||||||
IDet = {s : DGender => Species => Str; n : Number ; nonEmpty : Bool} ;
|
IDet = {s : DGender => QForm => Str; n : Number ; nonEmpty : Bool} ;
|
||||||
IQuant = {s : GenNum => Species => Str} ;
|
IQuant = {s : GenNum => QForm => Str} ;
|
||||||
|
|
||||||
-- Relative
|
-- Relative
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ concrete CatBul of Cat = open ResBul, Prelude, (R = ParamX) in {
|
|||||||
|
|
||||||
Adv = {s : Str} ;
|
Adv = {s : Str} ;
|
||||||
CAdv = {s : Str; sn : Str} ;
|
CAdv = {s : Str; sn : Str} ;
|
||||||
IAdv = {s : Species => Str} ;
|
IAdv = {s : QForm => Str} ;
|
||||||
AdA = {s : Str} ;
|
AdA = {s : Str} ;
|
||||||
|
|
||||||
-- Noun
|
-- Noun
|
||||||
|
|||||||
@@ -178,5 +178,5 @@ oper
|
|||||||
--
|
--
|
||||||
|
|
||||||
mkIAdv : Str -> IAdv ;
|
mkIAdv : Str -> IAdv ;
|
||||||
mkIAdv s = {s = table {Indef=>s;Def=>s+"ňî"}; lock_IAdv = <>} ;
|
mkIAdv s = {s = table {QDir=>s;QIndir=>s+"ňî"}; lock_IAdv = <>} ;
|
||||||
}
|
}
|
||||||
@@ -9,8 +9,8 @@ concrete PhraseBul of Phrase = CatBul ** open Prelude, ResBul in {
|
|||||||
UttImpPl pol imp = {s = pol.s ++ imp.s ! pol.p ! GPl} ;
|
UttImpPl pol imp = {s = pol.s ++ imp.s ! pol.p ! GPl} ;
|
||||||
UttImpPol pol imp = {s = pol.s ++ imp.s ! pol.p ! GPl} ;
|
UttImpPol pol imp = {s = pol.s ++ imp.s ! pol.p ! GPl} ;
|
||||||
|
|
||||||
UttIP ip = {s = ip.s ! RSubj ! Indef} ;
|
UttIP ip = {s = ip.s ! RSubj ! QDir} ;
|
||||||
UttIAdv iadv = {s = iadv.s ! Indef} ;
|
UttIAdv iadv = {s = iadv.s ! QDir} ;
|
||||||
UttNP np = {s = np.s ! RSubj} ;
|
UttNP np = {s = np.s ! RSubj} ;
|
||||||
UttVP vp = {s = daComplex vp ! Perf ! agrP3 (GSg Neut)} ;
|
UttVP vp = {s = daComplex vp ! Perf ! agrP3 (GSg Neut)} ;
|
||||||
UttAdv adv = adv ;
|
UttAdv adv = adv ;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ concrete QuestionBul of Question = CatBul ** open ResBul, Prelude in {
|
|||||||
|
|
||||||
QuestVP ip vp = {
|
QuestVP ip vp = {
|
||||||
s = \\t,a,b,qform =>
|
s = \\t,a,b,qform =>
|
||||||
(mkClause (ip.s ! RSubj ! (case qform of {QDir=>Indef; QIndir=>Def})) {gn = ip.gn ; p = P3} vp).s ! t ! a ! b ! Main
|
(mkClause (ip.s ! RSubj ! qform) {gn = ip.gn ; p = P3} vp).s ! t ! a ! b ! Main
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
QuestSlash ip slash =
|
QuestSlash ip slash =
|
||||||
|
|||||||
@@ -522,13 +522,13 @@ resource ResBul = ParamX ** open Prelude in {
|
|||||||
DNeutDef => addDef dve
|
DNeutDef => addDef dve
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkIP : Str -> Str -> GenNum -> {s : Role => Species => Str ; gn : GenNum} =
|
mkIP : Str -> Str -> GenNum -> {s : Role => QForm => Str ; gn : GenNum} =
|
||||||
\koi,kogo,gn -> {
|
\koi,kogo,gn -> {
|
||||||
s = table {
|
s = table {
|
||||||
RSubj => table {Indef=>koi; Def=>koi+"òî"} ;
|
RSubj => table QForm [koi; koi+"òî"] ;
|
||||||
RObj Acc => table {Indef=>kogo; Def=>kogo+"òî"} ;
|
RObj Acc => table QForm [kogo; kogo+"òî"] ;
|
||||||
RObj Dat => table {Indef=>"íà" ++ kogo; Def=>"íà" ++ kogo+"òî"} ;
|
RObj Dat => table QForm ["íà" ++ kogo; kogo+"òî"] ;
|
||||||
RVoc => table {Indef=>koi; Def=>koi+"òî"}
|
RVoc => table QForm [koi; koi+"òî"]
|
||||||
} ;
|
} ;
|
||||||
gn = gn
|
gn = gn
|
||||||
} ;
|
} ;
|
||||||
@@ -575,15 +575,15 @@ resource ResBul = ParamX ** open Prelude in {
|
|||||||
Preposition : Type = {s : Str; c : Case};
|
Preposition : Type = {s : Str; c : Case};
|
||||||
|
|
||||||
mkQuestion :
|
mkQuestion :
|
||||||
{s : Species => Str} -> Clause ->
|
{s : QForm => Str} -> Clause ->
|
||||||
{s : Tense => Anteriority => Polarity => QForm => Str} = \wh,cl ->
|
{s : Tense => Anteriority => Polarity => QForm => Str} = \wh,cl ->
|
||||||
{
|
{
|
||||||
s = \\t,a,p =>
|
s = \\t,a,p,qform =>
|
||||||
let cls = cl.s ! t ! a ! p ;
|
let cls = cl.s ! t ! a ! p ;
|
||||||
in table {
|
in wh.s ! qform ++ cls ! case qform of {
|
||||||
QDir => wh.s ! Indef ++ cls ! Inv ;
|
QDir => Inv ;
|
||||||
QIndir => wh.s ! Def ++ cls ! Main
|
QIndir => Main
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
whichRP : GenNum => Str
|
whichRP : GenNum => Str
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ concrete StructuralBul of Structural = CatBul **
|
|||||||
here7to_Adv = ss ["äî òóê"] ;
|
here7to_Adv = ss ["äî òóê"] ;
|
||||||
here7from_Adv = ss ["îò òóê"] ;
|
here7from_Adv = ss ["îò òóê"] ;
|
||||||
how_IAdv = mkIAdv "êàê" ;
|
how_IAdv = mkIAdv "êàê" ;
|
||||||
how8many_IDet = {s = \\_ => table Species ["êîëêî";"êîëêîòî"]; n = Pl; nonEmpty = False} ;
|
how8many_IDet = {s = \\_ => table QForm ["êîëêî";"êîëêîòî"]; n = Pl; nonEmpty = False} ;
|
||||||
if_Subj = ss "àêî" ;
|
if_Subj = ss "àêî" ;
|
||||||
in8front_Prep = mkPrep "ïðåä" Acc ;
|
in8front_Prep = mkPrep "ïðåä" Acc ;
|
||||||
i_Pron = mkPron "àç" "ìåí" "ìè" "ìîé" "ìîÿ" "ìîÿò" "ìîÿ" "ìîÿòà" "ìîå" "ìîåòî" "ìîè" "ìîèòå" (GSg Masc) P1 ;
|
i_Pron = mkPron "àç" "ìåí" "ìè" "ìîé" "ìîÿ" "ìîÿò" "ìîÿ" "ìîÿòà" "ìîå" "ìîåòî" "ìîè" "ìîèòå" (GSg Masc) P1 ;
|
||||||
@@ -101,10 +101,10 @@ concrete StructuralBul of Structural = CatBul **
|
|||||||
when_IAdv = mkIAdv "êîãà" ;
|
when_IAdv = mkIAdv "êîãà" ;
|
||||||
when_Subj = ss "êîãàòî" ;
|
when_Subj = ss "êîãàòî" ;
|
||||||
where_IAdv = mkIAdv "êúäå" ;
|
where_IAdv = mkIAdv "êúäå" ;
|
||||||
which_IQuant = {s = table GenNum [table Species ["êîé";"êîéòî"];
|
which_IQuant = {s = table GenNum [table QForm ["êîé";"êîéòî"];
|
||||||
table Species ["êîÿ";"êîÿòî"];
|
table QForm ["êîÿ";"êîÿòî"];
|
||||||
table Species ["êîå";"êîåòî"];
|
table QForm ["êîå";"êîåòî"];
|
||||||
table Species ["êîè";"êîèòî"]]} ;
|
table QForm ["êîè";"êîèòî"]]} ;
|
||||||
whoSg_IP = mkIP "êîé" "êîãî" (GSg Masc) ;
|
whoSg_IP = mkIP "êîé" "êîãî" (GSg Masc) ;
|
||||||
whoPl_IP = mkIP "êîè" "êîè" GPl ;
|
whoPl_IP = mkIP "êîè" "êîè" GPl ;
|
||||||
why_IAdv = mkIAdv "çàùî" ;
|
why_IAdv = mkIAdv "çàùî" ;
|
||||||
|
|||||||
Reference in New Issue
Block a user