Files
gf-core/lib/resource/german/log.txt
2007-12-12 20:30:11 +00:00

298 lines
8.7 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.
--------------------
13/1
CatGer: add prefix to V*, isAux to VV - the latter mostly to deal with double infinitives
ResGer: generalize predV to predVGen
LexGer: experiment with gehen --> ausgehen
> l -table PredVP (UsePron he_Pron) (ComplVV want_VV (UseV walk_V))
--- the auxiliary is still in wrong place in subordinate double infinitives
ResGer: reflPron
VerbGer: ReflV2
AdjectiveGer: ReflA2 --- with missing person agreement
> p -cat=Cl -mcfg "ich helfe mir"
PredVP (UsePron i_Pron) (ComplV2 help_V2 (UsePron i_Pron))
PredVP (UsePron i_Pron) (ReflV2 help_V2)
> p -cat=Cl -mcfg "er hilft sich"
PredVP (UsePron he_Pron) (ReflV2 help_V2)
> pm -printer=missing
AdVVP AdvSC OrdInt UttVP
A round of filling these completes the implementation of TestGer.
ResGer: insertAdV
> p -cat=Cl -mcfg "er hilft immer seinem Hund"
PredVP (UsePron he_Pron) (AdVVP always_AdV (ComplV2 help_V2
(DetCN (DetSg (PossSg he_Pron) NoOrd) (UseN dog_N))))
wc german/*.gfc
63 203 4768 german/AdjectiveGer.gfc
63 198 1649 german/AdverbGer.gfc
55 184 7490 german/CatGer.gfc
76 260 4489 german/ConjunctionGer.gfc
94 315 13968 german/LexGer.gfc
121 445 2736 german/MorphoGer.gfc
86 306 6637 german/NounGer.gfc
41 160 1419 german/ParamGer.gfc
81 245 2256 german/PhraseGer.gfc
63 219 3333 german/QuestionGer.gfc
63 219 3800 german/RelativeGer.gfc
87 343 2081 german/ResGer.gfc
112 393 20890 german/SentenceGer.gfc
230 696 4752 german/TestGer.gfc
61 185 1483 german/UntensedGer.gfc
110 366 41629 german/VerbGer.gfc
1406 4737 123380 total
Ca. 4h more work was needed, so we have spent 16h now.
--------------------
15/1 (3h)
TensedGer: just uncomment, except S
StructuralGer: almost complete with some determiner forms to revisit
ParadigmsGer: almost complete with verb form variations to revisit
MorphoGer: very few functions in this module
16/1 (4h)
ParamGer: removed Strong/Weak from AForm to save lexicon storage. Done in agrAdj instead.
Only affects NounGer and QuestionGer. Notice that making case analysis on <a,gn,c> is
much less storage-efficient.
ParadigmsGer: completed
ParamGer: VType
ResGer, ParadigmsGer: the consequences of this
BasicGer; started. Strategy: fill all you know without consulting dictionary;
mark ---- before what you dont know, and after what you are uncertain about.
Insight: to write a *resource* grammar you need not be a fluent speaker, but
just to understand what grammar books say. It is when writing application
grammars that you need to make stylistic judgements to do the right choices
from the resource.
17/1 (4h)
MorphoGer: for numerals
NumeralGer: all
> make stat
66123 german/NumeralGer.gfc
added flags optimize=all_subs ;
17046 german/NumeralGer.gfc
BasicGer: completed. Idea: work in pairs, one consulting the dictionary (or
giving native speaker advice)
ParadigmsGer: remove second arg from mkA ; add heuristics for el/er/en masculines in regN
wc german/*.gfc
63 203 3360 german/AdjectiveGer.gfc
63 198 1649 german/AdverbGer.gfc
276 1159 89069 german/BasicGer.gfc
55 182 7704 german/CatGer.gfc
76 260 4489 german/ConjunctionGer.gfc
523 1575 11728 german/LangGer.gfc
94 315 10783 german/LexGer.gfc
128 469 2892 german/MorphoGer.gfc
99 375 12394 german/NounGer.gfc
100 321 17046 german/NumeralGer.gfc
0 5 83 german/ParadigmsGer.gfc
42 162 1446 german/ParamGer.gfc
81 245 2256 german/PhraseGer.gfc
68 244 4372 german/QuestionGer.gfc
63 219 3800 german/RelativeGer.gfc
90 355 2155 german/ResGer.gfc
123 423 22590 german/SentenceGer.gfc
151 451 14559 german/StructuralGer.gfc
69 224 1715 german/TensedGer.gfc
230 696 4752 german/TestGer.gfc
61 185 1483 german/UntensedGer.gfc
121 406 45746 german/VerbGer.gfc
2576 8672 266071 total
Known bugs: double infinitives in subordinate clauses.
Known uncertainties: marked with ----, mostly in Structural and Basic.
Work: ca 27h for whole German (but with support in 0.6 esp. morphology, Swedish).
22/1
Fixed double infinitives with a new field (isAux : Bool) in VP. Used in
mkClause.
31/1
Fine-tuned the place of negation by changing in ResGerman.mkClause and
VerbGerman.UseCompl. Want to say "ich bin nicht alt" and "ich liebe sie nicht".
31/5
Added inherent Case to RS, RCl and Gender to Agr in order to handle it clefts
properly. (In the meantime, the module IdiomGer had required some incremental
work.)
26/6
The German resource implementation is considered complete, and it is released
in the resource grammar version 1.0.
--------------
13/12
When adding polite imperatives, have to change the lincat of Imp: ImpForm instead
of Number. But the required inflections exist already.
--------------
20/3/2007
Spent half a day adding prefix gluing to the morphology and also
making conjunctive forms accessible as top-level tenses. These facilities
were requested by Nadine Perera writing a paper with me.