mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
transitive verbs in Slovenian
This commit is contained in:
@@ -6,6 +6,8 @@ lincat
|
||||
|
||||
-- Verb
|
||||
VP = ResSlv.VP ;
|
||||
VPSlash = ResSlv.VP ** {c2 : Prep} ;
|
||||
Comp = {s : Agr => Str} ;
|
||||
|
||||
-- Adjective
|
||||
AP = {s : Species => Gender => Case => Number => Str} ;
|
||||
@@ -28,7 +30,8 @@ lincat
|
||||
Prep = {s : Str; c : Case} ;
|
||||
|
||||
-- Open lexical classes, e.g. Lexicon
|
||||
V = {s : VForm => Str};
|
||||
V = {s : VForm => Str};
|
||||
V2 = {s : VForm => Str; c2 : Prep};
|
||||
|
||||
A = {s : AForm => Str};
|
||||
|
||||
|
||||
@@ -70,7 +70,10 @@ oper
|
||||
VImper2 Pl => imp2pl
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
mkV2 : V -> V2 =
|
||||
\v -> v ** {c2 = lin Prep {s=""; c=Acc}} ;
|
||||
|
||||
mkA : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> A =
|
||||
\positMSgNom,positMSgNomDef,positMSgGen,positMSgDat,positMSgAcc,positMSgAccIndef,positMSgAccDef,positMSgLoc,positMSgInstr,
|
||||
positMDlNom,positMDlGen,positMDlDat,positMDlAcc,positMDlLoc,positMDlInstr,
|
||||
|
||||
@@ -30,15 +30,16 @@ param
|
||||
oper
|
||||
Agr = {g : Gender; n : Number; p : Person} ;
|
||||
|
||||
VP = {s : Tense => Agr => Str} ;
|
||||
|
||||
VP = {s : Tense => Agr => Str; s2 : Agr => Str} ;
|
||||
|
||||
predV : (VForm => Str) -> VP =
|
||||
\v -> { s = table {
|
||||
Pres => \\a => v ! VPres a.n a.p ;
|
||||
Past => \\a => "biti" ++ v ! VPastPart a.g a.n ;
|
||||
Fut => \\a => "biti" ++ v ! VPastPart a.g a.n ;
|
||||
Cond => \\a => "bi" ++ v ! VPastPart a.g a.n
|
||||
}
|
||||
} ;
|
||||
s2= \\a => ""
|
||||
} ;
|
||||
|
||||
Clause : Type = {
|
||||
@@ -48,7 +49,11 @@ oper
|
||||
mkClause : Str -> Agr -> VP -> Clause =
|
||||
\subj,agr,vp -> {
|
||||
s = \\t,a,p =>
|
||||
subj ++ vp.s ! t ! agr
|
||||
subj ++ vp.s ! t ! agr ++ vp.s2 ! agr
|
||||
} ;
|
||||
|
||||
insertObj : (Agr => Str) -> VP -> VP = \obj,vp -> vp ** {
|
||||
s2 = \\a => vp.s2 ! a ++ obj ! a ;
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -3,4 +3,9 @@ concrete VerbSlv of Verb = CatSlv ** open ResSlv, Prelude in {
|
||||
lin
|
||||
UseV v = predV v.s ;
|
||||
|
||||
SlashV2a v = predV v.s ** {c2 = v.c2} ;
|
||||
|
||||
ComplSlash vp np =
|
||||
insertObj (\\_ => vp.c2.s ++ np.s ! vp.c2.c) vp ;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user