more updates from Codex

This commit is contained in:
Krasimir Angelov
2026-09-18 10:30:53 +02:00
parent 4bf10ff93a
commit bb5372b159
17 changed files with 626 additions and 170 deletions
+36 -10
View File
@@ -1,20 +1,36 @@
concrete QuestionFao of Question = CatFao ** open ResFao in {
lincat QVP = {s : Tense => Polarity => Str} ;
lincat QVP = {
s,anterior : Tense => Polarity => Str ;
future,conditional : Polarity => Str
} ;
lin
QuestCl cl = {s = cl.Indicative} ;
QuestCl cl = {
s = cl.Interrogative ; anterior = cl.AnteriorInterrogative ;
future = cl.FutureInterrogative ; conditional = cl.ConditionalInterrogative
} ;
QuestVP ip vp = {
s = \\t,pol => ip.s ++ vp.Indicative ! t ! pol ! Masc ! persNum ip.n P3
s = \\t,pol => ip.s ++ vp.Indicative ! t ! pol ! Masc ! persNum ip.n P3 ;
anterior = \\t,pol => ip.s ++ perfectAux ! t ! persNum ip.n P3 ++ negStr pol ++ vp.Converb ;
future = \\pol => ip.s ++ futureAux ! persNum ip.n P3 ++ negStr pol ++ vp.Nonfinite ;
conditional = \\pol => ip.s ++ conditionalAux ! persNum ip.n P3 ++ negStr pol ++ vp.Nonfinite
} ;
QuestSlash ip cls = {
s = \\t,pol => ip.s ++ cls.s ! t ! pol
s = \\t,pol => ip.s ++ cls.s ! t ! pol ; anterior = \\t,pol => ip.s ++ cls.s ! t ! pol ;
future = \\pol => ip.s ++ cls.s ! Pres ! pol ; conditional = \\pol => ip.s ++ cls.s ! Past ! pol
} ;
QuestIAdv iadv cl = {
s = \\t,pol => iadv.s ++ cl.Indicative ! t ! pol
s = \\t,pol => iadv.s ++ cl.Interrogative ! t ! pol ;
anterior = \\t,pol => iadv.s ++ cl.AnteriorInterrogative ! t ! pol ;
future = \\pol => iadv.s ++ cl.FutureInterrogative ! pol ;
conditional = \\pol => iadv.s ++ cl.ConditionalInterrogative ! pol
} ;
QuestIComp icomp np = {
s = \\t,pol => icomp.s ++ copula ! t ! persNum np.n np.p ++ negStr pol ++ np.s ! Nom
s = \\t,pol => icomp.s ++ copula ! t ! persNum np.n np.p ++ negStr pol ++ np.s ! Nom ;
anterior = \\t,pol => icomp.s ++ perfectAux ! t ! persNum np.n np.p ++ negStr pol ++ "verið" ++ np.s ! Nom ;
future = \\pol => icomp.s ++ futureAux ! persNum np.n np.p ++ negStr pol ++ "vera" ++ np.s ! Nom ;
conditional = \\pol => icomp.s ++ conditionalAux ! persNum np.n np.p ++ negStr pol ++ "vera" ++ np.s ! Nom
} ;
IdetCN idet cn = {
@@ -36,15 +52,25 @@ lin
CompIP ip = {s = ip.s} ;
ComplSlashIP vps ip = {
s = \\t,pol => vps.Indicative ! t ! PSg P3 ++ vps.particle ++ negStr pol ++ vps.c2.s ++ ip.s ++ vps.sc
s = \\t,pol => vps.Indicative ! t ! PSg P3 ++ vps.particle ++ negStr pol ++ vps.c2.s ++ ip.s ++ vps.sc ;
anterior = \\t,pol => perfectAux ! t ! PSg P3 ++ negStr pol ++ vps.Converb ++ vps.c2.s ++ ip.s ++ vps.sc ;
future = \\pol => futureAux ! PSg P3 ++ negStr pol ++ vps.Nonfinite ++ vps.c2.s ++ ip.s ++ vps.sc ;
conditional = \\pol => conditionalAux ! PSg P3 ++ negStr pol ++ vps.Nonfinite ++ vps.c2.s ++ ip.s ++ vps.sc
} ;
AdvQVP vp iadv = {
s = \\t,pol => vp.Indicative ! t ! pol ! Masc ! PSg P3 ++ iadv.s
s = \\t,pol => vp.Indicative ! t ! pol ! Masc ! PSg P3 ++ iadv.s ;
anterior = \\t,pol => perfectAux ! t ! PSg P3 ++ negStr pol ++ vp.Converb ++ iadv.s ;
future = \\pol => futureAux ! PSg P3 ++ negStr pol ++ vp.Nonfinite ++ iadv.s ;
conditional = \\pol => conditionalAux ! PSg P3 ++ negStr pol ++ vp.Nonfinite ++ iadv.s
} ;
AddAdvQVP qvp iadv = {
s = \\t,pol => qvp.s ! t ! pol ++ iadv.s
s = \\t,pol => qvp.s ! t ! pol ++ iadv.s ;
anterior = \\t,pol => qvp.anterior ! t ! pol ++ iadv.s ;
future = \\pol => qvp.future ! pol ++ iadv.s ; conditional = \\pol => qvp.conditional ! pol ++ iadv.s
} ;
QuestQVP ip qvp = {
s = \\t,pol => ip.s ++ qvp.s ! t ! pol
s = \\t,pol => ip.s ++ qvp.s ! t ! pol ;
anterior = \\t,pol => ip.s ++ qvp.anterior ! t ! pol ;
future = \\pol => ip.s ++ qvp.future ! pol ; conditional = \\pol => ip.s ++ qvp.conditional ! pol
} ;
}