File: german

package info (click to toggle)
mmorph 2.3.4.2-4
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 912 kB
  • ctags: 904
  • sloc: ansic: 4,992; yacc: 1,215; lex: 417; makefile: 296; sh: 48; sed: 33; csh: 26
file content (250 lines) | stat: -rw-r--r-- 8,906 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
;    mmorph, MULTEXT morphology tool
;    Version 2.3, October 1995
;    Copyright (c) 1994,1995 ISSCO/SUISSETRA, Geneva, Switzerland
;    Dominique Petitpierre, <petitp@divsun.unige.ch>

;    Example rules for a german: substantives

; declaration of lexical and surface alphabet
@ Alphabets

lexical	: a b c d e f g h i j k l m n o p q r s t u v w x y z
	  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
                
	  umlautable_a umlautable_o umlautable_u
	  umlautable_A umlautable_O umlautable_U

surface	: a b c d e f g h i j k l m n o p q r s t u v w x y z
	  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
	        

; Declarations of attribute with their possible values
@ Attributes
    Genus : maskulinum femininum neutrum none
    Numerus : singular plural none
    Kasus : nominativ genitiv dativ akkusativ none
    Form : stem surface
    Singulartyp : s1 s2 s3	; Duden s. 234
    Pluraltyp : p1 p2 p3 p4 p5	; Duden s. 239
    AdjKlasse : farbe none
    CausesUmlaut : yes no

; Declarations of category types with their associated attribute list
; the bar | separates the attributes to keep from those to throw away
@ Types
    Substantiv : Genus Numerus Kasus | Singulartyp Pluraltyp Form
    SubstantivFlexion : Genus Numerus Kasus Singulartyp Pluraltyp
    Adjektiv : Genus Numerus Kasus | AdjKlasse  Form
    AdjSubstSuffix : Singulartyp Pluraltyp AdjKlasse CausesUmlaut

; Composition rules
@ Grammar

Substantiv : Substantiv[Form=surface]
Adjektiv : Adjektiv[Form=surface]

Deklination : Substantiv[ Genus=$1 Numerus=$2 Kasus=$3
			  Singulartyp=$4 Pluraltyp=$5 Form=surface ]
	    <- Substantiv[ Numerus=singular Kasus=nominativ Genus=$1
			   Singulartyp=$4 Pluraltyp=$5 ]
	       SubstantivFlexion[ Numerus=$2 Kasus=$3
			          Singulartyp=$4 Pluraltyp=$5]

Derivation : Substantiv[ Genus=$1 Numerus=singular Kasus=nominativ
			 Singulartyp=$4 Pluraltyp=$5 Form=surface ]
	    <- Adjektiv[ Numerus=singular Kasus=nominativ Genus=$1
			 AdjKlasse=$6 ]
	       AdjSubstSuffix[ AdjKlasse=$6 Singulartyp=$4 Pluraltyp=$5 ]

FarbAdj    : Substantiv[ Genus=$1 Numerus=singular Kasus=nominativ
			 Singulartyp=s1 Pluraltyp=p3 Form=surface ]
	    <- Adjektiv[ Numerus=singular Kasus=nominativ Genus=$1
			 AdjKlasse=farbe Form=surface ]

;FarbNoun   : Adjektiv[ Numerus=singular Kasus=nominativ Genus=maskulinum
;			 AdjKlasse=farbe Form=surface ]
;	    <- Substantiv[ Genus=maskulinum Numerus=singular Kasus=nominativ
;			 Singulartyp=s1 Pluraltyp=p3 Form=surface ]

; singular Duden s. 234
s1_genitiv  :  "es" SubstantivFlexion[ Numerus=singular Kasus=genitiv
			              Singulartyp=s1]
s1_dativ    :  "e" SubstantivFlexion[ Numerus=singular Kasus=dativ
				      Singulartyp=s1]
s1_akkusativ:  ""  SubstantivFlexion[ Numerus=singular Kasus=akkusativ
				      Singulartyp=s1]
