forked from GitHub/gf-rgl
(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:
@@ -40,66 +40,6 @@ lin
|
||||
)
|
||||
} ;
|
||||
|
||||
InflectionPN = \pn -> {
|
||||
t = "pn" ;
|
||||
s1 = heading1 ("Eigenname" ++
|
||||
"("+case <pn.g,pn.n> of {
|
||||
<Masc,Sg> => heading masculine_Parameter ;
|
||||
<Fem,Sg> => heading feminine_Parameter ;
|
||||
<Neutr,Sg> => heading neuter_Parameter ;
|
||||
<_,Pl> => heading plural_Parameter
|
||||
} ++")") ;
|
||||
s2 = frameTable (
|
||||
tr (th (heading nominative_Parameter) ++ td (pn.s ! Nom)) ++
|
||||
tr (th (heading genitive_Parameter) ++ td (pn.s ! Gen)) ++
|
||||
tr (th (heading dative_Parameter) ++ td (pn.s ! Dat)) ++
|
||||
tr (th (heading accusative_Parameter) ++ td (pn.s ! Acc))
|
||||
)
|
||||
} ;
|
||||
|
||||
InflectionGN = \gn -> {
|
||||
t = "vn" ;
|
||||
s1 = heading1 ("Vorname" ++
|
||||
case gn.g of {
|
||||
Male => "(männlich)" ;
|
||||
Female => "(weiblich)"
|
||||
}) ;
|
||||
s2 = frameTable (
|
||||
tr (th (heading nominative_Parameter) ++ td (gn.s ! Nom)) ++
|
||||
tr (th (heading genitive_Parameter) ++ td (gn.s ! Gen)) ++
|
||||
tr (th (heading dative_Parameter) ++ td (gn.s ! Dat)) ++
|
||||
tr (th (heading accusative_Parameter) ++ td (gn.s ! Acc))
|
||||
) ;
|
||||
} ;
|
||||
|
||||
InflectionSN = \sn -> {
|
||||
t = "fn" ;
|
||||
s1 = heading1 ("Familienname") ;
|
||||
s2 = frameTable (
|
||||
tr (th (heading nominative_Parameter) ++ td (sn.s ! Male ! Nom)) ++
|
||||
tr (th (heading genitive_Parameter) ++ td (sn.s ! Male ! Gen)) ++
|
||||
tr (th (heading dative_Parameter) ++ td (sn.s ! Male ! Dat)) ++
|
||||
tr (th (heading accusative_Parameter) ++ td (sn.s ! Male ! Acc))
|
||||
) ;
|
||||
} ;
|
||||
|
||||
InflectionLN = \ln -> {
|
||||
t = "pn" ;
|
||||
s1 = heading1 ("Standortnamen" ++
|
||||
"("+case <ln.g,ln.n> of {
|
||||
<Masc,Sg> => heading masculine_Parameter ;
|
||||
<Fem,Sg> => heading feminine_Parameter ;
|
||||
<Neutr,Sg> => heading neuter_Parameter ;
|
||||
<_,Pl> => heading plural_Parameter
|
||||
} ++")") ;
|
||||
s2 = frameTable (
|
||||
tr (th (heading nominative_Parameter) ++ td (ln.s ! Strong ! Nom)) ++
|
||||
tr (th (heading genitive_Parameter) ++ td (ln.s ! Strong ! Gen)) ++
|
||||
tr (th (heading dative_Parameter) ++ td (ln.s ! Strong ! Dat)) ++
|
||||
tr (th (heading accusative_Parameter) ++ td (ln.s ! Strong ! Acc))
|
||||
)
|
||||
} ;
|
||||
|
||||
InflectionA, InflectionA2 = \adj ->
|
||||
let
|
||||
gforms : Degree -> ResGer.Case -> Str = \d,c ->
|
||||
@@ -223,7 +163,7 @@ oper
|
||||
let
|
||||
vfin : VForm -> Str = \f ->
|
||||
verb.s ! f ++ verb.prefix ;
|
||||
gforms : ParadigmsGer.Number -> Person -> Str = \n,p ->
|
||||
gforms : Number -> Person -> Str = \n,p ->
|
||||
td (vfin (VFin False (VPresInd n p))) ++
|
||||
td (vfin (VFin False (VPresSubj n p)))
|
||||
++ td (vfin (VFin False (VImpfInd n p))) --# notpresent
|
||||
|
||||
Reference in New Issue
Block a user