mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-22 01:22:51 -06:00
transitive verbs in Slovenian
This commit is contained in:
@@ -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} ;
|
||||||
@@ -29,6 +31,7 @@ lincat
|
|||||||
|
|
||||||
-- 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};
|
||||||
|
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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 ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user