s2_genitiv  :  "en" SubstantivFlexion[ Numerus=singular Kasus=genitiv
			              Singulartyp=s2]
s2_dativ    :  "en" SubstantivFlexion[ Numerus=singular Kasus=dativ
				      Singulartyp=s2]
s2_akkusativ:  "en" SubstantivFlexion[ Numerus=singular Kasus=akkusativ
				      Singulartyp=s2]
s3_genitiv  :  ""  SubstantivFlexion[ Numerus=singular Kasus=genitiv
			              Singulartyp=s3]
s3_dativ    :  ""  SubstantivFlexion[ Numerus=singular Kasus=dativ
				      Singulartyp=s3]
s3_akkusativ:  ""  SubstantivFlexion[ Numerus=singular Kasus=akkusativ
				      Singulartyp=s3]

; plural  Duden s. 238
p1_nominativ:  "e" SubstantivFlexion[ Numerus=plural Kasus=nominativ
			              Pluraltyp=p1]
p1_genitiv  :  "e" SubstantivFlexion[ Numerus=plural Kasus=genitiv
			              Pluraltyp=p1]
p1_dativ    :  "en" SubstantivFlexion[ Numerus=plural Kasus=dativ
				      Pluraltyp=p1]
p1_akkusativ:  "e" SubstantivFlexion[ Numerus=plural Kasus=akkusativ
				      Pluraltyp=p1]
p2_nominativ:  ""  SubstantivFlexion[ Numerus=plural Kasus=nominativ
			              Pluraltyp=p2]
p2_genitiv  :  ""  SubstantivFlexion[ Numerus=plural Kasus=genitiv
			              Pluraltyp=p2]
p2_dativ    :  "n"  SubstantivFlexion[ Numerus=plural Kasus=dativ
				      Pluraltyp=p2]
p2_akkusativ:  "" SubstantivFlexion[ Numerus=plural Kasus=akkusativ
				      Pluraltyp=p2]
p3_nominativ:  "en" SubstantivFlexion[ Numerus=plural Kasus=nominativ
			              Pluraltyp=p3]
p3_genitiv  :  "en" SubstantivFlexion[ Numerus=plural Kasus=genitiv
			              Pluraltyp=p3]
p3_dativ    :  "en" SubstantivFlexion[ Numerus=plural Kasus=dativ
				      Pluraltyp=p3]
p3_akkusativ:  "en" SubstantivFlexion[ Numerus=plural Kasus=akkusativ
				      Pluraltyp=p3]
p4_nominativ:  "er" SubstantivFlexion[ Numerus=plural Kasus=nominativ
			              Pluraltyp=p4]
p4_genitiv  :  "er" SubstantivFlexion[ Numerus=plural Kasus=genitiv
			              Pluraltyp=p4]
p4_dativ    :  "ern" SubstantivFlexion[ Numerus=plural Kasus=dativ
				      Pluraltyp=p4]
p4_akkusativ:  "er" SubstantivFlexion[ Numerus=plural Kasus=akkusativ
				      Pluraltyp=p4]
p5_nominativ:  "s" SubstantivFlexion[ Numerus=plural Kasus=nominativ
			              Pluraltyp=p5]
p5_genitiv  :  "s" SubstantivFlexion[ Numerus=plural Kasus=genitiv
			              Pluraltyp=p5]
p5_dativ    :  "s" SubstantivFlexion[ Numerus=plural Kasus=dativ
				      Pluraltyp=p5]
p5_akkusativ:  "s" SubstantivFlexion[ Numerus=plural Kasus=akkusativ
				      Pluraltyp=p5]

adjderiv1   :  ""     AdjSubstSuffix[ AdjKlasse=farbe  CausesUmlaut=no
			              Singulartyp=s1  Pluraltyp=p3]

adjderiv2   :  "heit" AdjSubstSuffix[ AdjKlasse=none CausesUmlaut=no
				      Singulartyp=s3  Pluraltyp=p3 ]

@ Classes

lnr: l n r

@ Pairs

