mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-09-28 05:03:42 -06:00
Reorganizing Ger by smaller prepositions and separating object cases from all (N, NP, etc.) cases (#474)
* (Ger) prepositions of contracting type, to base S,VV,QS-correlates and split adverbs on
* api/TryGer: omit mkAdv,mkIAdv,mkConj from ParadigmsGer, mkStructuralGer
* (Ger) sync with 'master' (undo changes unrelated to Preposition) up to few corrections
* (Ger) correct GPl to CPl in ExtraGer
* Returning to f4aae6a61a by ignoring prep-contraction
* (Ger) Prep contracting with DefArtSg, IP, RP
* (Ger) Corrected GPl to CPl in ExtraGer, ExtendGer
* (Ger) Simplified many lincats (Prep,V2,N2,A2,.. VPSlash,ClSlash) by reducing
Preposition from 4*3 = 12 parameters to 3*2 = 6 via
Prepositon : Type = {s : PrepForm => Str; s2:Str ; c : ObjCase ; t : PrepType} ;
param PrepType = isCase | isPrep ; -- isPrepDefArt
ObjCase = Acc | Dat | Gen ; Case = Nom | Obj ObjCase ;
This commit is contained in:
@@ -31,15 +31,15 @@ concrete TestLangGer of TestLang =
|
||||
(insertObjRefl (predVc v3) ** {c2 = v3.c3});
|
||||
|
||||
PassV2Q v q =
|
||||
let c = case <v.c2.c, isaPrep v.c2> of {
|
||||
<Acc, False> => Nom ; _ => v.c2.c} ; -- acc;pcase object -> nom;pcase subject
|
||||
let c = case <v.c2.c, v.c2.t> of {
|
||||
<Acc, isCase> => Nom ; _ => v.c2.c} ; -- acc;pcase object -> nom;pcase subject
|
||||
vp = insertObj (\\_ => v.s ! VPastPart APred) (predV werdenPass)
|
||||
** { c1 = v.c2 ** {c = c} }
|
||||
in insertExtrapos (bindComma ++ q.s ! QIndir) vp ;
|
||||
|
||||
PassV2S v s =
|
||||
let c = case <v.c2.c, isaPrep v.c2> of {
|
||||
<Acc, False> => Nom ; _ => v.c2.c} ; -- acc;pcase object -> nom;pcase subject
|
||||
let c = case <v.c2.c, v.c2.t> of {
|
||||
<Acc, isCase> => Nom ; _ => v.c2.c} ; -- acc;pcase object -> nom;pcase subject
|
||||
vp = insertObj (\\_ => v.s ! VPastPart APred) (predV werdenPass)
|
||||
** { c1 = v.c2 ** {c = c} }
|
||||
in insertExtrapos (bindComma ++ conjThat ++ s.s ! Sub) vp ;
|
||||
@@ -47,15 +47,15 @@ concrete TestLangGer of TestLang =
|
||||
PassV2V v vp =
|
||||
let
|
||||
inf = mkInf v.isAux Simul Pos vp ; -- ok for v.isAux=False, v.c2.c=Acc
|
||||
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
|
||||
c = case <v.c2.c, v.c2.t> of { -- v.objCtrl=True HL 3/22
|
||||
<Acc, isCase> => Nom ; _ => v.c2.c} ; -- acc;pcase object -> nom;pcase subject
|
||||
vp2 = insertObj (\\_ => v.s ! VPastPart APred) (predV werdenPass)
|
||||
** { c1 = subjPrep v.c2 } ;
|
||||
in insertInf inf vp2 ; -- v=lassen needs in-place inf instead
|
||||
|
||||
PassVPSlash vp =
|
||||
let c = case <vp.c2.c, isaPrep vp.c2> of {
|
||||
<Acc, False> => Nom ; _ => vp.c2.c} ;
|
||||
let c = case <vp.c2.c, vp.c2.t> of {
|
||||
<Acc, isCase> => Nom ; _ => vp.c2.c} ;
|
||||
ctrl = case vp.objCtrl of { True => False ; _ => True } -- always False?
|
||||
in -- insertObj (\\_ => (PastPartAP vp).s ! APred) (predV werdenPass ** {c1 = vp.c2 ** {c = c}})
|
||||
insertObj (\\_ => vp.s.s ! (VPastPart APred))
|
||||
|
||||
Reference in New Issue
Block a user