Icelandic added to RGL by Bjarki Traustason

This commit is contained in:
bjatra5
2017-01-16 16:30:50 +00:00
parent b52406a9cc
commit 50d5d62c2a
39 changed files with 5265 additions and 0 deletions

View File

@@ -0,0 +1,92 @@
concrete QuestionIce of Question = CatIce ** open ResIce, Prelude in {
lin
QuestCl cl = {
s = \\ten,ant,pol => table {
QDir => cl.s ! ten ! ant ! pol ! OQuestion ;
QIndir => "ef" ++ cl.s ! ten ! ant ! pol ! ODir
}
} ;
QuestVP ip vp =
let
cl = mkClause (ip.s ! Masc ! Nom) vp {g = Masc; n = ip.n; p = P3}
in {s = \\ten,ant,pol,_ => cl.s ! ten ! ant ! pol ! ODir} ;
QuestSlash ip cls = {
s = \\ten,ant,pol,_ => ip.s ! Masc ! Nom ++ cls.s ! ten ! ant ! pol ! ODir ++ cls.c2.s
} ;
QuestIComp icomp np =
let
cl = mkClause (np.s ! NCase Nom) (predV verbBe) np.a ;
why = icomp.s ! np.a.n ! np.a.g ! Nom
in {
s = \\ten,ant,pol => table {
QDir => why ++ cl.s ! ten ! ant ! pol ! OQuestion ;
QIndir => why ++ cl.s ! ten ! ant ! pol ! ODir
}
} ;
QuestIAdv adv cl = {
s = \\ten,ant,pol => table {
QDir => adv.s ++ cl.s ! ten ! ant ! pol ! OQuestion ;
QIndir => adv.s ++ "ef" ++ cl.s ! ten ! ant ! pol ! ODir
}
} ;
IdetCN idet cn = {
s = \\_,c => idet.s ! cn.g ! c ++ cn.s ! idet.n ! Free ! Weak ! c ;
n = idet.n
} ;
IdetIP idet = {
s = \\g,c => idet.s ! g ! c ;
n = idet.n
} ;
AdvIP ip adv = {
s = \\g,c => ip.s ! g ! c ++ adv.s ;
n = ip.n
} ;
IdetQuant iquant num = {
s = \\g,c => iquant.s ! num.n ! g ! c ++ num.s ! g ! c ;
n = num.n
} ;
-- for feminine and neuter version, see Extra
PrepIP prep ip = {
s = prep.s ++ ip.s ! Masc ! prep.c
} ;
AdvIAdv iadv adv = {s = iadv.s ++ adv.s} ;
CompIAdv iadv = {s = \\_,_,_ => iadv.s} ;
CompIP ip = {s = \\_,_,_ => ip.s ! Masc ! Nom} ;
lincat
QVP = ResIce.VP ;
lin
ComplSlashIP vps ip = {
s = vps.s ;
indObj = vps.indObj ;
dirObj = \\a => ip.s ! a.g ! vps.c2.c ++ vps.dirObj ! a ;
p = vps.p ;
a2 = vps.a2 ;
indShift = vps.indShift ;
dirShift = vps.dirShift
} ;
AdvQVP vp iadv = vp ** {dirObj = \\a => vp.dirObj ! a ++ iadv.s} ;
AddAdvQVP qvp iadv = qvp ** {dirObj = \\a => qvp.dirObj ! a ++ iadv.s} ;
QuestQVP ip vp =
let
cl = mkClause (ip.s ! Masc ! Nom) vp {g = Masc; n = ip.n; p = P3}
in { s = \\ten,ant,pol,_ => cl.s ! ten ! ant ! pol ! ODir } ;
}