mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 09:28:54 -06:00
Synchronized remote master; then pulled and resolved conflicts
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
abstract TestLang =
|
||||
Grammar - [SlashVP, RelSlash],
|
||||
Grammar - [SlashVP, RelSlash, QuestSlash, AdvSlash, SlashPrep, SlashVS, UseSlash],
|
||||
TestLexiconGerAbs
|
||||
, Construction
|
||||
** {
|
||||
, Extend [PassVPSlash,PastPartAP
|
||||
,RNP,ReflRNP,ReflPron,ReflPoss,PredetRNP,AdvRNP,ReflA2RNP,PossPronRNP
|
||||
,RNPList,ConjRNP,Base_rr_RNP,Base_nr_RNP,Base_rn_RNP,Cons_rr_RNP,Cons_nr_RNP]
|
||||
** {
|
||||
flags startcat=Phr ;
|
||||
|
||||
fun
|
||||
@@ -21,8 +24,8 @@ abstract TestLang =
|
||||
ComplSlashSlash: VPSlashSlash -> NP -> VPSlash ;
|
||||
|
||||
-- Passive
|
||||
PastPartAP : VPSlash -> AP ; -- lost (opportunity) ; (opportunity) lost in space
|
||||
PassVPSlash : VPSlash -> VP ; -- from ExtraGer, to be corrected
|
||||
-- PastPartAP : VPSlash -> AP ; -- lost (opportunity) ; (opportunity) lost in space
|
||||
-- PassVPSlash : VPSlash -> VP ; -- from ExtraGer, to be corrected
|
||||
|
||||
PassV2S : V2S -> S -> VP ;
|
||||
PassV2Q : V2Q -> QS -> VP ;
|
||||
@@ -39,5 +42,12 @@ abstract TestLang =
|
||||
fun
|
||||
RelSlash : RP -> ClauseSlash -> RCl ;
|
||||
SlashVP : NP -> VPSlash -> ClauseSlash ;
|
||||
QuestSlash : IP -> ClauseSlash -> QCl ; -- whom does John love
|
||||
-- QCl = {s : Mood => ResGer.Tense => Anteriority => Polarity => QForm => Str} ;
|
||||
AdvSlash : ClauseSlash -> Adv -> ClauseSlash ;
|
||||
SlashPrep : Cl -> Prep -> ClauseSlash ;
|
||||
SlashVS : NP -> VS -> SSlash -> ClauseSlash ;
|
||||
UseSlash : Temp -> Pol -> ClauseSlash -> SSlash ;
|
||||
|
||||
ReflPossPron : Pron -> RNP -> NP ; -- not ReflPossPron : Pron -> Quant of Extend
|
||||
} ;
|
||||
|
||||
@@ -5,7 +5,9 @@ concrete TestLangEng of TestLang =
|
||||
GrammarEng
|
||||
, TestLexiconEng
|
||||
, ConstructionEng
|
||||
** open (R=ResEng), (P=ParadigmsEng), Prelude, (E=ExtendEng)
|
||||
, ExtendEng[PastPartAP,PassVPSlash,
|
||||
RNP,ReflRNP,ReflPron,ReflPoss,PredetRNP,AdvRNP,ReflA2RNP,PossPronRNP,ReflPossPron]
|
||||
** open (R=ResEng), (P=ParadigmsEng), Prelude --, (E=ExtendEng)
|
||||
in {
|
||||
|
||||
flags
|
||||
@@ -43,8 +45,8 @@ concrete TestLangEng of TestLang =
|
||||
let vps = R.insertObj (\\_ => v.s ! R.VPPart ++ v.p) (R.predAux R.auxBe) ** {c2 = v.c2}
|
||||
in R.insertObj (\\_ => vps.c2 ++ np.s ! R.NPAcc) vps ;
|
||||
|
||||
PastPartAP = E.PastPartAP ;
|
||||
PassVPSlash = E.PassVPSlash ;
|
||||
-- PastPartAP = E.PastPartAP ;
|
||||
-- PassVPSlash = E.PassVPSlash ;
|
||||
|
||||
Pass2V4 v np =
|
||||
let vpss = R.insertObj (\\_ => v.s ! R.VPPart ++ v.p) (R.predAux R.auxBe) ** {c2 = v.c3 ; c3 = v.c4}
|
||||
|
||||
@@ -2,9 +2,12 @@
|
||||
-- use the modified files in gf-rgl/src/german
|
||||
|
||||
concrete TestLangGer of TestLang =
|
||||
GrammarGer - [SlashVP, RelSlash]
|
||||
GrammarGer - [SlashVP,RelSlash,QuestSlash,AdvSlash,SlashPrep,SlashVS,UseSlash]
|
||||
, TestLexiconGer
|
||||
-- , ConstructionGer
|
||||
, ConstructionGer
|
||||
, ExtraGer[RNP,ReflRNP,ReflPron,ReflPoss,PredetRNP
|
||||
,RNPList,ConjRNP --,Base_rr_RNP,Base_nr_RNP,Base_rn_RNP,Cons_rr_RNP,Cons_nr_RNP
|
||||
]
|
||||
** open ResGer,Prelude,(P=ParadigmsGer) in {
|
||||
|
||||
flags startcat = Phr ; unlexer = text ; lexer = text ;
|
||||
@@ -47,7 +50,7 @@ concrete TestLangGer of TestLang =
|
||||
c = case <v.c2.c, isaPrep v.c2> of { -- v.objCtrl=True HL 3/22
|
||||
<Acc, False> => Nom ; _ => v.c2.c} ; -- acc;pcase object -> nom;pcase subject
|
||||
vp2 = insertObj (\\_ => v.s ! VPastPart APred) (predV werdenPass)
|
||||
** { c1 = v.c2 ** {c = c} } ;
|
||||
** { c1 = subjPrep v.c2 } ;
|
||||
in insertInf inf vp2 ; -- v=lassen needs in-place inf instead
|
||||
|
||||
PassVPSlash vp =
|
||||
@@ -63,7 +66,7 @@ concrete TestLangGer of TestLang =
|
||||
-- 3/22 works for vp = (SlashV2V v2v reflVP): wir werden gebeten, uns zu waschen
|
||||
|
||||
PastPartAP vp = {
|
||||
s = \\af => (vp.nn ! agrP3 Sg).p1 ++ (vp.nn ! agrP3 Sg).p2 ++
|
||||
s = \\af => (vp.nn ! agrP3 Sg).p1 ++ (vp.nn ! agrP3 Sg).p2 ++
|
||||
(vp.nn ! agrP3 Sg).p3 ++ (vp.nn ! agrP3 Sg).p4 ++ vp.adj ++ vp.a2
|
||||
++ vp.inf.inpl.p2 ++ vp.s.s ! VPastPart af ;
|
||||
isPre = True ;
|
||||
@@ -171,24 +174,42 @@ gr -tr (PredVP (UsePron ?) (ComplSlash (SlashV2V lassen_V2V (ReflVP (SlashV2a wa
|
||||
-}
|
||||
RelSlash rp cls = lin RCl {
|
||||
s = \\m,t,a,p,gn =>
|
||||
-- appPrep cls.c2 (\\k => usePrepC k (\c -> rp.s ! gn ! c)) ++
|
||||
appPrep cls.c2 (rp.s ! gn) ++
|
||||
cls.s ! m ! t ! a ! p ! Sub ! gn ;
|
||||
c = cls.c2.c
|
||||
} ;
|
||||
{-
|
||||
QuestSlash ip slash = {
|
||||
|
||||
QuestSlash ip slash = let gn : GenNum = case ip.n of {Sg => GSg Masc ; _ => GPl} in {
|
||||
s = \\m,t,a,p =>
|
||||
let
|
||||
cls = slash.s ! m ! t ! a ! p ;
|
||||
who = appPrep slash.c2 (\\k => usePrepC k (\c -> ip.s ! c)) ;
|
||||
who = appPrepC slash.c2 ip.s ;
|
||||
in table {
|
||||
QDir => who ++ cls ! Inv ;
|
||||
QIndir => who ++ cls ! Sub
|
||||
QDir => who ++ cls ! Inv ! (RGenNum gn);
|
||||
QIndir => who ++ cls ! Sub ! (RGenNum gn)
|
||||
}
|
||||
} ;
|
||||
-}
|
||||
|
||||
AdvSlash slash adv = {
|
||||
s = \\m,t,a,b,o,gn => slash.s ! m ! t ! a ! b ! o ! gn ++ adv.s ;
|
||||
c2 = slash.c2
|
||||
} ;
|
||||
|
||||
SlashPrep cl prep = {
|
||||
s = \\m,t,a,p,o,gn => cl.s ! m ! t ! a ! p ! o ;
|
||||
c2 = prep
|
||||
} ;
|
||||
|
||||
SlashVS np vs slash =
|
||||
let subj = mkSubj np PrepNom ;
|
||||
vps = insertExtrapos (conjThat ++ slash.s ! Sub) (predV vs)
|
||||
** {c2 = slash.c2 ; objCtrl = False} -- default objCtrl guessed
|
||||
in mkClSlash subj.p1 subj.p2 vps ;
|
||||
|
||||
UseSlash t p cl = {
|
||||
s = \\o => t.s ++ p.s ++ cl.s ! t.m ! t.t ! t.a ! p.p ! o ! RSentence ;
|
||||
c2 = cl.c2
|
||||
} ;
|
||||
|
||||
oper
|
||||
gnToAgr : RelGenNum -> Agr = \gn ->
|
||||
|
||||
@@ -59,5 +59,7 @@ lin
|
||||
warnen_V2V = defaultV2V (regV "warn") ; -- typ=VVInf
|
||||
versprechen_dat_V2V = defaultV2V (regV "promise") ; -- typ=VVInf
|
||||
lassen_V2V = ParadigmsEng.mkV2V (I.let_V) ; -- typ=VVAux
|
||||
|
||||
-- aci verb:
|
||||
sehen_V2V = mkV2V (I.see_V) ;
|
||||
hoeren_V2V = mkV2V (I.hear_V) ;
|
||||
}
|
||||
|
||||
@@ -69,5 +69,7 @@ lin
|
||||
-- subject control verb:
|
||||
versprechen_dat_V2V = subjV2V (mkV2V (irregV "versprechen" "verspricht"
|
||||
"versprach" "verspräche" "versprochen") datPrep) ;
|
||||
|
||||
-- aci verb:
|
||||
sehen_V2V = auxV2V (irregV "sehen" "sieht" "sah" "sähe" "gesehen") accPrep ;
|
||||
hoeren_V2V = auxV2V (regV "hören") accPrep ;
|
||||
}
|
||||
|
||||
@@ -33,6 +33,9 @@ fun
|
||||
warnen_V2V : V2V ; -- -aux, object control
|
||||
versprechen_dat_V2V : V2V ; -- -aux, subject control
|
||||
lassen_V2V : V2V ; -- +aux(inf), object control
|
||||
-- aci verb: -- +aux(inf), object control
|
||||
sehen_V2V : V2V ;
|
||||
hoeren_V2V : V2V ;
|
||||
|
||||
cat
|
||||
V4 ;
|
||||
|
||||
@@ -193,3 +193,14 @@ DetCN (DetQuant DefArt NumSg) (RelCN (UseN boy_N) (UseRCl (TTAnt TPres ASimul) P
|
||||
|
||||
PredVP (UsePN john_PN) (ComplVS say_VS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron we_Pron) (ComplVV want_VV (ComplSlash (SlashV2V lassen_V2V (ComplSlash (SlashV2V helfen_V2V (ComplSlash (SlashV2A paint_V2A (PositA blue_A)) (DetCN (DetQuant DefArt NumSg) (UseN house_N)))) (UsePron he_Pron))) (DetCN (DetQuant DefArt NumPl) (UseN child_N)))))))
|
||||
|
||||
-- aci
|
||||
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2V sehen_V2V (UseV sleep_V)) (DetCN (DetQuant DefArt NumSg) (UseN dog_N)))))) NoVoc
|
||||
|
||||
PredVP (UsePron we_Pron) (ComplSlash (SlashV2VNP hoeren_V2V (DetCN (DetQuant DefArt NumPl) (UseN man_N)) (Slash2V3 talk_V3 (UsePron he_Pron))) (DetCN (DetQuant (PossPron they_Pron) NumPl) (UseN wife_N)))
|
||||
|
||||
PredVP (UsePron we_Pron) (ComplSlash (SlashV2V hoeren_V2V (ComplSlash (Slash2V3 talk_V3 (UsePron he_Pron)) (DetCN (DetQuant (PossPron they_Pron) NumPl) (UseN wife_N)))) (DetCN (DetQuant DefArt NumPl) (UseN man_N)))
|
||||
|
||||
PredVP (UsePron we_Pron) (ComplSlash (SlashV2V hoeren_V2V (ComplSlash (Slash3V3 talk_V3 (DetCN (DetQuant (PossPron they_Pron) NumPl) (UseN wife_N))) (UsePron he_Pron))) (DetCN (DetQuant DefArt NumPl) (UseN man_N)))
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user