mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 08:58:55 -06:00
various extensions in Turkish
This commit is contained in:
@@ -18,6 +18,6 @@ concrete AdverbTur of Adverb = CatTur ** open ResTur, Prelude in {
|
||||
|
||||
SubjS s1 s2 = {s = s1.s ++ s2.subord} ;
|
||||
|
||||
PositAdvAdj _ = variants {} ;
|
||||
PositAdvAdj a = {s = a.adv} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
--# -path=.:../abstract:../common:prelude
|
||||
|
||||
abstract AllTurAbs =
|
||||
Lang
|
||||
Lang,
|
||||
Extend
|
||||
** {} ;
|
||||
|
||||
@@ -7,15 +7,15 @@ concrete CatTur of Cat = CommonX - [CAdv,AdN] ** open ResTur, HarmonyTur, Prelud
|
||||
S = {s, subord : Str} ;
|
||||
|
||||
Cl = {s : Tense => Str; subord : Str} ;
|
||||
|
||||
Imp = {s : Number => Str} ;
|
||||
|
||||
-- Noun
|
||||
CN = {s : Number => Case => Str; gen : Number => Agr => Str; h : Harmony} ;
|
||||
NP = {s : Case => Str ; h : Harmony; a : Agr} ;
|
||||
|
||||
VP = Verb ;
|
||||
VPSlash = VP ** {c : Prep} ;
|
||||
Comp = VP ;
|
||||
VP = Verb ** {compl : Str} ;
|
||||
VPSlash = Verb ** {compl : Str; c : Prep} ;
|
||||
Comp = Verb ;
|
||||
|
||||
Pron = ResTur.Pron ;
|
||||
Det = {s : Str; n : Number; useGen : UseGen} ;
|
||||
@@ -60,5 +60,6 @@ concrete CatTur of Cat = CommonX - [CAdv,AdN] ** open ResTur, HarmonyTur, Prelud
|
||||
linref
|
||||
V = \v -> v.s ! VInfinitive ;
|
||||
V2 = \v -> v.s ! VInfinitive ++ v.c.s ;
|
||||
VP = \vp -> vp.compl ++ vp.s ! VInfinitive ;
|
||||
|
||||
}
|
||||
|
||||
@@ -71,7 +71,8 @@ lin
|
||||
Gen => "tamlayan" ;
|
||||
Loc => "bulunma" ;
|
||||
Ablat => "ayrılma" ;
|
||||
Abess _ => ""
|
||||
Abess _ => "" ;
|
||||
Instr => ""
|
||||
}) ;
|
||||
s3= ""
|
||||
} ;
|
||||
@@ -104,7 +105,12 @@ oper
|
||||
heading2 ("Gelecek zaman") ++
|
||||
finite VFuture ++
|
||||
heading2 ("Emir kipi") ++
|
||||
paragraph (v.s ! VImperative) ++
|
||||
frameTable (
|
||||
tr (th "tekil" ++
|
||||
th "çoğul") ++
|
||||
tr (td (v.s ! VImperative Sg) ++
|
||||
td (v.s ! VImperative Pl))
|
||||
) ++
|
||||
heading2 ("Eylemlik") ++
|
||||
paragraph (v.s ! VInfinitive) ++
|
||||
heading2 ("Ulaç") ++
|
||||
|
||||
@@ -9,4 +9,6 @@ concrete ExtendTur of Extend = CatTur ** open ResTur in {
|
||||
|
||||
TPastSimple = {s = []} ** {t = Past} ; --# notpresent
|
||||
|
||||
PositAdVAdj a = {s = a.s ! Sg ! Nom} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -10,7 +10,11 @@ concrete NounTur of Noun = CatTur ** open ResTur, SuffixTur, HarmonyTur, Prelude
|
||||
case det.useGen of {
|
||||
NoGen => \\c => det.s ++ cn.s ! det.n ! c ;
|
||||
YesGen a => \\c => det.s ++ cn.gen ! det.n ! a ;
|
||||
UseIndef => \\c => det.s ++ cn.s ! det.n ! c
|
||||
UseIndef => \\c => let c' = case c of {
|
||||
Acc => Nom ;
|
||||
c => c
|
||||
}
|
||||
in det.s ++ cn.s ! det.n ! c'
|
||||
} ;
|
||||
h = cn.h ;
|
||||
a = agrP3 det.n
|
||||
@@ -104,6 +108,11 @@ concrete NounTur of Noun = CatTur ** open ResTur, SuffixTur, HarmonyTur, Prelude
|
||||
s = \\_,_ => "TODO";
|
||||
gen = \\_, _ => "TODO";
|
||||
h = f.h
|
||||
};
|
||||
Instr => {
|
||||
s = \\_,_ => "TODO";
|
||||
gen = \\_, _ => "TODO";
|
||||
h = f.h
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -85,14 +85,14 @@ resource ParadigmsTur = open
|
||||
|
||||
mkV2 = overload {
|
||||
-- sormak
|
||||
mkV2 : V -> V2 = \verb -> verb ** lin V2 {c = noPrep} ;
|
||||
mkV2 : V -> V2 = \verb -> verb ** lin V2 {c = mkPrep [] Acc} ;
|
||||
-- (bir şeyden) korkmak
|
||||
mkV2 : V -> Prep -> V2 = \verb,c -> verb ** lin V2 {c = c} ;
|
||||
} ;
|
||||
|
||||
mkV3 = overload {
|
||||
-- (birine bir şeyi) satmak
|
||||
mkV3 : V -> V3 = \verb -> verb ** lin V3 {c1 = noPrep; c2 = noPrep} ;
|
||||
mkV3 : V -> V3 = \verb -> verb ** lin V3 {c1 = mkPrep [] Acc; c2 = mkPrep [] Dat} ;
|
||||
-- (biri ile bir şeyi) konuşmak
|
||||
mkV3 : V -> Prep -> Prep -> V3 =
|
||||
\verb,c1,c2 -> verb ** lin V3 {c1 = c1; c2 = c2} ;
|
||||
@@ -128,7 +128,7 @@ resource ParadigmsTur = open
|
||||
-- worst case function
|
||||
-- parameters: all singular cases of base, base of genitive table, plural
|
||||
-- form of base and harmony of base
|
||||
mkNoun : (nom,acc,dat,gen,loc,abl,abessPos,abessNeg,gens,plural : Str)
|
||||
mkNoun : (nom,acc,dat,gen,loc,abl,abessPos,abessNeg,instr,gens,plural : Str)
|
||||
-> Harmony
|
||||
-> N ;
|
||||
|
||||
@@ -172,6 +172,8 @@ resource ParadigmsTur = open
|
||||
mkA : Str -> Str -> HarVowP -> A ;
|
||||
} ;
|
||||
|
||||
irregAdv : A -> Str -> A ;
|
||||
|
||||
mkAS : A -> AS ;
|
||||
mkAV : A -> AV ;
|
||||
|
||||
@@ -284,8 +286,10 @@ resource ParadigmsTur = open
|
||||
addSuffix pastBase pastHar (verbSuffixes ! agr) ;
|
||||
VFuture agr =>
|
||||
addSuffix futureTable futHar (verbSuffixes ! agr) ;
|
||||
VImperative =>
|
||||
VImperative Sg =>
|
||||
base ;
|
||||
VImperative Pl =>
|
||||
addSuffix base har p2PlImperSuffix ;
|
||||
VInfinitive =>
|
||||
inf ;
|
||||
Gerund _ Acc =>
|
||||
@@ -321,7 +325,7 @@ resource ParadigmsTur = open
|
||||
} ;
|
||||
|
||||
-- Implementation of noun paradigms
|
||||
mkNoun sn sa sd sg sl sabl sgabPos sgabNeg sgs pln har =
|
||||
mkNoun sn sa sd sg sl sabl sgabPos sgabNeg si sgs pln har =
|
||||
let plHar = getHarmony pln ;
|
||||
in
|
||||
lin N {
|
||||
@@ -334,7 +338,8 @@ resource ParadigmsTur = open
|
||||
Loc => sl ;
|
||||
Ablat => sabl ;
|
||||
Abess Pos => sgabPos ;
|
||||
Abess Neg => sgabNeg
|
||||
Abess Neg => sgabNeg ;
|
||||
Instr => si
|
||||
} ;
|
||||
Pl => table {
|
||||
Abess Pos => addSuffix sgabPos plHar plSuffix;
|
||||
@@ -364,15 +369,16 @@ resource ParadigmsTur = open
|
||||
in
|
||||
mkNoun sn
|
||||
(addSuffix sg irHar accSuffix)
|
||||
(addSuffix sg irHar datSuffix)
|
||||
(addSuffix sg irHar datSuffix)
|
||||
(addSuffix sg har genSuffix)
|
||||
(addSuffix sn har locSuffix)
|
||||
(addSuffix sn har ablatSuffix)
|
||||
(addSuffix sn har abessPosSuffix)
|
||||
(addSuffix sn har abessNegSuffix)
|
||||
sg
|
||||
pln
|
||||
har ;
|
||||
(addSuffix sn har ablatSuffix)
|
||||
(addSuffix sn har abessPosSuffix)
|
||||
(addSuffix sn har abessNegSuffix)
|
||||
(addSuffix sn har instrSuffix)
|
||||
sg
|
||||
pln
|
||||
har ;
|
||||
|
||||
regN sn =
|
||||
let har = getHarmony sn ;
|
||||
@@ -382,14 +388,15 @@ resource ParadigmsTur = open
|
||||
mkNoun sn
|
||||
(addSuffix bt har accSuffix)
|
||||
(addSuffix bt har datSuffix)
|
||||
(addSuffix bt har genSuffix)
|
||||
(addSuffix bt har locSuffix)
|
||||
(addSuffix bt har ablatSuffix)
|
||||
(addSuffix bt har abessPosSuffix)
|
||||
(addSuffix bt har abessNegSuffix)
|
||||
(bt ! Soft)
|
||||
pln
|
||||
har ;
|
||||
(addSuffix bt har genSuffix)
|
||||
(addSuffix bt har locSuffix)
|
||||
(addSuffix bt har ablatSuffix)
|
||||
(addSuffix bt har abessPosSuffix)
|
||||
(addSuffix bt har abessNegSuffix)
|
||||
(addSuffix bt har instrSuffix)
|
||||
(bt ! Soft)
|
||||
pln
|
||||
har ;
|
||||
|
||||
regPN sn = makePN sn sn ;
|
||||
|
||||
@@ -405,6 +412,7 @@ resource ParadigmsTur = open
|
||||
(addSuffix bn har ablatSuffix)
|
||||
(addSuffix bn har abessPosSuffix)
|
||||
(addSuffix bn har abessNegSuffix)
|
||||
(addSuffix bn har instrSuffix)
|
||||
by
|
||||
pln
|
||||
har ;
|
||||
@@ -446,7 +454,8 @@ resource ParadigmsTur = open
|
||||
Loc => addSuffix sn sgHar locSuffixN ; --tereyağında
|
||||
Ablat => addSuffix sn sgHar ablatSuffixN ; --tereyağından
|
||||
Abess Pos => sgAbessPos ; --tereyağlı
|
||||
Abess Neg => sgAbessNeg --tereyağsız
|
||||
Abess Neg => sgAbessNeg ; --tereyağsız
|
||||
Instr => addSuffix sn sgHar instrSuffix
|
||||
} ;
|
||||
Pl => table {
|
||||
Nom => pn ;--tereyağları
|
||||
@@ -456,7 +465,8 @@ resource ParadigmsTur = open
|
||||
Loc => addSuffix pn plHar locSuffixN ; --tereyağlarında
|
||||
Ablat => addSuffix pn plHar ablatSuffixN ; --tereyağlarından
|
||||
Abess Pos => addSuffix sgAbessPos plHar abessPosSuffix ; --tereyağlılar
|
||||
Abess Neg => addSuffix sgAbessNeg plHar abessNegSuffix --tereyağsızlar
|
||||
Abess Neg => addSuffix sgAbessNeg plHar abessNegSuffix ; --tereyağsızlar
|
||||
Instr => addSuffix pn plHar instrSuffix
|
||||
}
|
||||
} ;
|
||||
gen = case ct of {
|
||||
@@ -510,6 +520,8 @@ resource ParadigmsTur = open
|
||||
mkA : (base, base1 : Str) -> (ih_har : HarVowP) -> A = \base,base1,ih_har -> (irregN_h base base ih_har) ** lin A {adv = addSuffix base (mkHar ih_har (getHarConP base)) adjAdvSuffix};
|
||||
} ;
|
||||
|
||||
irregAdv : A -> Str -> A = \a,adv -> a ** {adv = adv};
|
||||
|
||||
mkAS v = v ;
|
||||
mkAV v = v ;
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@ concrete PhraseTur of Phrase = CatTur ** open Prelude, ResTur in {
|
||||
-- The following are utterly untested.
|
||||
-- Currently, they should be treated as just implementation stubs.
|
||||
UttQS qs = {s = qs.s} ;
|
||||
UttImpSg pol imp = {s = imp.s} ;
|
||||
UttImpPl pol imp = {s = imp.s} ;
|
||||
UttImpPol pol imp = {s = imp.s} ;
|
||||
UttImpSg pol imp = {s = imp.s ! Sg} ;
|
||||
UttImpPl pol imp = {s = imp.s ! Pl} ;
|
||||
UttImpPol pol imp = {s = imp.s ! Pl} ;
|
||||
UttIP ip = {s = ip.s} ;
|
||||
UttIAdv iadv = iadv ;
|
||||
UttCard n = {s = n.s ! Sg ! Nom} ;
|
||||
|
||||
@@ -8,7 +8,7 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur in {
|
||||
coding=utf8 ;
|
||||
|
||||
param
|
||||
Case = Nom | Acc | Dat | Gen | Loc | Ablat | Abess Polarity ;
|
||||
Case = Nom | Acc | Dat | Gen | Loc | Ablat | Abess Polarity | Instr ;
|
||||
Species = Indef | Def ;
|
||||
Contiguity = Con | Sep ; --Concatenate or Separate
|
||||
|
||||
@@ -41,7 +41,7 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur in {
|
||||
| VProg Agr
|
||||
| VPast Agr
|
||||
| VFuture Agr
|
||||
| VImperative
|
||||
| VImperative Number
|
||||
| VInfinitive
|
||||
| Gerund Number Case
|
||||
| VNoun Number Case
|
||||
@@ -63,8 +63,8 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur in {
|
||||
CardOrd = NCard | NOrd ;
|
||||
|
||||
oper
|
||||
mkPron : (ben,beni,bana,banin,bende,benden,benli,bensiz:Str) -> Number -> Person -> Pron =
|
||||
\ben,beni,bana,benim,bende,benden,benli,bensiz,n,p -> {
|
||||
mkPron : (ben,beni,bana,banin,bende,benden,benli,bensiz,benimle:Str) -> Number -> Person -> Pron =
|
||||
\ben,beni,bana,benim,bende,benden,benli,bensiz,benimle,n,p -> {
|
||||
s = table {
|
||||
Nom => ben ;
|
||||
Acc => beni ;
|
||||
@@ -73,7 +73,8 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur in {
|
||||
Loc => bende ;
|
||||
Ablat => benden ;
|
||||
Abess Pos => benli ;
|
||||
Abess Neg => bensiz
|
||||
Abess Neg => bensiz ;
|
||||
Instr => benimle
|
||||
} ;
|
||||
h = getHarmony ben ;
|
||||
a = {n=n; p=p} ;
|
||||
@@ -92,15 +93,15 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur in {
|
||||
a = {n = n; p = p}
|
||||
} ;
|
||||
|
||||
mkClause : Str -> Agr -> Verb -> {s : Tense => Str; subord : Str} =
|
||||
\np, a, v -> {
|
||||
mkClause : Str -> Agr -> Str -> Verb -> {s : Tense => Str; subord : Str} =
|
||||
\np, a, compl, v -> {
|
||||
s = table {
|
||||
Pres => np ++ v.s ! VPres a ;
|
||||
Past => np ++ v.s ! VPast a ;
|
||||
Fut => np ++ v.s ! VFuture a ;
|
||||
Pres => np ++ compl ++ v.s ! VPres a ;
|
||||
Past => np ++ compl ++ v.s ! VPast a ;
|
||||
Fut => np ++ compl ++ v.s ! VFuture a ;
|
||||
Cond => "TODO"
|
||||
} ;
|
||||
subord = np ++ v.s ! VNoun a.n Nom
|
||||
subord = np ++ compl ++ v.s ! VNoun a.n Nom
|
||||
} ;
|
||||
|
||||
mkDet : Str -> Number -> UseGen -> {s : Str; n : Number; useGen : UseGen} =
|
||||
@@ -109,7 +110,7 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur in {
|
||||
attachMe : Verb -> {s : Str} =
|
||||
\v ->
|
||||
let
|
||||
s : Str = v.s ! VImperative
|
||||
s : Str = v.s ! VImperative Sg
|
||||
in
|
||||
case s of {
|
||||
(_ + #vowel + _ )* + (_ + #frontVowel + _) => ss (s ++ "me") ;
|
||||
|
||||
@@ -2,7 +2,7 @@ concrete SentenceTur of Sentence = CatTur ** open Prelude, ResTur in {
|
||||
|
||||
lin
|
||||
|
||||
PredVP np vp = mkClause (np.s ! Nom) np.a vp ;
|
||||
PredVP np vp = mkClause (np.s ! Nom) np.a vp.compl vp ;
|
||||
|
||||
PredSCVP sc vp = variants {} ;
|
||||
|
||||
@@ -23,9 +23,9 @@ concrete SentenceTur of Sentence = CatTur ** open Prelude, ResTur in {
|
||||
|
||||
EmbedQS _ = variants {} ;
|
||||
EmbedS _ = variants {} ;
|
||||
|
||||
ImpVP _ = variants {} ;
|
||||
|
||||
|
||||
ImpVP vp = {s = \\n => vp.compl ++ vp.s ! VImperative n} ;
|
||||
|
||||
AdvS _ _ = variants {} ;
|
||||
|
||||
UseSlash _ = variants {} ;
|
||||
|
||||
@@ -8,25 +8,25 @@ concrete StructuralTur of Structural = CatTur **
|
||||
|
||||
lin
|
||||
he_Pron =
|
||||
mkPron "o" "onu" "ona" "onun" "onda" "ondan" "onlu" "onsuz" Sg P3 ;
|
||||
mkPron "o" "onu" "ona" "onun" "onda" "ondan" "onlu" "onsuz" "onunlu" Sg P3 ;
|
||||
|
||||
i_Pron =
|
||||
mkPron "ben" "beni" "bana" "benim"
|
||||
"bende" "benden" "benli" "bensiz"
|
||||
"bende" "benden" "benli" "bensiz" "benimle"
|
||||
Sg P1 ;
|
||||
|
||||
it_Pron =
|
||||
mkPron "o" "onu" "ona" "onun" "onda" "ondan" "onlu" "onsuz" Sg P3 ;
|
||||
mkPron "o" "onu" "ona" "onun" "onda" "ondan" "onlu" "onsuz" "onunlu" Sg P3 ;
|
||||
|
||||
she_Pron =
|
||||
mkPron "o" "onu" "ona" "onun" "onda" "ondan" "onlu" "onsuz" Sg P3 ;
|
||||
mkPron "o" "onu" "ona" "onun" "onda" "ondan" "onlu" "onsuz" "onunlu" Sg P3 ;
|
||||
|
||||
that_Quant =
|
||||
mkQuant "o" ;
|
||||
|
||||
they_Pron =
|
||||
mkPron "onlar" "onları" "onlara" "onların" "onlarda" "onlardan" "onlarlı"
|
||||
"onlarsız" Pl P3 ;
|
||||
"onlarsız" "onlarınli" Pl P3 ;
|
||||
|
||||
this_Quant =
|
||||
mkQuant "bu" ;
|
||||
@@ -35,16 +35,16 @@ concrete StructuralTur of Structural = CatTur **
|
||||
mkQuant "hiç" ;
|
||||
|
||||
we_Pron =
|
||||
mkPron "biz" "bizi" "bize" "bizim" "bizde" "bizden" "bizli" "bizsiz" Pl P1 ;
|
||||
mkPron "biz" "bizi" "bize" "bizim" "bizde" "bizden" "bizli" "bizsiz" "bizimle" Pl P1 ;
|
||||
|
||||
youSg_Pron =
|
||||
mkPron "sen" "seni" "sana" "senin" "sende" "senden" "senli" "sensiz" Sg P2 ;
|
||||
mkPron "sen" "seni" "sana" "senin" "sende" "senden" "senli" "sensiz" "seninle" Sg P2 ;
|
||||
|
||||
youPl_Pron =
|
||||
mkPron "siz" "sizi" "size" "sizin" "sizde" "sizden" "sizli" "sizsiz" Pl P2 ;
|
||||
mkPron "siz" "sizi" "size" "sizin" "sizde" "sizden" "sizli" "sizsiz" "sizinle" Pl P2 ;
|
||||
|
||||
youPol_Pron =
|
||||
mkPron "siz" "sizi" "size" "sizin" "sizde" "sizden" "sizli" "sizsiz" Pl P2 ;
|
||||
mkPron "siz" "sizi" "size" "sizin" "sizde" "sizden" "sizli" "sizsiz" "sizinle" Pl P2 ;
|
||||
|
||||
with_Prep =
|
||||
mkPrep [] (Abess Pos) ;
|
||||
|
||||
@@ -62,6 +62,7 @@ resource SuffixTur = open Prelude, Predef, ResTur, HarmonyTur in {
|
||||
ablatSuffix : Suffix = regSuffix "den" "den" ;
|
||||
abessPosSuffix : Suffix = regSuffix "li" "li" ;
|
||||
abessNegSuffix : Suffix = regSuffix "siz" "siz" ;
|
||||
instrSuffix : Suffix = regSuffix "la" "la" ;
|
||||
-- following 4 suffixes has other forms used after genSgP3Suffix
|
||||
accSuffixN : Suffix = regSuffix "i" "ni" ;
|
||||
datSuffixN : Suffix = regSuffix "e" "ne" ;
|
||||
@@ -96,6 +97,8 @@ resource SuffixTur = open Prelude, Predef, ResTur, HarmonyTur in {
|
||||
p2PlVerbalSuffix : Suffix = regSuffix21 "siniz" "niz" ;
|
||||
p3PlVerbalSuffix : Suffix = regSuffix "ler" "ler" ;
|
||||
|
||||
p2PlImperSuffix : Suffix = regSuffix "in" "yin" ;
|
||||
|
||||
p1SgAlethicCopulaSuffix : Suffix = regSuffix "dim" "ydim" ;
|
||||
p2SgAlethicCopulaSuffix : Suffix = regSuffix "din" "ydin" ;
|
||||
p3SgAlethicCopulaSuffix : Suffix = regSuffix "di" "ydi" ;
|
||||
@@ -127,7 +130,8 @@ resource SuffixTur = open Prelude, Predef, ResTur, HarmonyTur in {
|
||||
Loc => locSuffix ;
|
||||
Ablat => ablatSuffix ;
|
||||
Abess Pos => abessPosSuffix ;
|
||||
Abess Neg => abessNegSuffix
|
||||
Abess Neg => abessNegSuffix ;
|
||||
Instr => instrSuffix
|
||||
} ;
|
||||
|
||||
genSuffixes : Agr => Suffix =
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur in {
|
||||
|
||||
lin
|
||||
UseV v = v ;
|
||||
SlashV2a v = lin VP v ;
|
||||
UseV v = lin VP (v ** {compl = []}) ;
|
||||
SlashV2a v = v ** {compl = []} ;
|
||||
|
||||
Slash2V3 v = variants {} ;
|
||||
Slash3V3 v = variants {} ;
|
||||
@@ -13,20 +13,20 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur
|
||||
SlashVV v = variants {} ;
|
||||
SlashV2VNP = variants {} ;
|
||||
|
||||
ComplSlash vps np = {
|
||||
s = \\ vf => vps.c.s ++ np.s ! vps.c.c ++ vps.s ! vf ;
|
||||
ComplSlash vps np = vps ** {
|
||||
compl = vps.compl ++ vps.c.s ++ np.s ! vps.c.c ;
|
||||
} ;
|
||||
|
||||
-- TODO: test this and fix.
|
||||
ComplVS vs s = {
|
||||
s = \\vf => s.subord ++ vs.s ! vf
|
||||
ComplVS vs s = vs ** {
|
||||
compl = s.subord
|
||||
} ;
|
||||
|
||||
ComplVA _ _ = variants {} ;
|
||||
ComplVV _ _ = variants {} ;
|
||||
ComplVQ _ _ = variants {} ;
|
||||
|
||||
UseComp comp = comp ;
|
||||
UseComp comp = comp ** {compl = []} ;
|
||||
CompCN _ = variants {} ;
|
||||
|
||||
CompNP ap = lin VP {
|
||||
@@ -65,9 +65,14 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur
|
||||
CompAdv _ = variants {} ;
|
||||
|
||||
ReflVP = variants {} ;
|
||||
|
||||
AdvVP = variants {} ;
|
||||
AdVVP = variants {} ;
|
||||
|
||||
AdvVP vp adv = vp ** {
|
||||
compl = vp.compl ++ adv.s ;
|
||||
} ;
|
||||
|
||||
AdVVP adv vp = vp ** {
|
||||
s = \\vf => adv.s ++ vp.s ! vf ;
|
||||
} ;
|
||||
|
||||
PassV2 = variants {} ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user