3 Commits

Author SHA1 Message Date
Krasimir Angelov
deb9d40b7e placeholders for morphological functions 2026-04-04 11:18:04 +02:00
Krasimir Angelov
25f422f5ca Merge branch 'master' of github.com:GrammaticalFramework/gf-rgl 2026-04-03 16:57:43 +02:00
Krasimir Angelov
f0abf5deff added compoundV 2026-04-03 16:55:51 +02:00
2 changed files with 34 additions and 0 deletions

View File

@@ -45,5 +45,7 @@ lincat VPSlash = {present : Aspect => Number => Person => Str;
lincat Cl = {present : Aspect => Str; lincat Cl = {present : Aspect => Str;
aorist : Str; aorist : Str;
participle : {aorist : Aspect => Str; perfect : Aspect => Str}} ; participle : {aorist : Aspect => Str; perfect : Aspect => Str}} ;
lincat IP = {s : Str} ;
lincat Subj = {s : Str} ;
} }

View File

@@ -1086,6 +1086,23 @@ dualV : V -> V -> V = \impf,perf -> lin V
isRefl = impf.isRefl isRefl = impf.isRefl
} ; } ;
compoundV = overload {
compoundV : V -> Str -> V = \v,s -> lin V {
present = \\a,n,p => v.present ! a ! n ! p ++ s ;
aorist = \\n,p => v.aorist ! n ! p ++ s ;
imperfect = \\a,n,p => v.imperfect ! a ! n ! p ++ s ;
imperative = \\a,n => v.imperative ! a ! n ++ s ;
participle = { aorist = \\a,gn => v.participle.aorist ! a ! gn ++ s ;
imperfect = \\gn => v.participle.imperfect ! gn ++ s ;
perfect = \\a => v.participle.perfect ! a ++ s ;
adjectival = \\a => v.participle.adjectival ! a ++ s ;
adverbial = v.participle.adverbial
} ;
noun_from_verb = v.noun_from_verb ++ s ;
isRefl = v.isRefl
}
} ;
mkV2 = overload { mkV2 = overload {
mkV2 : V -> V2 = \v -> lin V2 v ** {c2=noPrep} ; mkV2 : V -> V2 = \v -> lin V2 v ** {c2=noPrep} ;
mkV2 : V -> Prep -> V2 = \v,p -> lin V2 v ** {c2=p} ; mkV2 : V -> Prep -> V2 = \v,p -> lin V2 v ** {c2=p} ;
@@ -1142,4 +1159,19 @@ mkVoc : Str -> Voc = \s -> lin Voc {s=s} ;
mkPrep : Str -> Prep = \s -> lin Prep {s=s} ; mkPrep : Str -> Prep = \s -> lin Prep {s=s} ;
noPrep : Prep = lin Prep {s=""} ; noPrep : Prep = lin Prep {s=""} ;
mkIP : Str -> IP = \s -> lin IP {s=s} ;
mkIAdv : Str -> IAdv = \s -> lin IAdv {s=s} ;
mkIQuant : Str -> IQuant = \s -> lin IQuant {s=s} ;
mkIDet : Str -> IDet = \s -> lin IDet {s=s} ;
mkMU : Str -> MU = \s -> lin MU {s=s; isPre = False} ;
mkSubj : Str -> Subj = \s -> lin Subj {s=s} ;
mkQuant : Str -> Quant = \s -> lin Quant {s=s; sp=Indef} ;
mkDet : Str -> Det = \s -> lin Det {s=s; n=Sg; sp=Indef} ;
mkConj : Str -> Conj = \s -> lin Conj {s=s} ;
mkPConj : Str -> PConj = \s -> lin PConj {s=s} ;
mkPredet : Str -> Predet = \s -> lin Predet {s=s} ;
mkCAdv : Str -> CAdv = \s -> lin CAdv {s=s; p=""} ;
mkCard : Str -> Card = \s -> lin Card {s=s} ;
mkACard : Str -> ACard = \s -> lin ACard {s=s} ;
} }