transitive verbs in Slovenian

This commit is contained in:
krasimir
2016-05-03 13:47:14 +00:00
parent a9d257a31c
commit c42d31bc45
4 changed files with 22 additions and 6 deletions

View File

@@ -6,6 +6,8 @@ lincat
-- Verb -- Verb
VP = ResSlv.VP ; VP = ResSlv.VP ;
VPSlash = ResSlv.VP ** {c2 : Prep} ;
Comp = {s : Agr => Str} ;
-- Adjective -- Adjective
AP = {s : Species => Gender => Case => Number => Str} ; AP = {s : Species => Gender => Case => Number => Str} ;
@@ -28,7 +30,8 @@ lincat
Prep = {s : Str; c : Case} ; Prep = {s : Str; c : Case} ;
-- Open lexical classes, e.g. Lexicon -- Open lexical classes, e.g. Lexicon
V = {s : VForm => Str}; V = {s : VForm => Str};
V2 = {s : VForm => Str; c2 : Prep};
A = {s : AForm => Str}; A = {s : AForm => Str};

View File

@@ -71,6 +71,9 @@ oper
} }
}; };
mkV2 : V -> V2 =
\v -> v ** {c2 = lin Prep {s=""; c=Acc}} ;
mkA : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> A = mkA : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> A =
\positMSgNom,positMSgNomDef,positMSgGen,positMSgDat,positMSgAcc,positMSgAccIndef,positMSgAccDef,positMSgLoc,positMSgInstr, \positMSgNom,positMSgNomDef,positMSgGen,positMSgDat,positMSgAcc,positMSgAccIndef,positMSgAccDef,positMSgLoc,positMSgInstr,
positMDlNom,positMDlGen,positMDlDat,positMDlAcc,positMDlLoc,positMDlInstr, positMDlNom,positMDlGen,positMDlDat,positMDlAcc,positMDlLoc,positMDlInstr,

View File

@@ -30,7 +30,7 @@ param
oper oper
Agr = {g : Gender; n : Number; p : Person} ; Agr = {g : Gender; n : Number; p : Person} ;
VP = {s : Tense => Agr => Str} ; VP = {s : Tense => Agr => Str; s2 : Agr => Str} ;
predV : (VForm => Str) -> VP = predV : (VForm => Str) -> VP =
\v -> { s = table { \v -> { s = table {
@@ -38,7 +38,8 @@ oper
Past => \\a => "biti" ++ v ! VPastPart a.g a.n ; Past => \\a => "biti" ++ v ! VPastPart a.g a.n ;
Fut => \\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 Cond => \\a => "bi" ++ v ! VPastPart a.g a.n
} } ;
s2= \\a => ""
} ; } ;
Clause : Type = { Clause : Type = {
@@ -48,7 +49,11 @@ oper
mkClause : Str -> Agr -> VP -> Clause = mkClause : Str -> Agr -> VP -> Clause =
\subj,agr,vp -> { \subj,agr,vp -> {
s = \\t,a,p => 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 ;
} ; } ;
} }

View File

@@ -3,4 +3,9 @@ concrete VerbSlv of Verb = CatSlv ** open ResSlv, Prelude in {
lin lin
UseV v = predV v.s ; 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 ;
} }