(Ger) Shrink Agr = Ag Gender Number Person from 3*2*3 = 18 values to 2+3+1+3+1 = 10 by

Agr = AgSgP1 | AgSgP2 | AgSgP3 Gender | AgSgP3Gen | AgPl Person | AgPlPol ;
      with AgSgP3Gen resp. AgPlPol used for reflexive,possessive forms of "man", "Sie".

      Compiles AllGer from src in 162sec with 15M VerbGer.gfo vs. 380sec with 17M VerbGer.gfo
This commit is contained in:
Hans Leiss
2023-09-30 23:28:42 +02:00
parent 67d1e24761
commit 1cf6496883
25 changed files with 623 additions and 668 deletions

View File

@@ -5,7 +5,7 @@ resource MakeStructuralGer = open CatGer, (P = ParadigmsGer), MorphoGer, Prelude
oper
mkConj : Str -> Str -> Number -> Conj = \x,y,n ->
{s1 = x ; s2 = y ; n = n ; lock_Conj = <>} ;
mkSubj : Str -> Subj = \x ->
mkSubj : Str -> Subj = \x ->
{s = x ; lock_Subj = <>} ;
mkIQuant : Str -> IQuant = \s ->
{s = \\_,_,_ => s ; lock_IQuant = <>} ;
@@ -13,16 +13,16 @@ oper
mkPredet = overload {
mkPredet : A -> Predet = \a ->
lin Predet {
s = appAdj a ;
s = appAdj a ;
c = noCase ;
a = PAgNone
} ;
} ;
mkPredet : A -> Str -> Case -> Bool -> Number -> Predet = \a,p,c,b,n ->
lin Predet {
s = appAdj a ;
c = {p = p ; k = PredCase c} ;
s = appAdj a ;
c = {p = p ; k = PredCase c} ;
a = case b of {True => PAg n ; _ => PAgNone}
}
}
} ;
-- e.g. das selbe