Dont_umlaut:
    a/umlautable_a
    u/umlautable_u
    o/umlautable_o
    A/umlautable_A
    U/umlautable_U
    O/umlautable_O

Do_umlaut:
    /umlautable_a
    /umlautable_u
    /umlautable_o
    /umlautable_A
    /umlautable_U
    /umlautable_O

Vokal: a e i o u    
    /umlautable_a
    /umlautable_u
    /umlautable_o

Delete_e: <>/e

Capitalize:
    A/a B/b C/c D/d E/e F/f G/g H/h I/i J/j K/k L/l M/m N/n O/o
    P/p Q/q R/r S/s T/t U/u V/v W/w X/x Y/y Z/z

@ Spelling

Default_umlautable: =>
    - Dont_umlaut -

Umlauting: <=>
    - Do_umlaut -
    SubstantivFlexion[Numerus=plural] AdjSubstSuffix[CausesUmlaut=yes]


Delete_e: <=>
    e * - Delete_e -

D2: <=>
    l i n g * - Delete_e -

D3: <=>
    l e i n * - Delete_e -

D4: <=>
    e lnr * - Delete_e -

D5: <=>
    Vokal h * - Delete_e -

D6: <=>
    Vokal * - Delete_e - s

D7: <=>
    c k * - Delete_e -

D8: <=>
    * + - Delete_e - s AdjSubstSuffix[AdjKlasse=farbe]

D9: <=>
    * + - Delete_e - ~ AdjSubstSuffix[AdjKlasse=farbe]

Capitalize: <=>
    ~ - Capitalize - AdjSubstSuffix[]

; Lexical entries (stems and also some surface Forms)
@ Lexicon

	Adjektiv[ Genus=maskulinum Numerus=singular Kasus=nominativ AdjKlasse=farbe Form=surface ]
"grn"
	Adjektiv[ Genus=maskulinum Numerus=singular Kasus=nominativ AdjKlasse=none Form=surface ]
"kl&umlautable_a;r" = "klar"
	Substantiv[ Genus=femininum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p1 Form=surface ]
"H&umlautable_a;nd" = "Hand"
	Substantiv[ Genus=femininum Numerus=singular Kasus=nominativ Singulartyp=s3 Pluraltyp=p2 Form=surface ]
"M&umlautable_u;tter" = "Mutter"
	Substantiv[ Genus=femininum Numerus=singular Kasus=nominativ Singulartyp=s3 Pluraltyp=p3 Form=surface ]
"Frau"
	Substantiv[ Genus=femininum Numerus=singular Kasus=nominativ Singulartyp=s3 Pluraltyp=p5 Form=surface ]
"Oma"
	Substantiv[ Genus=maskulinum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p1 Form=surface ]
"Tag"
	Substantiv[ Genus=maskulinum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p2 Form=surface ]
"&umlautable_A;pfel" = "Apfel"
	Substantiv[ Genus=maskulinum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p3 Form=surface ]
"Staat"
	Substantiv[ Genus=maskulinum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p4 Form=surface ]
"M&umlautable_a;nn" = "Mann"
"W&umlautable_a;ld" = "Wald"
	Substantiv[ Genus=maskulinum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p5 Form=surface ]
"Opa"
	Substantiv[ Genus=maskulinum Numerus=singular Kasus=nominativ Singulartyp=s2 Pluraltyp=p3 Form=surface ]
"Mensch"
	Substantiv[ Genus=neutrum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p1 Form=surface ]
"Jahr"
	Substantiv[ Genus=neutrum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p2 Form=surface ]
"Segel"
	Substantiv[ Genus=neutrum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p3 Form=surface ]
"Auge"
	Substantiv[ Genus=neutrum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p4 Form=surface ]
"Bild"
	Substantiv[ Genus=neutrum Numerus=singular Kasus=nominativ Singulartyp=s1 Pluraltyp=p5 Form=surface ]
"Deck"
	Substantiv[ Genus=neutrum Numerus=singular Kasus=nominativ Singulartyp=s3 Pluraltyp=p1 Form=surface ]
"Kr&umlautable_a;ft" = "Kraft"