forked from GitHub/gf-core
preserve 1.0
This commit is contained in:
@@ -1,277 +0,0 @@
|
||||
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.)
|
||||
Reference in New Issue
Block a user