Files
gf-rgl/src/german/PhraseGer.gf
Hans Leiss 1cf6496883 (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
2023-09-30 23:28:42 +02:00

31 lines
1007 B
Plaintext

concrete PhraseGer of Phrase = CatGer ** open Prelude, ResGer in {
flags optimize=all_subs ;
lin
PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ;
UttS s = {s = s.s ! Main} ;
UttQS qs = {s = qs.s ! QDir} ;
UttImpSg pol imp = {s = pol.s ++ imp.s ! pol.p ! ImpF Sg False} ;
UttImpPl pol imp = {s = pol.s ++ imp.s ! pol.p ! ImpF Pl False} ;
UttImpPol pol imp = {s = pol.s ++ imp.s ! pol.p ! ImpF Sg True} ;
UttIP ip = {s = ip.s ! Nom} ; --- Acc also
UttIAdv iadv = iadv ;
UttNP np = {s = np.s ! False ! Nom ++ bigNP np} ;
UttVP vp = {s = useInfVP True vp} ; -- without zu
UttAdv adv = adv ;
UttCN n = {s = n.s ! Strong ! Sg ! Nom ++ n.adv ++ n.ext ++ n.rc ! Sg} ;
UttCard n = {s = n.s ! Neutr ! Nom} ;
UttAP ap = {s = ap.c.p1 ++ ap.s ! APred ++ ap.c.p2 ++ ap.ext} ;
UttInterj i = i ;
NoPConj = {s = []} ;
PConjConj conj = ss (conj.s2) ;
NoVoc = {s = []} ;
VocNP np = {s = "," ++ np.s ! False ! Nom ++ bigNP np} ;
}