forked from GitHub/gf-rgl
some more paradigms for Swe
This commit is contained in:
@@ -4,10 +4,16 @@ resource MakeStructuralSwe = open CatSwe,
|
|||||||
(P=ParadigmsSwe), MorphoSwe, Prelude in {
|
(P=ParadigmsSwe), MorphoSwe, Prelude in {
|
||||||
|
|
||||||
oper
|
oper
|
||||||
mkConj : Str -> Str -> P.Number -> Conj = \x,y,n ->
|
mkConj = overload {
|
||||||
{s1 = x ; s2 = y ; n = n ; lock_Conj = <>} ;
|
mkConj : Str -> Conj
|
||||||
mkSubj : Str -> Subj = \x ->
|
= \s -> lin Conj {s1 = [] ; s2 = s ; n = P.plural} ;
|
||||||
{s = x ; lock_Subj = <>} ;
|
mkConj : Str -> Str -> P.Number -> Conj
|
||||||
|
= \x,y,n -> {s1 = x ; s2 = y ; n = n ; lock_Conj = <>} ;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkSubj : Str -> Subj
|
||||||
|
= \x -> {s = x ; lock_Subj = <>} ;
|
||||||
|
|
||||||
mkIQuant : Str -> Str -> Str -> DetSpecies -> IQuant = \vilken,vilket,vilka,d ->
|
mkIQuant : Str -> Str -> Str -> DetSpecies -> IQuant = \vilken,vilket,vilka,d ->
|
||||||
{s = table (P.Number)
|
{s = table (P.Number)
|
||||||
[table (P.Gender) [vilken;vilket] ; table (P.Gender) [vilka;vilka]] ;
|
[table (P.Gender) [vilken;vilket] ; table (P.Gender) [vilka;vilka]] ;
|
||||||
@@ -21,8 +27,14 @@ oper
|
|||||||
det = DIndef
|
det = DIndef
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkDet : Str -> P.Number -> Det = \s,n ->
|
mkDet = overload {
|
||||||
lin Det {s,sp = \\_,_ => s ; n = n ; det = DDef Indef} ;
|
mkDet : Str -> Det
|
||||||
|
= \s -> lin Det {s,sp = \\_,_ => s ; n = P.singular ; det = DDef Indef} ;
|
||||||
|
mkDet : Str -> P.Number -> Det
|
||||||
|
= \s,n -> lin Det {s,sp = \\_,_ => s ; n = n ; det = DDef Indef} ;
|
||||||
|
mkDet : Str -> Str -> P.Number -> Det
|
||||||
|
= \ingen,inget,n -> lin Det {s,sp = \\_ => table NGender [ingen ; inget] ; n = n ; det = DDef Indef} ;
|
||||||
|
} ;
|
||||||
|
|
||||||
dDefIndef : DetSpecies = DDef Indef ;
|
dDefIndef : DetSpecies = DDef Indef ;
|
||||||
---- other DetSpecies
|
---- other DetSpecies
|
||||||
|
|||||||
@@ -278,7 +278,12 @@ oper
|
|||||||
|
|
||||||
mkV0 : V -> V0 ; --%
|
mkV0 : V -> V0 ; --%
|
||||||
mkVS : V -> VS ;
|
mkVS : V -> VS ;
|
||||||
mkV2S : V -> Prep -> V2S ;
|
|
||||||
|
mkV2S : overload {
|
||||||
|
mkV2S : V -> V2S ;
|
||||||
|
mkV2S : V -> Prep -> V2S ;
|
||||||
|
} ;
|
||||||
|
|
||||||
mkVV : V -> VV ;
|
mkVV : V -> VV ;
|
||||||
auxVV : V -> VV ;
|
auxVV : V -> VV ;
|
||||||
mkV2V : overload {
|
mkV2V : overload {
|
||||||
@@ -286,9 +291,19 @@ oper
|
|||||||
mkV2V : V -> Prep -> Prep -> V2V ;
|
mkV2V : V -> Prep -> Prep -> V2V ;
|
||||||
} ;
|
} ;
|
||||||
mkVA : V -> VA ;
|
mkVA : V -> VA ;
|
||||||
mkV2A : V -> Prep -> V2A ;
|
|
||||||
|
mkV2A : overload {
|
||||||
|
mkV2A : V -> V2A ;
|
||||||
|
mkV2A : V -> Prep -> V2A ;
|
||||||
|
} ;
|
||||||
|
|
||||||
mkVQ : V -> VQ ;
|
mkVQ : V -> VQ ;
|
||||||
mkV2Q : V -> Prep -> V2Q ;
|
|
||||||
|
mkV2Q : overload {
|
||||||
|
mkV2Q : V -> V2Q ;
|
||||||
|
mkV2Q : V -> Prep -> V2Q ;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
mkAS : A -> AS ; --%
|
mkAS : A -> AS ; --%
|
||||||
mkA2S : A -> Prep -> A2S ; --%
|
mkA2S : A -> Prep -> A2S ; --%
|
||||||
@@ -301,6 +316,9 @@ oper
|
|||||||
V0 : Type ; --%
|
V0 : Type ; --%
|
||||||
AS, A2S, AV, A2V : Type ; --%
|
AS, A2S, AV, A2V : Type ; --%
|
||||||
|
|
||||||
|
mkInterj : Str -> Interj
|
||||||
|
= \s -> lin Interj {s = s} ;
|
||||||
|
|
||||||
--.
|
--.
|
||||||
--2 Definitions of the paradigms
|
--2 Definitions of the paradigms
|
||||||
--
|
--
|
||||||
@@ -604,7 +622,11 @@ oper
|
|||||||
mk6V sälja (säljer.s ! VF (VPres Act)) (säljer.s ! (VF (VImper Act))) sålde sålt såld
|
mk6V sälja (säljer.s ! VF (VPres Act)) (säljer.s ! (VF (VImper Act))) sålde sålt såld
|
||||||
** {s1 = [] ; lock_V = <>} ;
|
** {s1 = [] ; lock_V = <>} ;
|
||||||
|
|
||||||
partV v p = {s = v.s ; part = p ; vtype = v.vtype ; lock_V = <>} ;
|
partV v p = case p of {
|
||||||
|
"sig" => {s = v.s ; part = [] ; vtype = VRefl ; lock_V = <>} ;
|
||||||
|
_ => {s = v.s ; part = p ; vtype = v.vtype ; lock_V = <>}
|
||||||
|
} ;
|
||||||
|
|
||||||
depV v = {s = v.s ; part = v.part ; vtype = VPass ; lock_V = <>} ;
|
depV v = {s = v.s ; part = v.part ; vtype = VPass ; lock_V = <>} ;
|
||||||
reflV v = {s = v.s ; part = v.part ; vtype = VRefl ; lock_V = <>} ;
|
reflV v = {s = v.s ; part = v.part ; vtype = VRefl ; lock_V = <>} ;
|
||||||
|
|
||||||
@@ -642,14 +664,20 @@ oper
|
|||||||
mkVQ v = v ** {lock_VQ = <>} ;
|
mkVQ v = v ** {lock_VQ = <>} ;
|
||||||
|
|
||||||
mkVA v = v ** {lock_VA = <>} ;
|
mkVA v = v ** {lock_VA = <>} ;
|
||||||
mkV2A v p = mmkV2 v p ** {lock_V2A = <>} ;
|
|
||||||
|
mkV2A = overload {
|
||||||
|
mkV2A : V -> V2A = \v -> lin V2A (mmkV2 v (mkPrep [])) ;
|
||||||
|
mkV2A : V -> Prep -> V2A = \v, p -> lin V2A (mmkV2 v p) ;
|
||||||
|
} ;
|
||||||
|
|
||||||
V0 : Type = V ;
|
V0 : Type = V ;
|
||||||
-- V2S, V2V, V2Q : Type = V2 ;
|
|
||||||
AS, A2S, AV : Type = A ;
|
AS, A2S, AV : Type = A ;
|
||||||
A2V : Type = A2 ;
|
A2V : Type = A2 ;
|
||||||
|
|
||||||
mkV2S v p = mmkV2 v p ** {lock_V2S = <>} ;
|
mkV2S = overload {
|
||||||
|
mkV2S : V -> V2S = \v -> lin V2S (mmkV2 v (mkPrep [])) ;
|
||||||
|
mkV2S : V -> Prep -> V2S = \v, p -> lin V2S (mmkV2 v p) ;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
mkV2V = overload {
|
mkV2V = overload {
|
||||||
@@ -659,7 +687,10 @@ oper
|
|||||||
\v, p, t -> mmkV2 v p ** {c3 = mkComplement p.s ; lock_V2V = <>} ;
|
\v, p, t -> mmkV2 v p ** {c3 = mkComplement p.s ; lock_V2V = <>} ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkV2Q v p = mmkV2 v p ** {lock_V2Q = <>} ;
|
mkV2Q = overload {
|
||||||
|
mkV2Q : V -> V2Q = \v -> lin V2Q (mmkV2 v (mkPrep [])) ;
|
||||||
|
mkV2Q : V -> Prep -> V2Q = \v, p -> lin V2Q (mmkV2 v p) ;
|
||||||
|
} ;
|
||||||
|
|
||||||
mkAS v = v ** {lock_A = <>} ;
|
mkAS v = v ** {lock_A = <>} ;
|
||||||
mkA2S v p = mkA2 v p ** {lock_A = <>} ;
|
mkA2S v p = mkA2 v p ** {lock_A = <>} ;
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ concrete ParseSwe of ParseEngAbs =
|
|||||||
VPI, VPIForm, VPIInf, VPIPresPart, ListVPI, VV, MkVPI, BaseVPI, ConsVPI, ConjVPI, ComplVPIVV,
|
VPI, VPIForm, VPIInf, VPIPresPart, ListVPI, VV, MkVPI, BaseVPI, ConsVPI, ConjVPI, ComplVPIVV,
|
||||||
ClSlash, RCl, EmptyRelSlash],
|
ClSlash, RCl, EmptyRelSlash],
|
||||||
|
|
||||||
DictEngSwe **
|
WDictEngSwe **
|
||||||
open MorphoSwe, ResSwe, ParadigmsSwe, SyntaxSwe, Prelude in {
|
open MorphoSwe, ResSwe, ParadigmsSwe, SyntaxSwe, Prelude in {
|
||||||
|
|
||||||
flags
|
flags
|
||||||
|
|||||||
Reference in New Issue
Block a user