1
0
forked from GitHub/gf-rgl

(Por,Spa) don't invert word order in questions most of the time

- don't invert in QuestIAdv either
(Romance) allow for finer-grained choice of when to invert word order
in questions
This commit is contained in:
odanoburu
2019-02-09 11:50:11 -02:00
parent ceb876eb37
commit de301c45cd
4 changed files with 16 additions and 5 deletions

View File

@@ -1,6 +1,6 @@
--# -path=.:../romance:../abstract:../common:../prelude --# -path=.:../romance:../abstract:../common:../prelude
instance DiffPor of DiffRomance - [chooseTA,partAgr,vpAgrSubj,vpAgrClits] = open CommonRomance, PhonoPor, BeschPor, Prelude in { instance DiffPor of DiffRomance - [iAdvQuestionInv,chooseTA,otherInv,partAgr,vpAgrSubj,vpAgrClits] = open CommonRomance, PhonoPor, BeschPor, Prelude in {
flags optimize=noexpand ; flags optimize=noexpand ;
coding=utf8 ; coding=utf8 ;
@@ -96,6 +96,10 @@ instance DiffPor of DiffRomance - [chooseTA,partAgr,vpAgrSubj,vpAgrClits] = open
estarCopula = EstarCop ; estarCopula = EstarCop ;
ficarCopula = FicarCop ; ficarCopula = FicarCop ;
oper
iAdvQuestionInv : Direct = DDir ;
otherInv : Direct = DDir ;
oper oper
-- the other Cases are defined in ResRomance -- the other Cases are defined in ResRomance
dative : Case = CPrep P_a ; dative : Case = CPrep P_a ;

View File

@@ -63,6 +63,10 @@ interface DiffRomance = open CommonRomance, Prelude in {
oper iAdvQuestionInv : Direct = DInv ; -- except Fre oper iAdvQuestionInv : Direct = DInv ; -- except Fre
oper iCompQuestionInv : Direct = DInv ; -- for Cat,Por,Spa where otherInv will be DDir
oper otherInv : Direct = DInv ; -- except Cat, Por, Spa
--2 Constants that must derivatively depend on language --2 Constants that must derivatively depend on language
param NPForm = Ton Case | Aton Case | Poss {g : Gender ; n : Number} ; --- AAgr param NPForm = Ton Case | Aton Case | Poss {g : Gender ; n : Number} ; --- AAgr

View File

@@ -29,7 +29,7 @@ incomplete concrete QuestionRomance of Question =
\d -> slash.s ! ip.a ! d ! t ! a ! p ! Indic ; \d -> slash.s ! ip.a ! d ! t ! a ! p ! Indic ;
who = slash.c2.s ++ ip.s ! slash.c2.c who = slash.c2.s ++ ip.s ! slash.c2.c
in table { in table {
QDir => who ++ cls DInv ; QDir => who ++ cls otherInv ;
QIndir => who ++ cls DDir QIndir => who ++ cls DDir
} }
} ; } ;
@@ -51,7 +51,7 @@ incomplete concrete QuestionRomance of Question =
let let
vp = predV (selectCopula icomp.cop) ; vp = predV (selectCopula icomp.cop) ;
cls = (mkClause (np.s ! Nom).comp np.hasClit np.isPol np.a vp).s ! cls = (mkClause (np.s ! Nom).comp np.hasClit np.isPol np.a vp).s !
DInv ! t ! a ! p ! Indic ; iCompQuestionInv ! t ! a ! p ! Indic ;
why = icomp.s ! complAgr np.a ; why = icomp.s ! complAgr np.a ;
in why ++ cls in why ++ cls
} ; } ;

View File

@@ -1,6 +1,6 @@
--# -path=.:../romance:../abstract:../common:prelude --# -path=.:../romance:../abstract:../common:prelude
instance DiffSpa of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits,contractInf] = open CommonRomance, PhonoSpa, BeschSpa, Prelude in { instance DiffSpa of DiffRomance - [iAdvQuestionInv,otherInv,partAgr,vpAgrSubj,vpAgrClits,contractInf] = open CommonRomance, PhonoSpa, BeschSpa, Prelude in {
flags optimize=noexpand ; flags optimize=noexpand ;
coding=utf8 ; coding=utf8 ;
@@ -139,6 +139,9 @@ instance DiffSpa of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits,contractInf] = o
serCopula = False ; serCopula = False ;
estarCopula = True ; estarCopula = True ;
iAdvQuestionInv : Direct = DDir ;
otherInv : Direct = DDir ;
negation : RPolarity => (Str * Str) = table { negation : RPolarity => (Str * Str) = table {
RPos => <[],[]> ; RPos => <[],[]> ;
RNeg _ => <"no",[]> RNeg _ => <"no",[]>