Steps of building the German implementation. 4/1/2006 ParamGer: Case, Gender, Adjf CatGer: N, CN ResGer: mkNoun, mkN2, mkN4 > cc mkN2 "Stube" "Stuben" Fem ResGer: mkA, mkV, regA, regV > cc regV "machen" CatGer: V*, A* LexGer: N*, A*, V* > l -table walk_V NounGer: determiner rules, UseN ParamGer: gennum, adjAgr ResGer: pronForms > p -cat=NP "der Hund" | l -table 5/1 LexGer: Pron, Det > p "mein Hund" AdjectiveGer: PositA, ComparA, AdAP > p -cat=NP "ein warmer Hund" | l -table > p -cat=NP -lexer=literals "alle meine 3 sehr warmen Hünde" ResGer: predV, mkClause, aux verbs VerbGer: UseV SentenceGer: PredVP > l -table PredVP (UsePron i_Pron) (UseV walk_V) ("ich nicht gegangen hatte" etc) ParamGer: VAux ResGer: added aux : VAux to Verb and mkV LexGer: mkV updates > l -table PredVP (UsePron i_Pron) (UseV walk_V) ("ich nicht gegangen war" etc, now correct) ResGer: appPrep, insertObj, insertAdv VerbGer: ComplV2, ComplV3 SentenceGer: PosCl, NegCl > p -cat=S -mcfg "ich zeige ihn meinem warmen Hund" wc *.gfc 122385 total 70667 CatGer.gfc (largest) add flags optimize=all_subs to this module: 5781 CatGer.gfc 57499 total VerbGer: UseComp, Comp* > p -cat=Cl -mcfg "ich bin ein Hund" | l -table > vg (see complex figure) > i english/TestEng.gf > vg (see complex symmetric figure) ResGer: wollen_V, auxVV, insertExtrapos VerbGer: ComplVS > p -cat=Cl -mcfg "ich behaupte daß wir gehen" | l -table (gets OK with proper extrapos) VerbGer: ComplVV = insertObj (\\a => v.part ++ (vp.s ! a ! VPInfinit Simul).inf) (predV v) ; > p -cat=Cl "ich will gehen" | l -table Pres Anter Pos Main : ich habe gehen gewollen Pres Anter Pos Inv : habe ich gehen gewollen Pres Anter Pos Sub : ich gehen gewollen habe (Thus "double infinitives" don't get right.) Added routine stuff to AdverbGer and AdjectiveGer. Noticed failure with comparison ("schneller als ein Zug" pro "mehr schnell als ein Zug") SentenceGer: ImpVP PhraseGer: almost all (actually copied from PhraseScand) > p -cat=Imp -mcfg "geh hier" ImpVP (AdvVP (UseV walk_V) here_Adv) QuestionGer: almost all (copied from Scand) UntensedGer: PosQCl, NegQCl > p -cat=QS -mcfg "gehen wir nicht" | l -table QDir : gehen wir nicht QIndir : ob wir nicht gehen VerbGer: ComplVQ > p -cat=S -mcfg "ich frage ob wir warm sind" LexGer: *IDet, *IP, *Prep QuestionGer: IDetCN (using NounGer.MkDet) > p -cat=QS -mcfg "welcher Hund geht" > p -cat=QS -mcfg "in welchem Hund geht er" wc german/*.gfc 69407 total NounGer: ComplN2, ComplN3, SentCN, QuestCN LexGer: N2, N3 > p -cat=NP "der Sohn von dem Hund" > p -cat=CN -mcfg "Hund ob er geht" SentenceGer: Slash rules > p -cat=QS -mcfg "wem hilft er" CatGer: RP, RS, RCl ParamGer: RAgr RelativeGer: all (copied from Scand; tweaking betw GenNum, Agr also in CatGer) UntensedGer: PosRCl, NegRCl NounGer: RelCN > p -cat=RCl -mcfg "der geht" | l -table > p -cat=NP -mcfg "der Hund dem wir helfen wollen" | l -table NounGer: Num and Ord related rules CatGer: Ord has parametric AForm; Num has no params ParamGer: CardOrd LexGer: Numeral > p -cat=NP "meine vierzig warmen Hünde" > p -cat=NP "mein vierzigter Hund" CatGer: Conj, DConj ConjunctionGer: all (mostly from Scand) LexGer: Conj, DConj > p -cat=NP "ich und der Hund" | l -table > p -cat=S -mcfg "ich und der Hund sind entweder warm oder warm" > pm -printer=missing TestGer AdVVP AdvSC ComplV2A ComplVA EmbedQS EmbedS EmbedVP PassV2 ReflA2 ReflV2 UttVP one_Numeral wc german/*.gfc 1231 4116 98878 total Now we have finished most of TestGer in two days, 4 + 8 hours. But we had the old morphology and other files, and the Scandinavian v 1.0 as help.