Commit 78e8cc501860a04eff409542a2d65e5f3f34bcea
1 parent
f7ed7092
Reorganizacja warstwy fonetycznej
Showing
16 changed files
with
1191 additions
and
1718 deletions
morphology/data/alternations.dic
morphology/data/fonetics.dic
0 → 100644
1 | +@symbols | ||
2 | +ω a ą e ę o ó u | ||
3 | +δ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y z ź ż - ε v x q | ||
4 | +#γ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y ź ż - ε | ||
5 | +#ξ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y - ε | ||
6 | +#μ a ą b c ć d e ę f g k l ł m n ń o ó p r s ś t u w y ź ż - ε | ||
7 | +λ b c ć d f g h k l ł m n ń p r s ś t w z ź ż - ε v x q | ||
8 | +κ b c ć d f g h i j k l ł m n ń p r s ś t w z ź ż - ε v x q | ||
9 | +#σ a ą b c ć d e ę f g j h k l ł m n ń o ó p r s ś t u w y z ź ż - ε | ||
10 | +ρ aε achε amiε ąε eε ęε iε oε omε onε umε | ||
11 | +α ε goε muε mε | ||
12 | +ά ε goε muε | ||
13 | +β ε chε miε mε | ||
14 | +γ aε achε amiε ąε eε ęε iε oε omε onε umε ówε uε owiε omε emε yε owieε emuε egoε goε mε muε ε | ||
15 | + | ||
16 | +@rev_symbols | ||
17 | +ω a ą e ę o ó u {eu} | ||
18 | +δ a ą b c ć č d ʒ ǯ e ę f g h x i k l ł m n ń o ó p r ř s ś š t u v w y z ź ž - ε { | ||
19 | +λ b c ć č d ʒ ǯ f g h x k l ł m n ń p r ř s ś š t v w z ź ž - ε { q | ||
20 | +κ b c ć č d ʒ ǯ f g h x i j ʲ k l ł m n ń p r ř s ś š t v w z ź ž - ε { | ||
21 | +ρ aε axε am′iε ąε eε ęε iε oε omε onε umε | ||
22 | + | ||
23 | +@rev_rules | ||
24 | +core p′ pi ω | ||
25 | +core p′ p i | ||
26 | +core pj pi ρ | ||
27 | +core b′ bi ω | ||
28 | +core b′ b i | ||
29 | +core bj bi ρ | ||
30 | +core m′ mi ω | ||
31 | +core m′ m i | ||
32 | +core m′j mi ρ | ||
33 | +core f′ fi ω | ||
34 | +core f′ f i | ||
35 | +core fj fi ρ | ||
36 | +core v′ wi ω | ||
37 | +core v′ w i | ||
38 | +core v w δ | ||
39 | +core vj wi ρ | ||
40 | +#core v w j | ||
41 | +core t′ ć λ | ||
42 | +core t′ ci ω | ||
43 | +core t′ c i | ||
44 | +core d′ dź λ | ||
45 | +core d′ dzi ω | ||
46 | +core d′ dz i | ||
47 | +core ʒ dz | ||
48 | +core tʲ ti ω | ||
49 | +core tʲ t i | ||
50 | +core tj ti ρ | ||
51 | +core dʲ di ω | ||
52 | +core dʲ d i | ||
53 | +core dj di ρ | ||
54 | +core č cz δ | ||
55 | +core čʲ czi ω | ||
56 | +core čʲ cz i | ||
57 | +core č cz j | ||
58 | +core ǯ dż δ | ||
59 | +core ǯʲ dżi ω | ||
60 | +core ǯʲ dż i | ||
61 | +core ǯj dżi ρ | ||
62 | +core s′ ś λ | ||
63 | +core s′ si ω | ||
64 | +core s′ s i | ||
65 | +core z′ ź λ | ||
66 | +core z′ zi ω | ||
67 | +core z′ z i | ||
68 | +core š sz δ | ||
69 | +core š sz j | ||
70 | +core šʲ szi ω | ||
71 | +core šʲ sz i | ||
72 | +core ž ż δ | ||
73 | +core žʲ żi ω | ||
74 | +core žʲ ż i | ||
75 | +core žj żi ρ | ||
76 | +core lʲ li ω | ||
77 | +core lj li ρ | ||
78 | +core ř rz δ | ||
79 | +core ř rz j | ||
80 | +core rʲ ri ω | ||
81 | +core rʲ r i | ||
82 | +core rj ri ρ | ||
83 | +core n′ ń λ | ||
84 | +core n′ ni ω | ||
85 | +core n′ n i | ||
86 | +core n′j ni ρ | ||
87 | +core k′ ki ω | ||
88 | +core k′ k i | ||
89 | +core k′j ki ρ | ||
90 | +core g′ gi ω | ||
91 | +core g′ g i | ||
92 | +core g′j gi ρ | ||
93 | +core x ch δ | ||
94 | +core xʲ chi ω | ||
95 | +core xʲ ch i | ||
96 | +core xʲj chi ρ | ||
97 | +core hʲ hi ω | ||
98 | +core hʲ h i | ||
99 | +core aʲ a i | ||
100 | +core eʲ e i | ||
101 | +core oʲ o i | ||
102 | +core óʲ ó i | ||
103 | +core uʲ u i | ||
104 | +core iʲ i i | ||
105 | +core yʲ y i | ||
106 | + | ||
107 | +aux {ch}š ch | ||
108 | +aux {q}k q | ||
109 | +aux {ng}n ng | ||
110 | +aux {tch}č tch | ||
111 | +aux {sh}š sh | ||
112 | +aux {w}ł w | ||
113 | +aux {leigh}l leigh | ||
114 | +aux {au}ał au | ||
115 | +aux {sch}š sch | ||
116 | +aux {tsch}č tsch | ||
117 | +aux {z}c z | ||
118 | +core {lj}lj lj a | ||
119 | +core {lj}lj lj e | ||
120 | +core {pj}pj pj e | ||
121 | +aux {zs}ž zs ε | ||
122 | +aux {cs}č cs ε | ||
123 | + | ||
124 | +aux {ay}aj ay ε | ||
125 | +aux {ey}ej ey ε | ||
126 | +aux {oy}oj oy ε | ||
127 | +aux {ay}aj ay ω | ||
128 | +aux {ey}ej ey ω | ||
129 | +aux {oy}oj oy ω | ||
130 | +aux {ai}aj ai ε | ||
131 | +aux {ai}aj ai ω | ||
132 | + | ||
133 | +aux {dh}dʲ dhi ω | ||
134 | +aux {dh}dʲ dh iκ | ||
135 | +aux {dh}d dh δ | ||
136 | +aux {gh}g′ ghi ω | ||
137 | +aux {gh}g′ gh iκ | ||
138 | +aux {gh}g gh δ | ||
139 | +aux {kh}k′ khi ω | ||
140 | +aux {kh}k′ kh iκ | ||
141 | +aux {kh}k kh δ | ||
142 | +aux {nh}n′ nhi ω | ||
143 | +aux {nh}n′ nh iκ | ||
144 | +aux {nh}n nh δ | ||
145 | +aux {th}tʲ thi ω | ||
146 | +aux {th}tʲ th iκ | ||
147 | +aux {th}t th δ | ||
148 | +core {v}v′ vi ω | ||
149 | +core {v}v′ v iκ | ||
150 | +core {v}v v δ | ||
151 | +core {v}vj vi ρ | ||
152 | +core {x}ks′ xi ω | ||
153 | +core {x}ks′ x iκ | ||
154 | +core {x}ks x δ | ||
155 | + | ||
156 | +#lemma=e/y gender=m1 | ||
157 | +aux {dieu}dʲe dieu ε | ||
158 | +aux {dieu}dʲi dieu ε | ||
159 | +aux {quieu}k′e quieu ε | ||
160 | +aux {quieu}k′i quieu ε | ||
161 | +aux {lieu}lʲe lieu ε | ||
162 | +aux {lieu}lʲi lieu ε | ||
163 | +aux {rie}rʲe rie ε | ||
164 | +aux {rie}rʲi rie ε | ||
165 | +aux {gie}ǯʲe gie ε | ||
166 | +aux {gie}ǯʲi gie ε | ||
167 | +aux {kie}k′e kie ε | ||
168 | +aux {kie}k′i kie ε | ||
169 | +aux {tie}tʲe tie ε | ||
170 | +aux {tie}tʲi tie ε | ||
171 | +aux {pie}p′e pie ε | ||
172 | +aux {pie}p′i pie ε | ||
173 | +aux {die}dʲe die ε | ||
174 | +aux {die}dʲi die ε | ||
175 | +aux {bee}b′e bee ε | ||
176 | +aux {bee}b′i bee ε | ||
177 | + | ||
178 | +#lemma=e gender=m1 | ||
179 | +aux {mée}me mée ε | ||
180 | +aux {ge}g′e ge ε | ||
181 | +aux {ke}k′e ke ε | ||
182 | + | ||
183 | +#lemma=y gender=m1 | ||
184 | +aux {by}b′i by ε | ||
185 | +aux {dy}dʲi dy ε | ||
186 | +aux {dí}dʲi dí ε | ||
187 | +aux {phy}f′i phy ε | ||
188 | +aux {guy}g′i guy ε | ||
189 | +aux {ky}k′i ky ε | ||
190 | +aux {my}m′i my ε | ||
191 | +aux {li}li li ε | ||
192 | +aux {ly}li ly ε | ||
193 | +aux {ry}rʲi ry ε | ||
194 | +core {ři}rʲi ři ε | ||
195 | +aux {sy}sʲi sy ε | ||
196 | +aux {cy}sʲi cy ε | ||
197 | +aux {şi}sʲi şi ε | ||
198 | +aux {thy}tʲi thy ε | ||
199 | + | ||
200 | +#lemma=e/ndm gender=m1 | ||
201 | +aux {chais}še chais ε | ||
202 | +aux {lais}le lais ε | ||
203 | +aux {nais}ne nais ε | ||
204 | +aux {rès}re rès ε | ||
205 | +aux {rés}re rés ε | ||
206 | +aux {ré}re ré ε | ||
207 | + | ||
208 | +#lemma=ε | ||
209 | +aux {de}d de ε | ||
210 | +aux {fe}f fe ε | ||
211 | +aux {phe}f phe ε | ||
212 | +aux {ge}ǯ ge ε | ||
213 | +aux {ges}ǯ ges ε | ||
214 | +aux {gue}g gue ε | ||
215 | +aux {gues}g gues ε | ||
216 | +aux {ke}k ke ε | ||
217 | +aux {que}k que ε | ||
218 | +aux {ques}k ques ε | ||
219 | +aux {le}l le ε | ||
220 | +aux {les}l les ε | ||
221 | +aux {me}m me ε | ||
222 | +aux {ne}n ne ε | ||
223 | +aux {gne}n′ gne ε | ||
224 | +aux {re}r re ε | ||
225 | +aux {rue}r rue ε | ||
226 | +aux {se}s se ε | ||
227 | +aux {ce}s ce ε | ||
228 | +aux {che}š che ε | ||
229 | +aux {te}t te ε | ||
230 | +aux {the}t the ε | ||
231 | +aux {ve}v ve ε | ||
232 | +aux {we}ł we ε | ||
233 | +aux {se}z se ε | ||
234 | +aux {ge}ž ge ε | ||
235 | +aux {oe}oł oe ε | ||
236 | + | ||
237 | + | ||
238 | +aux g′el gel ε | ||
239 | + | ||
240 | +aux g′e ge ε | ||
241 | +aux k′e ke ε | ||
242 | +aux k′i ky ε | ||
243 | +aux k′i kij ε | ||
244 | +aux k′i koj ε | ||
245 | +aux k′i kyj ε | ||
246 | + s s k′i | ||
247 | +aux sk′i szky ε | ||
248 | + l l i | ||
249 | +aux li ly ε | ||
250 | + | ||
251 | +aux ks x ε | ||
252 | +aux ks kx ε | ||
253 | + | ||
254 | + r r a | ||
255 | +aux r rh a | ||
256 | + t t a | ||
257 | +aux t th a | ||
258 | + k k | ||
259 | +aux k kh a | ||
260 | +aux ks x a | ||
261 | +aux k c a | ||
262 | + n n a | ||
263 | +aux n nh a | ||
264 | + d d a | ||
265 | +aux d dh a | ||
266 | + g g a | ||
267 | +aux g gh a | ||
268 | + | ||
269 | +aux k c o | ||
270 | +aux kk cc o | ||
271 | + | ||
272 | + | ||
273 | + b b ε | ||
274 | +aux b bes ε | ||
275 | + d d ε | ||
276 | +aux d de ε | ||
277 | +aux d dh ε | ||
278 | + f f ε | ||
279 | +aux f phe ε | ||
280 | +aux f ph ε | ||
281 | + g g ε | ||
282 | +aux g gue ε | ||
283 | +aux g gues ε | ||
284 | + k k ε | ||
285 | +aux k ke ε | ||
286 | +aux k c ε | ||
287 | +aux k que ε | ||
288 | +aux k q ε | ||
289 | +aux k cq ε | ||
290 | +aux k ques ε | ||
291 | +aux k cques ε | ||
292 | +aux kt ct ε | ||
293 | + m m ε | ||
294 | +aux m me ε | ||
295 | + n n ε | ||
296 | +aux n ne ε | ||
297 | +aux n nes ε | ||
298 | +aux n ng ε | ||
299 | +aux n nh ε | ||
300 | + r r ε | ||
301 | +aux r re ε | ||
302 | +aux r res ε | ||
303 | +aux r rs ε | ||
304 | +aux r rh ε | ||
305 | + s s ε | ||
306 | +aux s se ε | ||
307 | +aux s ce ε | ||
308 | +aux s th ε | ||
309 | + t t ε | ||
310 | +aux t te ε | ||
311 | +aux t tes ε | ||
312 | +aux t thes ε | ||
313 | +aux t th ε | ||
314 | +aux t the ε | ||
315 | +aux t tt ε | ||
316 | + | ||
317 | + e e j | ||
318 | +aux ej ey ε | ||
319 | + | ||
320 | + a a ε | ||
321 | +aux a ah ε | ||
322 | + a a j | ||
323 | +aux aja ayah ε | ||
324 | + | ||
325 | + o o j | ||
326 | +aux oja oya ε | ||
327 | + | ||
328 | +acro {A}a A | ||
329 | +acro {B}b B | ||
330 | +acro {C}c C | ||
331 | +acro {C}k C | ||
332 | +acro {Ć}t′ Ć | ||
333 | +acro {D}d D | ||
334 | +acro {E}e E | ||
335 | +acro {F}f F | ||
336 | +acro {G}g G | ||
337 | +acro {H}h H | ||
338 | +acro {I}j I | ||
339 | +acro {J}j J | ||
340 | +acro {K}k K | ||
341 | +acro {L}l L | ||
342 | +acro {Ł}ł Ł | ||
343 | +acro {M}m M | ||
344 | +acro {N}n N | ||
345 | +acro {O}o O | ||
346 | +acro {P}p P | ||
347 | +acro {R}r R | ||
348 | +acro {S}s S | ||
349 | +acro {Ś}s′ Ś | ||
350 | +acro {T}t T | ||
351 | +acro {U}u U | ||
352 | +acro {V}v V | ||
353 | +acro {W}v W | ||
354 | +acro {X}ks X | ||
355 | +acro {Y}y Y | ||
356 | +acro {Z}z Z | ||
357 | +acro {Ż}ž Ż | ||
358 | +acro {J}jot J | ||
359 | +acro {Z}zet Z | ||
360 | +acro {Ż}žet Ż | ||
361 | +acro {v}v V | ||
362 | +acro {x}ks X | ||
363 | +acro {j}jot J | ||
364 | +acro {z}zet z | ||
365 | +acro {ż}žet Ż | ||
366 | + | ||
367 | +acro a A ε | ||
368 | + | ||
369 | +@rules | ||
370 | +core p′ pi ω | ||
371 | +core p′ p iκ | ||
372 | +#core p p δ | ||
373 | +#core p p j | ||
374 | +core pj pi ρ | ||
375 | +core b′ bi ω | ||
376 | +core b′ b iκ | ||
377 | +#core b b δ | ||
378 | +core bj bi ρ | ||
379 | +#zbitka | ||
380 | +#core b b j | ||
381 | +core m′ mi ω | ||
382 | +core m′ m iκ | ||
383 | +#core m m δ | ||
384 | +core m′j mi ρ | ||
385 | +core f′ fi ω | ||
386 | +core f′ f iκ | ||
387 | +#core f f δ | ||
388 | +core fj fi ρ | ||
389 | +core v′ wi ω | ||
390 | +core v′ w iκ | ||
391 | +core v w δ | ||
392 | +core vj wi ρ | ||
393 | +#zbitka | ||
394 | +#core v w j | ||
395 | +core t′ ć λ | ||
396 | +#zbitki | ||
397 | +#core t′ ć u | ||
398 | +#core t′ ć a | ||
399 | +#core t′ ć i | ||
400 | +core t′ ci ω | ||
401 | +#core c c j | ||
402 | +core t′ c iκ | ||
403 | +#core c c μ | ||
404 | +core d′ dź λ | ||
405 | +core d′ dzi ω | ||
406 | +core d′ dz iκ | ||
407 | +core ʒ dz δ | ||
408 | +#zbitka | ||
409 | +#core ʒ dz j | ||
410 | +#core t t δ | ||
411 | +#core t t j | ||
412 | +core tʲ ti ω | ||
413 | +core tʲ t iκ | ||
414 | +core tj ti ρ | ||
415 | +#core d d ξ | ||
416 | +core dʲ di ω | ||
417 | +core dʲ d iκ | ||
418 | +#core d d j | ||
419 | +core dj di ρ | ||
420 | +core č cz δ | ||
421 | +core čʲ czi ω | ||
422 | +core čʲ cz iκ | ||
423 | +#core čʲ cz j | ||
424 | +core ǯ dż δ | ||
425 | +core ǯʲ dżi ω | ||
426 | +core ǯʲ dż iκ | ||
427 | +core ǯj dżi ρ | ||
428 | +core s′ ś λ | ||
429 | +core s′ si ω | ||
430 | +#core s s j | ||
431 | +core s′ s iκ | ||
432 | +#core s s γ | ||
433 | +core z′ ź λ | ||
434 | +core z′ zi ω | ||
435 | +#core z z j | ||
436 | +core z′ z iκ | ||
437 | +#core z z δ | ||
438 | +core š sz δ | ||
439 | +#core šʲ sz j | ||
440 | +core šʲ szi ω | ||
441 | +core šʲ sz iκ | ||
442 | +core ž ż δ | ||
443 | +core žʲ żi ω | ||
444 | +core žʲ ż iκ | ||
445 | +core žj żi ρ | ||
446 | +#core l l δ | ||
447 | +core lʲ li ω | ||
448 | +core l l iκ | ||
449 | +#core l l j | ||
450 | +#core ł ł δ | ||
451 | +#zbitka | ||
452 | +#core ł ł i | ||
453 | +#zbitka | ||
454 | +#core ł ł j | ||
455 | +core lj li ρ | ||
456 | +core ř rz δ | ||
457 | +#zbitka | ||
458 | +#core ř rz j | ||
459 | +core r r zi | ||
460 | +#core r r γ | ||
461 | +#core r r j | ||
462 | +core rʲ ri ω | ||
463 | +core rʲ r iκ | ||
464 | +core rj ri ρ | ||
465 | +core n′ ń λ | ||
466 | +core n′ ni ω | ||
467 | +core n′ n iκ | ||
468 | +#core n n δ | ||
469 | +#core n n j | ||
470 | +core n′j ni ρ | ||
471 | +core k′ ki ω | ||
472 | +core k′ k iκ | ||
473 | +#core k k δ | ||
474 | +#core k k j | ||
475 | +core k′j ki ρ | ||
476 | +core g′ gi ω | ||
477 | +core g′ g iκ | ||
478 | +#core g g δ | ||
479 | +core g′j gi ρ | ||
480 | +core x ch δ | ||
481 | +core xʲ chi ω | ||
482 | +core xʲ ch iκ | ||
483 | +core xʲj chi ρ | ||
484 | +#core h h δ | ||
485 | +core hʲ hi ω | ||
486 | +core hʲ h iκ | ||
487 | +core mar mar z | ||
488 | +core m′er mier z | ||
489 | +core n′e nie i | ||
490 | +#core a a σ | ||
491 | +core aʲ a i | ||
492 | +#core a a i | ||
493 | +#core e e σ | ||
494 | +core eʲ e i | ||
495 | +#core e e i | ||
496 | +#core o o σ | ||
497 | +core oʲ o i | ||
498 | +#core o o i | ||
499 | +#core ó ó σ | ||
500 | +core óʲ ó i | ||
501 | +#core ó ó i | ||
502 | +#core u u σ | ||
503 | +core uʲ u i | ||
504 | +#core u u i | ||
505 | +#core i i σ | ||
506 | +core iʲ i i | ||
507 | +#core i i i | ||
508 | +#core y y σ | ||
509 | +core yʲ y i | ||
510 | +#core y y i | ||
511 | +#core ą ą σ | ||
512 | +#core ę ę σ | ||
513 | +#core j j | ||
514 | +#core A A | ||
515 | +#core B B | ||
516 | +#core C C | ||
517 | +#core Ć Ć | ||
518 | +#core D D | ||
519 | +#core E E | ||
520 | +#core F F | ||
521 | +#core G G | ||
522 | +#core H H | ||
523 | +#core I I | ||
524 | +#core J J | ||
525 | +#core K K | ||
526 | +#core L L | ||
527 | +#core Ł Ł | ||
528 | +#core M M | ||
529 | +#core N N | ||
530 | +#core O O | ||
531 | +#core P P | ||
532 | +#core R R | ||
533 | +#core S S | ||
534 | +#core Ś Ś | ||
535 | +#core T T | ||
536 | +#core U U | ||
537 | +#core W W | ||
538 | +#core Y Y | ||
539 | +#core Z Z | ||
540 | +#core Ż Ż | ||
541 | +#core - - | ||
542 | + | ||
543 | +aux {ch}š ch γ | ||
544 | +aux {q}k q γ | ||
545 | +aux {ng}n ng γ | ||
546 | +aux {tch}č tch γ | ||
547 | +aux {sh}š sh γ | ||
548 | +aux {w}ł w | ||
549 | +aux {leigh}l leigh γ | ||
550 | +aux {au}ał au γ | ||
551 | +aux {sch}š sch γ | ||
552 | +aux {tsch}č tsch γ | ||
553 | +aux {z}c z γ | ||
554 | +core {lj}lj lj γ | ||
555 | +core {pj}pj pj γ | ||
556 | +aux {zs}ž zs γ | ||
557 | +aux {cs}č cs γ | ||
558 | + | ||
559 | +aux {ay}aj ay γ | ||
560 | +aux {ey}ej ey γ | ||
561 | +aux {oy}oj oy γ | ||
562 | +aux {ai}aj ai γ | ||
563 | + | ||
564 | +aux {dh}dʲ dhi ω | ||
565 | +aux {dh}dʲ dh iκ | ||
566 | +aux {dh}d dh δ | ||
567 | +aux {gh}g′ ghi ω | ||
568 | +aux {gh}g′ gh iκ | ||
569 | +aux {gh}g gh δ | ||
570 | +aux {kh}k′ khi ω | ||
571 | +aux {kh}k′ kh iκ | ||
572 | +aux {kh}k kh δ | ||
573 | +aux {nh}n′ nhi ω | ||
574 | +aux {nh}n′ nh iκ | ||
575 | +aux {nh}n nh δ | ||
576 | +aux {th}tʲ thi ω | ||
577 | +aux {th}tʲ th iκ | ||
578 | +aux {th}t th δ | ||
579 | +core {v}v′ vi ω | ||
580 | +core {v}v′ v iκ | ||
581 | +core {v}v v δ | ||
582 | +core {v}vj vi ρ | ||
583 | +core {x}ks′ xi ω | ||
584 | +core {x}ks′ x iκ | ||
585 | +core {x}ks x δ | ||
586 | + | ||
587 | +#lemma=e/y gender=m1 | ||
588 | +aux {dieu}dʲe dieu α | ||
589 | +aux {dieu}dʲi dieu β | ||
590 | +aux {quieu}k′e quieu α | ||
591 | +aux {quieu}k′i quieu β | ||
592 | +aux {lieu}lʲe lieu α | ||
593 | +aux {lieu}lʲi lieu β | ||
594 | +aux {rie}rʲe rie α | ||
595 | +aux {rie}rʲi rie β | ||
596 | +aux {gie}ǯʲe gie α | ||
597 | +aux {gie}ǯʲi gie β | ||
598 | +aux {kie}k′e kie α | ||
599 | +aux {kie}k′i kie β | ||
600 | +aux {tie}tʲe tie α | ||
601 | +aux {tie}tʲi tie β | ||
602 | +aux {pie}p′e pie α | ||
603 | +aux {pie}p′i pie β | ||
604 | +aux {die}dʲe die α | ||
605 | +aux {die}dʲi die β | ||
606 | +aux {bee}b′e bee α | ||
607 | +aux {bee}b′i bee β | ||
608 | + | ||
609 | +#lemma=e gender=m1 | ||
610 | +aux {mée}me mée α | ||
611 | +aux {ge}g′e ge α | ||
612 | +aux {ke}k′e ke α | ||
613 | + | ||
614 | +#lemma=y gender=m1 | ||
615 | +aux {by}b′ by ’eά | ||
616 | +aux {by}b′i by β | ||
617 | +aux {dy}dʲ dy ’eά | ||
618 | +aux {dy}dʲ dy eά | ||
619 | +aux {dy}dʲ dy owieε | ||
620 | +aux {dy}dʲi dy β | ||
621 | +aux {dí}dʲ dí eά | ||
622 | +aux {dí}dʲ dí owieε | ||
623 | +aux {dí}dʲi dí β | ||
624 | +aux {phy}f′ phy ’eά | ||
625 | +aux {phy}f′i phy β | ||
626 | +aux {guy}g′ guy ’eά | ||
627 | +aux {guy}g′i guy β | ||
628 | +aux {ky}k′ ky ’eά | ||
629 | +aux {ky}k′ ky eά | ||
630 | +aux {ky}k ky owieε | ||
631 | +aux {ky}k′i ky β | ||
632 | +aux {my}m′ my ’eά | ||
633 | +aux {my}m′i my β | ||
634 | +aux {li}l li eά | ||
635 | +aux {li}l l iβ | ||
636 | +aux {ly}l ly ’eά | ||
637 | +aux {ly}li ly β | ||
638 | +aux {ry}rʲ ry ’eά | ||
639 | +aux {ry}rʲi ry β | ||
640 | +core {ři}rʲ ři eά | ||
641 | +core {ři}rʲ ři owieε | ||
642 | +core {ři}rʲi ři β | ||
643 | +aux {sy}sʲ sy ’eά | ||
644 | +aux {sy}sʲ sy eά | ||
645 | +aux {sy}sʲ sy owieε | ||
646 | +aux {sy}sʲi sy β | ||
647 | +aux {şi}sʲ şi eά | ||
648 | +aux {şi}sʲ şi owieε | ||
649 | +aux {şi}sʲi şi β | ||
650 | +aux {cy}sʲ cy ’eά | ||
651 | +aux {cy}sʲi cy β | ||
652 | +aux {thy}tʲ thy ’eά | ||
653 | +aux {thy}tʲ thy eά | ||
654 | +aux {thy}tʲ thy owieε | ||
655 | +aux {thy}tʲi thy β | ||
656 | + | ||
657 | +#lemma=e/ndm gender=m1 | ||
658 | +aux {chais}še chais ’ | ||
659 | +aux {lais}le lais ’ | ||
660 | +aux {nais}ne nais ’ | ||
661 | +aux {rès}re rès ’ | ||
662 | +aux {rés}re rés ’ | ||
663 | +aux {ré}re ré ά | ||
664 | + | ||
665 | +#lemma=ε | ||
666 | +aux {de}d de ’ | ||
667 | +aux {de}d de ε | ||
668 | +aux {fe}f fe ’ | ||
669 | +aux {fe}f fe ε | ||
670 | +aux {phe}f phe ’ | ||
671 | +aux {phe}f phe ε | ||
672 | +aux {ge}ǯ ge ’ | ||
673 | +aux {ge}ǯ ge ε | ||
674 | +aux {ges}ǯ ges ’ | ||
675 | +aux {ges}ǯ ges ε | ||
676 | +aux {gue}g gue ’ | ||
677 | +aux {gue}g gue ε | ||
678 | +aux {gues}g gues ’ | ||
679 | +aux {gues}g gues ε | ||
680 | +aux {ke}k ke ’ | ||
681 | +aux {ke}k ke ε | ||
682 | +aux {que}k que ’ | ||
683 | +aux {que}k que ε | ||
684 | +aux {ques}k ques ’ | ||
685 | +aux {ques}k ques ε | ||
686 | +aux {le}l le ’ | ||
687 | +aux {le}l le ε | ||
688 | +aux {les}l les ’ | ||
689 | +aux {les}l les ε | ||
690 | +aux {me}m me ’ | ||
691 | +aux {me}m me ε | ||
692 | +aux {ne}n ne ’ | ||
693 | +aux {ne}n ne ε | ||
694 | +aux {gne}n′ gne ’ | ||
695 | +aux {gne}n′ gne ε | ||
696 | +aux {re}r re ’ | ||
697 | +aux {re}r re ε | ||
698 | +aux {rue}r rue ’ | ||
699 | +aux {rue}r rue ε | ||
700 | +aux {se}s se ’ | ||
701 | +aux {se}s se ε | ||
702 | +aux {ce}s ce ’ | ||
703 | +aux {ce}s ce ε | ||
704 | +aux {che}š che ’ | ||
705 | +aux {che}š che ε | ||
706 | +aux {te}t te ’ | ||
707 | +aux {te}t te ε | ||
708 | +aux {the}t the ’ | ||
709 | +aux {the}t the ε | ||
710 | +aux {ve}v ve ’ | ||
711 | +aux {ve}v ve ε | ||
712 | +aux {we}ł we ’ | ||
713 | +aux {we}ł we ε | ||
714 | +aux {se}z se ’ | ||
715 | +aux {se}z se ε | ||
716 | +aux {ge}ž ge ’ | ||
717 | +aux {ge}ž ge ε | ||
718 | +#z wyjątkiem sg:loc.voc | ||
719 | +aux {oe}oł oe ’ | ||
720 | +aux {oe}oł oe ε | ||
721 | + | ||
722 | +aux ’ γ | ||
723 | +# ’ ’ owi | ||
724 | + | ||
725 | + n n g | ||
726 | + z z γ | ||
727 | + b b e | ||
728 | + b b y | ||
729 | + d d y | ||
730 | + m m y | ||
731 | + s s y | ||
732 | + c c y | ||
733 | + r r y | ||
734 | + k k y | ||
735 | + l l y | ||
736 | + l l a | ||
737 | + n n a | ||
738 | + r r è | ||
739 | + d d e | ||
740 | + f f e | ||
741 | + p p h | ||
742 | + g g e | ||
743 | + g g u | ||
744 | + k k e | ||
745 | + q q u | ||
746 | + l l e | ||
747 | + m m e | ||
748 | + n n e | ||
749 | + g g n | ||
750 | + r r e | ||
751 | + s s e | ||
752 | + c c e | ||
753 | +# c c h | ||
754 | + t t e | ||
755 | + t t h | ||
756 | + v v e | ||
757 | + w w e | ||
758 | + s s e | ||
759 | + o o e | ||
760 | + m m é | ||
761 | + a a y | ||
762 | + e e y | ||
763 | + o o y | ||
764 | + | ||
765 | +acro a A ε | ||
766 | + | ||
767 | +acro {A}a A | ||
768 | +acro {B}b B | ||
769 | +acro {C}c C | ||
770 | +acro {C}k C | ||
771 | +acro {Ć}t′ Ć | ||
772 | +acro {D}d D | ||
773 | +acro {E}e E | ||
774 | +acro {F}f F | ||
775 | +acro {G}g G | ||
776 | +acro {H}h H | ||
777 | +acro {I}j I | ||
778 | +acro {J}j J | ||
779 | +acro {K}k K | ||
780 | +acro {L}l L | ||
781 | +acro {Ł}ł Ł | ||
782 | +acro {M}m M | ||
783 | +acro {N}n N | ||
784 | +acro {O}o O | ||
785 | +acro {P}p P | ||
786 | +acro {R}r R | ||
787 | +acro {S}s S | ||
788 | +acro {Ś}s′ Ś | ||
789 | +acro {T}t T | ||
790 | +acro {U}u U | ||
791 | +acro {V}v V | ||
792 | +acro {W}v W | ||
793 | +acro {X}ks X | ||
794 | +acro {Y}y Y | ||
795 | +acro {Z}z Z | ||
796 | +acro {Ż}ž Ż | ||
797 | +acro {J}jot J-ot δ | ||
798 | +acro {Z}zet Z-et δ | ||
799 | +acro {Ż}žet Ż-et δ | ||
800 | +acro {z}zet z-et δ | ||
801 | + | ||
802 | +acro {B}b′e B-ie ε | ||
803 | +acro {D}d′e D-zie ε | ||
804 | +acro {F}f′e F-ie ε | ||
805 | +acro {M}m′e M-ie ε | ||
806 | +acro {N}n′e N-ie ε | ||
807 | +acro {P}p′e P-ie ε | ||
808 | +acro {R}ře R-ze ε | ||
809 | +acro {S}s′e S-ie ε | ||
810 | +acro {T}t′e -cie ε | ||
811 | +acro {V}v′e V-ie ε | ||
812 | +acro {W}v′e W-ie ε | ||
813 | +acro {X}ks′e X-ie ε | ||
814 | +acro {Z}z′e Z-ie ε | ||
815 | +acro {J}jot′e J-ocie ε | ||
816 | +acro {Z}zet′e Z-ecie ε | ||
817 | +acro {Ż}žet′e Ż-ecie ε | ||
818 | + | ||
819 | +acro {B}b′e Bie ε | ||
820 | +acro {D}d′e Dzie ε | ||
821 | +acro {F}f′e Fie ε | ||
822 | +acro {M}m′e Mie ε | ||
823 | +acro {N}n′e Nie ε | ||
824 | +acro {P}p′e Pie ε | ||
825 | +acro {R}ře Rze ε | ||
826 | +acro {S}s′e Sie ε | ||
827 | +acro {T}t′e cie ε | ||
828 | +acro {V}v′e Vie ε | ||
829 | +acro {W}v′e Wie ε | ||
830 | +acro {X}ks′e Xie ε | ||
831 | +acro {Z}z′e Zie ε | ||
832 | +acro {J}jot′e Jocie ε | ||
833 | +acro {Z}zet′e Zecie ε | ||
834 | +acro {Ż}žet′e Żecie ε | ||
835 | + | ||
836 | +acro b′e b-ie ε | ||
837 | +acro d′e d-zie ε | ||
838 | +acro f′e f-ie ε | ||
839 | +acro m′e m-ie ε | ||
840 | +acro n′e n-ie ε | ||
841 | +acro p′e p-ie ε | ||
842 | +acro ře r-ze ε | ||
843 | +acro s′e s-ie ε | ||
844 | +acro t′e -cie ε | ||
845 | +core {v}v′e v-ie ε | ||
846 | +acro v′e w-ie ε | ||
847 | +core {x}ks′e x-ie ε | ||
848 | +acro z′e z-ie ε | ||
849 | +acro {j}jot′e j-ocie ε | ||
850 | +acro {z}zet′e z-ecie ε | ||
851 | +acro {ż}žet′e ż-ecie ε | ||
852 | + | ||
853 | +acro {T}t′e CIE ε | ||
854 | + a a cieε | ||
855 | + e e cieε | ||
856 | + i i cieε | ||
857 | + o o cieε | ||
858 | + u u cieε | ||
859 | +acro {A}a{T}t′e acie ε | ||
860 | +acro {E}e{T}t′e ecie ε | ||
861 | +acro {I}j{T}t′e icie ε | ||
862 | +acro {O}o{T}t′e ocie ε | ||
863 | +acro {U}u{T}t′e ucie ε | ||
864 | + | ||
865 | +acro {C}k′i C-i ε | ||
866 | +acro {C}k′em C-iem ε | ||
867 | +acro {E}eʲi E-i ε | ||
868 | +acro {G}g′i G-i ε | ||
869 | +acro {G}g′em G-iem ε | ||
870 | +acro {J}ji J-i ε | ||
871 | +acro {K}k′i K-i ε | ||
872 | +acro {K}k′em K-iem ε | ||
873 | +acro {L}li L-i ε | ||
874 | +acro - γ | ||
875 | + | ||
876 | + |
morphology/data/fonetics_acro.dic deleted
1 | -@symbols | ||
2 | -δ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y z ź ż - ε v x q | ||
3 | -γ aε achε amiε ąε eε ęε iε oε omε onε umε ówε uε owiε omε emε yε owieε emuε egoε goε mε muε ε | ||
4 | - | ||
5 | - | ||
6 | -@rev_symbols | ||
7 | - | ||
8 | - | ||
9 | -@rev_rules | ||
10 | -acro {A}a A | ||
11 | -acro {B}b B | ||
12 | -acro {C}c C | ||
13 | -acro {C}k C | ||
14 | -acro {Ć}t′ Ć | ||
15 | -acro {D}d D | ||
16 | -acro {E}e E | ||
17 | -acro {F}f F | ||
18 | -acro {G}g G | ||
19 | -acro {H}h H | ||
20 | -acro {I}j I | ||
21 | -acro {J}j J | ||
22 | -acro {K}k K | ||
23 | -acro {L}l L | ||
24 | -acro {Ł}ł Ł | ||
25 | -acro {M}m M | ||
26 | -acro {N}n N | ||
27 | -acro {O}o O | ||
28 | -acro {P}p P | ||
29 | -acro {R}r R | ||
30 | -acro {S}s S | ||
31 | -acro {Ś}s′ Ś | ||
32 | -acro {T}t T | ||
33 | -acro {U}u U | ||
34 | -acro {V}v V | ||
35 | -acro {W}v W | ||
36 | -acro {X}ks X | ||
37 | -acro {Y}y Y | ||
38 | -acro {Z}z Z | ||
39 | -acro {Ż}ž Ż | ||
40 | -acro {J}jot J | ||
41 | -acro {Z}zet Z | ||
42 | -acro {Ż}žet Ż | ||
43 | -acro {v}v V | ||
44 | -acro {x}ks X | ||
45 | -acro {j}jot J | ||
46 | -acro {z}zet z | ||
47 | -acro {ż}žet Ż | ||
48 | - | ||
49 | -acro a A ε | ||
50 | - | ||
51 | - | ||
52 | -@rules | ||
53 | -acro {A}a A δ | ||
54 | -acro {B}b B δ | ||
55 | -acro {C}c C δ | ||
56 | -acro {C}k C δ | ||
57 | -acro {Ć}t′ Ć δ | ||
58 | -acro {D}d D δ | ||
59 | -acro {E}e E δ | ||
60 | -acro {F}f F δ | ||
61 | -acro {G}g G δ | ||
62 | -acro {H}h H δ | ||
63 | -acro {I}j I δ | ||
64 | -acro {J}j J δ | ||
65 | -acro {K}k K δ | ||
66 | -acro {L}l L δ | ||
67 | -acro {Ł}ł Ł δ | ||
68 | -acro {M}m M δ | ||
69 | -acro {N}n N δ | ||
70 | -acro {O}o O δ | ||
71 | -acro {P}p P δ | ||
72 | -acro {R}r R δ | ||
73 | -acro {S}s S δ | ||
74 | -acro {Ś}s′ Ś δ | ||
75 | -acro {T}t T δ | ||
76 | -acro {U}u U δ | ||
77 | -acro {V}v V δ | ||
78 | -acro {W}v W δ | ||
79 | -acro {X}ks X δ | ||
80 | -acro {Y}y Y δ | ||
81 | -acro {Z}z Z δ | ||
82 | -acro {Ż}ž Ż δ | ||
83 | -acro {J}jot J-ot δ | ||
84 | -acro {Z}zet Z-et δ | ||
85 | -acro {Ż}žet Ż-et δ | ||
86 | -acro {z}zet z-et δ | ||
87 | - | ||
88 | -acro {B}b′e B-ie ε | ||
89 | -acro {D}d′e D-zie ε | ||
90 | -acro {F}f′e F-ie ε | ||
91 | -acro {M}m′e M-ie ε | ||
92 | -acro {N}n′e N-ie ε | ||
93 | -acro {P}p′e P-ie ε | ||
94 | -acro {R}ře R-ze ε | ||
95 | -acro {S}s′e S-ie ε | ||
96 | -acro {T}t′e -cie ε | ||
97 | -acro {V}v′e V-ie ε | ||
98 | -acro {W}v W-ie ε | ||
99 | -acro {X}ks′e X-ie ε | ||
100 | -acro {Z}z Z-ie ε | ||
101 | -acro {J}jot′e J-ocie ε | ||
102 | -acro {Z}zet′e Z-ecie ε | ||
103 | -acro {Ż}žet′e Ż-ecie ε | ||
104 | - | ||
105 | -acro {B}b′e Bie ε | ||
106 | -acro {D}d′e Dzie ε | ||
107 | -acro {F}f′e Fie ε | ||
108 | -acro {M}m′e Mie ε | ||
109 | -acro {N}n′e Nie ε | ||
110 | -acro {P}p′e Pie ε | ||
111 | -acro {R}ře Rze ε | ||
112 | -acro {S}s′e Sie ε | ||
113 | -acro {T}t′e cie ε | ||
114 | -acro {V}v′e Vie ε | ||
115 | -acro {W}v Wie ε | ||
116 | -acro {X}ks′e Xie ε | ||
117 | -acro {Z}z Zie ε | ||
118 | -acro {J}jot′e Jocie ε | ||
119 | -acro {Z}zet′e Zecie ε | ||
120 | -acro {Ż}žet′e Żecie ε | ||
121 | - | ||
122 | -acro b′e b-ie ε | ||
123 | -acro d′e d-zie ε | ||
124 | -acro f′e f-ie ε | ||
125 | -acro m′e m-ie ε | ||
126 | -acro n′e n-ie ε | ||
127 | -acro p′e p-ie ε | ||
128 | -acro ře r-ze ε | ||
129 | -acro s′e s-ie ε | ||
130 | -acro t′e -cie ε | ||
131 | -acro {v}v′e v-ie ε | ||
132 | -acro v w-ie ε | ||
133 | -acro {x}ks′e x-ie ε | ||
134 | -acro z z-ie ε | ||
135 | -acro {j}jot′e j-ocie ε | ||
136 | -acro {z}zet′e z-ecie ε | ||
137 | -acro {ż}žet′e ż-ecie ε | ||
138 | - | ||
139 | -acro {T}t′e CIE ε | ||
140 | -acro {A}a{T}t′e acie ε | ||
141 | -acro {E}e{T}t′e ecie ε | ||
142 | -acro {I}j{T}t′e icie ε | ||
143 | -acro {O}o{T}t′e ocie ε | ||
144 | -acro {U}u{T}t′e ucie ε | ||
145 | - | ||
146 | -acro {C}k′i C-i ε | ||
147 | -acro {C}k′em C-iem ε | ||
148 | -acro {G}g′i G-i ε | ||
149 | -acro {G}g′em G-iem ε | ||
150 | -acro {J}ji J-i ε | ||
151 | -acro {K}k′i K-i ε | ||
152 | -acro {K}k′em K-iem ε | ||
153 | -acro {L}li L-i ε | ||
154 | -acro - γ | ||
155 | - a a ε | ||
156 | - ax ach ε | ||
157 | - am′i ami ε | ||
158 | - ą ą ε | ||
159 | - e e ε | ||
160 | - ę ę ε | ||
161 | - em em ε | ||
162 | - o o ε | ||
163 | - om om ε | ||
164 | - ov′i owi ε | ||
165 | - ov′e owie ε | ||
166 | - u u ε | ||
167 | - óv ów ε | ||
168 | - y y ε | ||
169 | - | ||
170 | - |
morphology/data/fonetics_acro_old.dic deleted
1 | -@symbols | ||
2 | - | ||
3 | - | ||
4 | -@rev_symbols | ||
5 | - | ||
6 | - | ||
7 | -@rev_rules | ||
8 | -!a A | ||
9 | -!b B | ||
10 | -!c C | ||
11 | -!t′ Ć | ||
12 | -!d D | ||
13 | -!e E | ||
14 | -!f F | ||
15 | -!g G | ||
16 | -!h H | ||
17 | -!i I | ||
18 | -#!j J | ||
19 | -!k K | ||
20 | -!l L | ||
21 | -!ł Ł | ||
22 | -!m M | ||
23 | -!n N | ||
24 | -!o O | ||
25 | -!p P | ||
26 | -!r R | ||
27 | -!s S | ||
28 | -!s′ Ś | ||
29 | -!t T | ||
30 | -!u U | ||
31 | -!v W | ||
32 | -!y Y | ||
33 | -!z Z | ||
34 | -!ż Ż | ||
35 | -#x ch ε | ||
36 | -ax -ach ε | ||
37 | -ę -ę ε | ||
38 | -ʲi -i ε | ||
39 | -a A ε | ||
40 | -!jot′e J-ocie ε | ||
41 | -!jotax J-otach ε | ||
42 | -!jot J ε | ||
43 | -t′e -cie ε | ||
44 | - | ||
45 | - | ||
46 | -@rules | ||
47 | -!a A | ||
48 | -!b B | ||
49 | -!c C | ||
50 | -!t′ Ć | ||
51 | -!d D | ||
52 | -!e E | ||
53 | -!f F | ||
54 | -!g G | ||
55 | -!h H | ||
56 | -!i I | ||
57 | -#!jot J | ||
58 | -!k K | ||
59 | -!l L | ||
60 | -!ł Ł | ||
61 | -!m M | ||
62 | -!n N | ||
63 | -!o O | ||
64 | -!p P | ||
65 | -!r R | ||
66 | -!s S | ||
67 | -!s′ Ś | ||
68 | -!t T | ||
69 | -!u U | ||
70 | -!v W | ||
71 | -!y Y | ||
72 | -!z Z | ||
73 | -!ž Ż | ||
74 | -ax -ach ε | ||
75 | -ę -ę ε | ||
76 | -ʲi -i ε | ||
77 | -!jot′e J-ocie ε | ||
78 | -!jotax J-otach ε | ||
79 | -t′e -cie ε | ||
80 | - | ||
81 | - |
morphology/data/fonetics_de.dic deleted
1 | -@symbols | ||
2 | -ω a ą e ę o ó u | ||
3 | -δ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y z ź ż - ε | ||
4 | -γ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y ź ż - ε | ||
5 | -ξ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y - ε | ||
6 | -μ a ą b c ć d e ę f g k l ł m n ń o ó p r s ś t u w y ź ż - ε | ||
7 | -λ b c ć d f g h k l ł m n ń p r s ś t w z ź ż - ε | ||
8 | -κ b c ć d f g h i j k l ł m n ń p r s ś t w z ź ż - ε | ||
9 | -σ a ą b c ć d e ę f g j h k l ł m n ń o ó p r s ś t u w y z ź ż - ε | ||
10 | -ρ aε achε amiε ąε eε ęε iε oε omε onε umε ówε uε owiε omε emε yε owieε emuε egoε goε mε muε ε | ||
11 | - | ||
12 | -@rev_symbols | ||
13 | -ω a ą e ę o ó u | ||
14 | -δ a ą b c ć č d ʒ ǯ e ę f g h x i k l ł m n ń o ó p r ř s ś š t u v w y z ź ž - ε | ||
15 | -λ b c ć č d ʒ ǯ f g h x k l ł m n ń p r ř s ś š t v w z ź ž - ε | ||
16 | -κ b c ć č d ʒ ǯ f g h x i j ʲ k l ł m n ń p r ř s ś š t v w z ź ž - ε | ||
17 | -ρ aε axε am′iε ąε eε ęε iε oε omε onε umε óvε uε ov′iε omε emε ε | ||
18 | - | ||
19 | -@rev_rules | ||
20 | -de r rh | ||
21 | -de r r | ||
22 | -de ta tha | ||
23 | -de ks x | ||
24 | - | ||
25 | -de g′e ge ε | ||
26 | -de k′e ke ε | ||
27 | - | ||
28 | -de k′i ky ε | ||
29 | - | ||
30 | - | ||
31 | -@rules | ||
32 | -de š sch | ||
33 | -de r rh | ||
34 | -de c z | ||
35 | -de ał au | ||
36 | - | ||
37 | -de ře rze ε | ||
38 | -de ks′e ksie ε | ||
39 | -de t′e cie ε | ||
40 | -de v′e vie ε | ||
41 | - | ||
42 | -de óv ów ε | ||
43 | -de ov′i owi ε | ||
44 | -de ov′e owie ε | ||
45 | -de am′i ami ε | ||
46 | -de ax ach ε | ||
47 | - | ||
48 | -de g′e ge ch | ||
49 | -de g′e ge go | ||
50 | -de g′e ge m | ||
51 | -de g′e ge mi | ||
52 | -de g′e ge mu | ||
53 | -de k′e ke ch | ||
54 | -de k′e ke go | ||
55 | -de k′e ke m | ||
56 | -de k′e ke mi | ||
57 | -de k′e ke mu | ||
58 | -de k′i ky ch | ||
59 | -de k′i ky mi | ||
60 | -de k′i ky m | ||
61 | -de x ch ε | ||
62 | -de m′i mi ε | ||
63 | - | ||
64 | -de kj ky ’ | ||
65 | -de ’ ρ | ||
66 | - | ||
67 | -de góv gów ε | ||
68 | -de gov′i gowi ε | ||
69 | -de gov′e gowie ε | ||
70 | -de gam′i gami ε | ||
71 | -de gax gach ε | ||
72 | -de gom gom ε | ||
73 | -de kóv ków ε | ||
74 | -de kov′i kowi ε | ||
75 | -de kov′e kowie ε | ||
76 | -de kam′i kami ε | ||
77 | -de kax kach ε | ||
78 | -de kom kom ε | ||
79 | - | ||
80 | -de k′ix kich ε | ||
81 | -de k′e kie ε | ||
82 | -de k′im kim ε | ||
83 | -de k′im′i kimi ε | ||
84 | -de k′ego kiego ε | ||
85 | -de k′emu kiemu ε | ||
86 | - | ||
87 | - | ||
88 | - |
morphology/data/fonetics_en.dic deleted
1 | -@symbols | ||
2 | -ω a ą e ę o ó u | ||
3 | -δ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y z ź ż - ε | ||
4 | -γ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y ź ż - ε | ||
5 | -ξ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y - ε | ||
6 | -μ a ą b c ć d e ę f g k l ł m n ń o ó p r s ś t u w y ź ż - ε | ||
7 | -λ b c ć d f g h k l ł m n ń p r s ś t w z ź ż - ε | ||
8 | -κ b c ć d f g h i j k l ł m n ń p r s ś t w z ź ż - ε | ||
9 | -σ a ą b c ć d e ę f g j h k l ł m n ń o ó p r s ś t u w y z ź ż - ε | ||
10 | -ρ aε achε amiε ąε eε ęε iε oε omε onε umε ówε uε owiε omε emε yε owieε emuε egoε ε | ||
11 | - | ||
12 | -@rev_symbols | ||
13 | -ω a ą e ę o ó u | ||
14 | -δ a ą b c ć č d ʒ ǯ e ę f g h x i k l ł m n ń o ó p r ř s ś š t u v w y z ź ž - ε | ||
15 | -λ b c ć č d ʒ ǯ f g h x k l ł m n ń p r ř s ś š t v w z ź ž - ε | ||
16 | -κ b c ć č d ʒ ǯ f g h x i j ʲ k l ł m n ń p r ř s ś š t v w z ź ž - ε | ||
17 | -ρ aε axε am′iε ąε eε ęε iε oε omε onε umε óvε uε ov′iε omε emε ε | ||
18 | - | ||
19 | -@rev_rules | ||
20 | -en ks x | ||
21 | -en č tch | ||
22 | -en ł w | ||
23 | -en aj ay ρ | ||
24 | -en ej ey ρ | ||
25 | -en oj oy ρ | ||
26 | - | ||
27 | -en d de ε | ||
28 | -en d d ε | ||
29 | -en f ph ε | ||
30 | -en k ke ε | ||
31 | -en k k ε | ||
32 | -en k kes ε | ||
33 | -en k c | ||
34 | -en k ky ε | ||
35 | -en t te ε | ||
36 | -en t t ε | ||
37 | -en t th | ||
38 | -en t the ε | ||
39 | -en r re ε | ||
40 | -en r r ε | ||
41 | -en r rh ε | ||
42 | -en m me ε | ||
43 | -en m m ε | ||
44 | -en n ne ε | ||
45 | -en n n ε | ||
46 | -en s se ε | ||
47 | -en s s ε | ||
48 | -en s ce ε | ||
49 | -en s th ε | ||
50 | -en s the ε | ||
51 | - | ||
52 | -en a a ε | ||
53 | -en a ah ε | ||
54 | -en ka kha ε | ||
55 | -en vja via ε | ||
56 | - | ||
57 | -en ʲi ie ε | ||
58 | -en ʲi i ε | ||
59 | -en ʲi y ε | ||
60 | - | ||
61 | -@rules | ||
62 | -en ks x | ||
63 | -en č tch | ||
64 | -en ł w | ||
65 | -en d dh | ||
66 | -en g gh | ||
67 | -en k kh | ||
68 | -en l leigh | ||
69 | -en aj ay ρ | ||
70 | -en ej ey ρ | ||
71 | -en oj oy ρ | ||
72 | -en aʲi ai ε | ||
73 | -en oʲi oi ε | ||
74 | -en eʲi ei ε | ||
75 | -en uʲi ui ε | ||
76 | - | ||
77 | -en vj vi ρ | ||
78 | -en v′ij vij ε | ||
79 | - | ||
80 | -en ce ce ε | ||
81 | -en f′e fie ε | ||
82 | -en ře rze ε | ||
83 | -en t′e cie ε | ||
84 | -en kt′e kcie ε | ||
85 | -en s′t′e ście ε | ||
86 | -en m′e mie ε | ||
87 | -en n′e nie ε | ||
88 | -en d′e dzie ε | ||
89 | -en p′e pie ε | ||
90 | -en s′e sie ε | ||
91 | -en ks′e ksie ε | ||
92 | -en v′e vie ε | ||
93 | -en z′e zie ε | ||
94 | - | ||
95 | -en k′i ki ε | ||
96 | -en k′em kiem ε | ||
97 | -en k k iem | ||
98 | -en řy rzy ε | ||
99 | - | ||
100 | - | ||
101 | -en ʲi ie ch | ||
102 | -en ʲi ie mi | ||
103 | -en ʲi ie m | ||
104 | -en ʲi ee ch | ||
105 | -en ʲi ee mi | ||
106 | -en li ly ch | ||
107 | -en li ly mi | ||
108 | -en li ly m | ||
109 | -en ʲego iego ε | ||
110 | -en ʲemu iemu ε | ||
111 | -en ʲem iem ε | ||
112 | -en ʲim im ε | ||
113 | -en ʲix ich ε | ||
114 | -en ʲe ie ε | ||
115 | -en ʲim′i imi ε | ||
116 | -en ʲov′e iowie ε | ||
117 | -en ′e ie m | ||
118 | -en ′i i ε | ||
119 | -en i i ε | ||
120 | -en x ch ε | ||
121 | -en m′i mi ε | ||
122 | -en óv ów ε | ||
123 | -en ov′i owi ε | ||
124 | -en ov′e owie ε | ||
125 | -en am′i ami ε | ||
126 | -en ax ach ε | ||
127 | - | ||
128 | -en oł oe ’ | ||
129 | -en b by ’ | ||
130 | -en k′ ky ’ | ||
131 | -en r ry ’ | ||
132 | -en t thy ’ | ||
133 | -en d dy ’ | ||
134 | -en m my ’ | ||
135 | -en s cy ’ | ||
136 | -en l ly ’ | ||
137 | -en d dy ’ | ||
138 | -en s ce ’ | ||
139 | -en d de ’ | ||
140 | -en f fe ’ | ||
141 | -en ǯ ge ’ | ||
142 | -en k ke ’ | ||
143 | -en l le ’ | ||
144 | -en m me ’ | ||
145 | -en n ne ’ | ||
146 | -en r re ’ | ||
147 | -en s se ’ | ||
148 | -en t te ’ | ||
149 | -en t the ’ | ||
150 | -en v ve ’ | ||
151 | -en ł we ’ | ||
152 | -en ’ ρ | ||
153 | - | ||
154 | -en s ce ε | ||
155 | -en d de ε | ||
156 | -en f fe ε | ||
157 | -en ǯ ge ε | ||
158 | -en k ke ε | ||
159 | -en l le ε | ||
160 | -en le le ε | ||
161 | -en m me ε | ||
162 | -en me me ε | ||
163 | -en n ne ε | ||
164 | -en r re ε | ||
165 | -en re re ε | ||
166 | -en s se ε | ||
167 | -en t te ε | ||
168 | -en v ve ε | ||
169 | -en ł we ε | ||
170 | - | ||
171 | - | ||
172 | -#en os′t′ ość ε | ||
173 | -#en os′t′ą ością ε | ||
174 | -#en os′t′om ościom ε | ||
175 | -#en os′t′am′i ościami ε | ||
176 | -#en os′t′ax ościach ε | ||
177 | -#en os′t′i ości ε | ||
178 | -#en ovą ową ε | ||
179 | -#en ovym′i owymi ε | ||
180 | -#en ovym owym ε | ||
181 | -#en ovyx owych ε | ||
182 | -#en ovy owy ε | ||
183 | -#en ovo owo ε | ||
184 | -#en ov′i owi ε | ||
185 | -#en ovemu owemu ε | ||
186 | -#en ovej owej ε | ||
187 | -#en ovego owego ε | ||
188 | -#en ove owe ε | ||
189 | -#en ova owa ε | ||
190 | -#en oły owy ε | ||
191 | -#en oła owa ε | ||
192 | -#en k′ix kich ε | ||
193 | -#en k′e kie ε | ||
194 | -#en k′ej kiej ε | ||
195 | -#en k′im kim ε | ||
196 | -#en k′im′i kimi ε | ||
197 | -#en ka ka ε | ||
198 | -#en ką ką ε | ||
199 | -#en ko ko ε | ||
200 | -#en ku ku ε | ||
201 | -#en če cze ε | ||
202 | -#en n′ja nia ε | ||
203 | -#en n′ją nią ε | ||
204 | -#en n′je nie ε | ||
205 | -#en n′ję nię ε | ||
206 | -#en n′ji nii ε | ||
207 | -#en n′ij nij ε | ||
208 | -#en n′jom niom ε | ||
209 | -#en n′jo nio ε | ||
210 | -#en n′jax niach ε | ||
211 | -#en n′jam′i niami ε | ||
212 | - |
morphology/data/fonetics_fr.dic deleted
1 | -@symbols | ||
2 | -ω a ą e ę o ó u | ||
3 | -δ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y z ź ż - ε | ||
4 | -γ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y ź ż - ε | ||
5 | -ξ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y - ε | ||
6 | -μ a ą b c ć d e ę f g k l ł m n ń o ó p r s ś t u w y ź ż - ε | ||
7 | -λ b c ć d f g h k l ł m n ń p r s ś t w z ź ż - ε | ||
8 | -κ b c ć d f g h i j k l ł m n ń p r s ś t w z ź ż - ε | ||
9 | -σ a ą b c ć d e ę f g j h k l ł m n ń o ó p r s ś t u w y z ź ż - ε | ||
10 | -ρ aε achε amiε ąε eε ęε iε oε omε onε umε ówε uε owiε omε emε yε owieε emuε egoε goε mε muε ε | ||
11 | - | ||
12 | -@rev_symbols | ||
13 | -ω a ą e ę o ó u | ||
14 | -δ a ą b c ć č d ʒ ǯ e ę f g h x i k l ł m n ń o ó p r ř s ś š t u v w y z ź ž - ε | ||
15 | -λ b c ć č d ʒ ǯ f g h x k l ł m n ń p r ř s ś š t v w z ź ž - ε | ||
16 | -κ b c ć č d ʒ ǯ f g h x i j ʲ k l ł m n ń p r ř s ś š t v w z ź ž - ε | ||
17 | -ρ aε axε am′iε ąε eε ęε iε oε omε onε umε óvε uε ov′iε omε emε ε | ||
18 | - | ||
19 | -@rev_rules | ||
20 | -fr ks x | ||
21 | -fr b bes ε | ||
22 | -fr d d ε | ||
23 | -fr d de ε | ||
24 | -fr f phe ε | ||
25 | -fr g gue ε | ||
26 | -fr g gues ε | ||
27 | -fr k c ε | ||
28 | -fr k que ε | ||
29 | -fr k q ε | ||
30 | -fr k cq ε | ||
31 | -fr k ques ε | ||
32 | -fr k cques ε | ||
33 | -fr m me ε | ||
34 | -fr n n ε | ||
35 | -fr n ne ε | ||
36 | -fr n nes ε | ||
37 | -fr n′ ng ε | ||
38 | -fr r r ε | ||
39 | -fr r re ε | ||
40 | -fr r res ε | ||
41 | -fr r rs ε | ||
42 | -fr s s ε | ||
43 | -fr s se ε | ||
44 | -fr s ce ε | ||
45 | -fr t t ε | ||
46 | -fr t tes ε | ||
47 | -fr t thes ε | ||
48 | -fr z se ε | ||
49 | - | ||
50 | -@rules | ||
51 | -fr k q | ||
52 | -fr n ng | ||
53 | - | ||
54 | -fr b′e bie ε | ||
55 | -fr d′e dzie ε | ||
56 | -fr f′e fie ε | ||
57 | -fr m′e mie ε | ||
58 | -fr n′e nie ε | ||
59 | -fr s′n′e śnie ε | ||
60 | -fr ře rze ε | ||
61 | -fr s′e sie ε | ||
62 | -fr ks′e ksie ε | ||
63 | -fr t′e cie ε | ||
64 | -fr s′t′e ście ε | ||
65 | -fr v′e vie ε | ||
66 | -fr z′e zie ε | ||
67 | - | ||
68 | -fr řy rzy ε | ||
69 | -fr t′i ci ε | ||
70 | -fr v′i vi ε | ||
71 | - | ||
72 | -fr g′em giem ε | ||
73 | -fr g′i gi ε | ||
74 | -fr k′em kiem ε | ||
75 | -fr k′i ki ε | ||
76 | - | ||
77 | -fr ʲi ieu ch | ||
78 | -fr ʲe ieu go | ||
79 | -fr ʲi ieu m | ||
80 | -fr ʲi ieu mi | ||
81 | -fr ʲe ieu mu | ||
82 | -fr llj lli ego | ||
83 | -fr llj lli emu | ||
84 | -fr llj lli e | ||
85 | -fr e ée go | ||
86 | -fr e ée m | ||
87 | -fr e ée mu | ||
88 | -fr x ch ε | ||
89 | -fr m′i mi ε | ||
90 | - | ||
91 | -fr óv ów ε | ||
92 | -fr ov′i owi ε | ||
93 | -fr ov′e owie ε | ||
94 | -fr am′i ami ε | ||
95 | -fr ax ach ε | ||
96 | - | ||
97 | -fr e ès ’ | ||
98 | -fr e ais ’ | ||
99 | -fr k que ’ | ||
100 | -fr f phe ’ | ||
101 | -fr sj sy ’ | ||
102 | -fr fj phy ’ | ||
103 | -fr rj ry ’ | ||
104 | -fr š che ’ | ||
105 | -fr d de ’ | ||
106 | -fr r re ’ | ||
107 | -fr z se ’ | ||
108 | -fr ž ge ’ | ||
109 | -fr # ine ’ | ||
110 | -fr t te ’ | ||
111 | -fr l le ’ | ||
112 | -fr m me ’ | ||
113 | -fr n′ gne ’ | ||
114 | -fr n ne ’ | ||
115 | -fr v ve ’ | ||
116 | -fr g gue ’ | ||
117 | -fr s ce ’ | ||
118 | -fr gj guy ’ | ||
119 | -fr ’ ρ | ||
120 | - | ||
121 | - |
morphology/data/fonetics_pl.dic deleted
1 | -@symbols | ||
2 | -ω a ą e ę o ó u | ||
3 | -δ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y z ź ż - ε v x q | ||
4 | -#γ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y ź ż - ε | ||
5 | -#ξ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y - ε | ||
6 | -#μ a ą b c ć d e ę f g k l ł m n ń o ó p r s ś t u w y ź ż - ε | ||
7 | -λ b c ć d f g h k l ł m n ń p r s ś t w z ź ż - ε v x q | ||
8 | -κ b c ć d f g h i j k l ł m n ń p r s ś t w z ź ż - ε v x q | ||
9 | -#σ a ą b c ć d e ę f g j h k l ł m n ń o ó p r s ś t u w y z ź ż - ε | ||
10 | -ρ aε achε amiε ąε eε ęε iε oε omε onε umε | ||
11 | -α ε goε muε mε | ||
12 | -ά ε goε muε | ||
13 | -β ε chε miε mε | ||
14 | -γ aε achε amiε ąε eε ęε iε oε omε onε umε ówε uε owiε omε emε yε owieε emuε egoε goε mε muε ε | ||
15 | - | ||
16 | -@rev_symbols | ||
17 | -ω a ą e ę o ó u {eu} | ||
18 | -δ a ą b c ć č d ʒ ǯ e ę f g h x i k l ł m n ń o ó p r ř s ś š t u v w y z ź ž - ε { | ||
19 | -λ b c ć č d ʒ ǯ f g h x k l ł m n ń p r ř s ś š t v w z ź ž - ε { q | ||
20 | -κ b c ć č d ʒ ǯ f g h x i j ʲ k l ł m n ń p r ř s ś š t v w z ź ž - ε { | ||
21 | -ρ aε axε am′iε ąε eε ęε iε oε omε onε umε | ||
22 | - | ||
23 | -@rev_rules | ||
24 | -pl p′ pi ω | ||
25 | -pl p′ p i | ||
26 | -pl pj pi ρ | ||
27 | -pl b′ bi ω | ||
28 | -pl b′ b i | ||
29 | -pl bj bi ρ | ||
30 | -pl m′ mi ω | ||
31 | -pl m′ m i | ||
32 | -pl m′j mi ρ | ||
33 | -pl f′ fi ω | ||
34 | -pl f′ f i | ||
35 | -pl fj fi ρ | ||
36 | -pl v′ wi ω | ||
37 | -pl v′ w i | ||
38 | -pl v w δ | ||
39 | -pl vj wi ρ | ||
40 | -#pl v w j | ||
41 | -pl t′ ć λ | ||
42 | -pl t′ ci ω | ||
43 | -pl t′ c i | ||
44 | -pl d′ dź λ | ||
45 | -pl d′ dzi ω | ||
46 | -pl d′ dz i | ||
47 | -pl ʒ dz | ||
48 | -pl tʲ ti ω | ||
49 | -pl tʲ t i | ||
50 | -pl tj ti ρ | ||
51 | -pl dʲ di ω | ||
52 | -pl dʲ d i | ||
53 | -pl dj di ρ | ||
54 | -pl č cz δ | ||
55 | -pl čʲ czi ω | ||
56 | -pl čʲ cz i | ||
57 | -pl č cz j | ||
58 | -pl ǯ dż δ | ||
59 | -pl ǯʲ dżi ω | ||
60 | -pl ǯʲ dż i | ||
61 | -pl ǯj dżi ρ | ||
62 | -pl s′ ś λ | ||
63 | -pl s′ si ω | ||
64 | -pl s′ s i | ||
65 | -pl z′ ź λ | ||
66 | -pl z′ zi ω | ||
67 | -pl z′ z i | ||
68 | -pl š sz δ | ||
69 | -pl š sz j | ||
70 | -pl šʲ szi ω | ||
71 | -pl šʲ sz i | ||
72 | -pl ž ż δ | ||
73 | -pl žʲ żi ω | ||
74 | -pl žʲ ż i | ||
75 | -pl žj żi ρ | ||
76 | -pl lʲ li ω | ||
77 | -pl lj li ρ | ||
78 | -pl ř rz δ | ||
79 | -pl ř rz j | ||
80 | -pl rʲ ri ω | ||
81 | -pl rʲ r i | ||
82 | -pl rj ri ρ | ||
83 | -pl n′ ń λ | ||
84 | -pl n′ ni ω | ||
85 | -pl n′ n i | ||
86 | -pl n′j ni ρ | ||
87 | -pl k′ ki ω | ||
88 | -pl k′ k i | ||
89 | -pl k′j ki ρ | ||
90 | -pl g′ gi ω | ||
91 | -pl g′ g i | ||
92 | -pl g′j gi ρ | ||
93 | -pl x ch δ | ||
94 | -pl xʲ chi ω | ||
95 | -pl xʲ ch i | ||
96 | -pl xʲj chi ρ | ||
97 | -pl hʲ hi ω | ||
98 | -pl hʲ h i | ||
99 | -pl aʲ a i | ||
100 | -pl eʲ e i | ||
101 | -pl oʲ o i | ||
102 | -pl óʲ ó i | ||
103 | -pl uʲ u i | ||
104 | -pl iʲ i i | ||
105 | -pl yʲ y i | ||
106 | - | ||
107 | -fr {ch}š ch | ||
108 | -fr {q}k q | ||
109 | -fr {ng}n ng | ||
110 | -en {tch}č tch | ||
111 | -en {w}ł w | ||
112 | -en {leigh}l leigh | ||
113 | -de {au}ał au | ||
114 | -de {sch}š sch | ||
115 | -de {tsch}č tsch | ||
116 | -de {z}c z | ||
117 | - | ||
118 | -en {ay}aj ay ε | ||
119 | -en {ey}ej ey ε | ||
120 | -en {oy}oj oy ε | ||
121 | -en {ay}aj ay ω | ||
122 | -en {ey}ej ey ω | ||
123 | -en {oy}oj oy ω | ||
124 | - | ||
125 | -en {dh}dʲ dhi ω | ||
126 | -en {dh}dʲ dh iκ | ||
127 | -en {dh}d dh δ | ||
128 | -en {gh}g′ ghi ω | ||
129 | -en {gh}g′ gh iκ | ||
130 | -en {gh}g gh δ | ||
131 | -en {kh}k′ khi ω | ||
132 | -en {kh}k′ kh iκ | ||
133 | -en {kh}k kh δ | ||
134 | -en {th}tʲ thi ω | ||
135 | -en {th}tʲ th iκ | ||
136 | -en {th}t th δ | ||
137 | -en {v}v′ vi ω | ||
138 | -en {v}v′ v iκ | ||
139 | -en {v}v v δ | ||
140 | -en {v}vj vi ρ | ||
141 | -de-en-fr {x}ks′ xi ω | ||
142 | -de-en-fr {x}ks′ x iκ | ||
143 | -de-en-fr {x}ks x δ | ||
144 | - | ||
145 | -#lemma=e/y gender=m1 | ||
146 | -fr {dieu}dʲe dieu ε | ||
147 | -fr {dieu}dʲi dieu ε | ||
148 | -fr {quieu}k′e quieu ε | ||
149 | -fr {quieu}k′i quieu ε | ||
150 | -fr {lieu}lʲe lieu ε | ||
151 | -fr {lieu}lʲi lieu ε | ||
152 | -en {rie}rʲe rie ε | ||
153 | -en {rie}rʲi rie ε | ||
154 | -en {gie}ǯʲe gie ε | ||
155 | -en {gie}ǯʲi gie ε | ||
156 | -en {kie}k′e kie ε | ||
157 | -en {kie}k′i kie ε | ||
158 | -en {tie}tʲe tie ε | ||
159 | -en {tie}tʲi tie ε | ||
160 | -en {pie}p′e pie ε | ||
161 | -en {pie}p′i pie ε | ||
162 | -en {die}dʲe die ε | ||
163 | -en {die}dʲi die ε | ||
164 | -en {bee}b′e bee ε | ||
165 | -en {bee}b′i bee ε | ||
166 | - | ||
167 | -#lemma=e gender=m1 | ||
168 | -fr {mée}me mée ε | ||
169 | -de {ge}g′e ge ε | ||
170 | -de {ke}k′e ke ε | ||
171 | - | ||
172 | -#lemma=y gender=m1 | ||
173 | -en {by}b′i by ε | ||
174 | -en {dy}dʲi dy ε | ||
175 | -es {dí}dʲi dí ε | ||
176 | -fr {phy}f′i phy ε | ||
177 | -fr {guy}g′i guy ε | ||
178 | -de-en {ky}k′i ky ε | ||
179 | -en {my}m′i my ε | ||
180 | -fr {li}li li ε | ||
181 | -en {ly}li ly ε | ||
182 | -en-fr {ry}rʲi ry ε | ||
183 | -fr {sy}sʲi sy ε | ||
184 | -en {cy}sʲi cy ε | ||
185 | -en {thy}tʲi thy ε | ||
186 | - | ||
187 | -#lemma=e/ndm gender=m1 | ||
188 | -fr {chais}še chais ε | ||
189 | -fr {lais}le lais ε | ||
190 | -fr {nais}ne nais ε | ||
191 | -fr {rès}re rès ε | ||
192 | - | ||
193 | -#lemma=ε | ||
194 | -en-fr {de}d de ε | ||
195 | -en {fe}f fe ε | ||
196 | -fr {phe}f phe ε | ||
197 | -en {ge}ǯ ge ε | ||
198 | -fr {gue}g gue ε | ||
199 | -en {ke}k ke ε | ||
200 | -fr {que}k que ε | ||
201 | -en-fr {le}l le ε | ||
202 | -en-fr {me}m me ε | ||
203 | -en-fr {ne}n ne ε | ||
204 | -fr {gne}n′ gne ε | ||
205 | -en-fr {re}r re ε | ||
206 | -en {se}s se ε | ||
207 | -en-fr {ce}s ce ε | ||
208 | -fr {che}š che ε | ||
209 | -en-fr {te}t te ε | ||
210 | -en {the}t the ε | ||
211 | -en-fr {ve}v ve ε | ||
212 | -en {we}ł we ε | ||
213 | -fr {se}z se ε | ||
214 | -fr {ge}ž ge ε | ||
215 | -en {oe}oł oe ε | ||
216 | - | ||
217 | - | ||
218 | -de g′el gel ε | ||
219 | - | ||
220 | -de g′e ge ε | ||
221 | -de k′e ke ε | ||
222 | -de k′i ky ε | ||
223 | -de-en-fr ks x ε | ||
224 | - | ||
225 | - r r a | ||
226 | -de r rh a | ||
227 | - t t a | ||
228 | -de t th a | ||
229 | - k k | ||
230 | -en k kh a | ||
231 | -de-en-fr ks x a | ||
232 | -en k c a | ||
233 | - | ||
234 | -en k c o | ||
235 | - | ||
236 | - b b ε | ||
237 | -fr b bes ε | ||
238 | - d d ε | ||
239 | -en-fr d de ε | ||
240 | - f f ε | ||
241 | -fr f phe ε | ||
242 | -en f ph ε | ||
243 | - g g ε | ||
244 | -fr g gue ε | ||
245 | -fr g gues ε | ||
246 | - k k ε | ||
247 | -fr k c ε | ||
248 | -fr k que ε | ||
249 | -fr k q ε | ||
250 | -fr k cq ε | ||
251 | -fr k ques ε | ||
252 | -fr k cques ε | ||
253 | -en kt ct ε | ||
254 | - m m ε | ||
255 | -en-fr m me ε | ||
256 | - n n ε | ||
257 | -en-fr n ne ε | ||
258 | -fr n nes ε | ||
259 | -fr n ng ε | ||
260 | - r r ε | ||
261 | -en-fr r re ε | ||
262 | -fr r res ε | ||
263 | -fr r rs ε | ||
264 | -en r rh ε | ||
265 | - s s ε | ||
266 | -en-fr s se ε | ||
267 | -en-fr s ce ε | ||
268 | -en s th ε | ||
269 | - t t ε | ||
270 | -fr t te ε | ||
271 | -fr t tes ε | ||
272 | -fr t thes ε | ||
273 | -en t th ε | ||
274 | -en t the ε | ||
275 | - | ||
276 | - e e j | ||
277 | -en ej ey ε | ||
278 | - | ||
279 | - a a ε | ||
280 | -en a ah ε | ||
281 | -en aja ayah ε | ||
282 | - | ||
283 | -acro {A}a A | ||
284 | -acro {B}b B | ||
285 | -acro {C}c C | ||
286 | -acro {C}k C | ||
287 | -acro {Ć}t′ Ć | ||
288 | -acro {D}d D | ||
289 | -acro {E}e E | ||
290 | -acro {F}f F | ||
291 | -acro {G}g G | ||
292 | -acro {H}h H | ||
293 | -acro {I}j I | ||
294 | -acro {J}j J | ||
295 | -acro {K}k K | ||
296 | -acro {L}l L | ||
297 | -acro {Ł}ł Ł | ||
298 | -acro {M}m M | ||
299 | -acro {N}n N | ||
300 | -acro {O}o O | ||
301 | -acro {P}p P | ||
302 | -acro {R}r R | ||
303 | -acro {S}s S | ||
304 | -acro {Ś}s′ Ś | ||
305 | -acro {T}t T | ||
306 | -acro {U}u U | ||
307 | -acro {V}v V | ||
308 | -acro {W}v W | ||
309 | -acro {X}ks X | ||
310 | -acro {Y}y Y | ||
311 | -acro {Z}z Z | ||
312 | -acro {Ż}ž Ż | ||
313 | -acro {J}jot J | ||
314 | -acro {Z}zet Z | ||
315 | -acro {Ż}žet Ż | ||
316 | -acro {v}v V | ||
317 | -acro {x}ks X | ||
318 | -acro {j}jot J | ||
319 | -acro {z}zet z | ||
320 | -acro {ż}žet Ż | ||
321 | - | ||
322 | -acro a A ε | ||
323 | - | ||
324 | -@rules | ||
325 | -pl p′ pi ω | ||
326 | -pl p′ p iκ | ||
327 | -#pl p p δ | ||
328 | -#pl p p j | ||
329 | -pl pj pi ρ | ||
330 | -pl b′ bi ω | ||
331 | -pl b′ b iκ | ||
332 | -#pl b b δ | ||
333 | -pl bj bi ρ | ||
334 | -#zbitka | ||
335 | -#pl b b j | ||
336 | -pl m′ mi ω | ||
337 | -pl m′ m iκ | ||
338 | -#pl m m δ | ||
339 | -pl m′j mi ρ | ||
340 | -pl f′ fi ω | ||
341 | -pl f′ f iκ | ||
342 | -#pl f f δ | ||
343 | -pl fj fi ρ | ||
344 | -pl v′ wi ω | ||
345 | -pl v′ w iκ | ||
346 | -pl v w δ | ||
347 | -pl vj wi ρ | ||
348 | -#zbitka | ||
349 | -#pl v w j | ||
350 | -pl t′ ć λ | ||
351 | -#zbitki | ||
352 | -#pl t′ ć u | ||
353 | -#pl t′ ć a | ||
354 | -#pl t′ ć i | ||
355 | -pl t′ ci ω | ||
356 | -#pl c c j | ||
357 | -pl t′ c iκ | ||
358 | -#pl c c μ | ||
359 | -pl d′ dź λ | ||
360 | -pl d′ dzi ω | ||
361 | -pl d′ dz iκ | ||
362 | -pl ʒ dz δ | ||
363 | -#zbitka | ||
364 | -#pl ʒ dz j | ||
365 | -#pl t t δ | ||
366 | -#pl t t j | ||
367 | -pl tʲ ti ω | ||
368 | -pl tʲ t iκ | ||
369 | -pl tj ti ρ | ||
370 | -#pl d d ξ | ||
371 | -pl dʲ di ω | ||
372 | -pl dʲ d iκ | ||
373 | -#pl d d j | ||
374 | -pl dj di ρ | ||
375 | -pl č cz δ | ||
376 | -pl čʲ czi ω | ||
377 | -pl čʲ cz iκ | ||
378 | -#pl čʲ cz j | ||
379 | -pl ǯ dż δ | ||
380 | -pl ǯʲ dżi ω | ||
381 | -pl ǯʲ dż iκ | ||
382 | -pl ǯj dżi ρ | ||
383 | -pl s′ ś λ | ||
384 | -pl s′ si ω | ||
385 | -#pl s s j | ||
386 | -pl s′ s iκ | ||
387 | -#pl s s γ | ||
388 | -pl z′ ź λ | ||
389 | -pl z′ zi ω | ||
390 | -#pl z z j | ||
391 | -pl z′ z iκ | ||
392 | -#pl z z δ | ||
393 | -pl š sz δ | ||
394 | -#pl šʲ sz j | ||
395 | -pl šʲ szi ω | ||
396 | -pl šʲ sz iκ | ||
397 | -pl ž ż δ | ||
398 | -pl žʲ żi ω | ||
399 | -pl žʲ ż iκ | ||
400 | -pl žj żi ρ | ||
401 | -#pl l l δ | ||
402 | -pl lʲ li ω | ||
403 | -pl l l iκ | ||
404 | -#pl l l j | ||
405 | -#pl ł ł δ | ||
406 | -#zbitka | ||
407 | -#pl ł ł i | ||
408 | -#zbitka | ||
409 | -#pl ł ł j | ||
410 | -pl lj li ρ | ||
411 | -pl ř rz δ | ||
412 | -#zbitka | ||
413 | -#pl ř rz j | ||
414 | -pl r r zi | ||
415 | -#pl r r γ | ||
416 | -#pl r r j | ||
417 | -pl rʲ ri ω | ||
418 | -pl rʲ r iκ | ||
419 | -pl rj ri ρ | ||
420 | -pl n′ ń λ | ||
421 | -pl n′ ni ω | ||
422 | -pl n′ n iκ | ||
423 | -#pl n n δ | ||
424 | -#pl n n j | ||
425 | -pl n′j ni ρ | ||
426 | -pl k′ ki ω | ||
427 | -pl k′ k iκ | ||
428 | -#pl k k δ | ||
429 | -#pl k k j | ||
430 | -pl k′j ki ρ | ||
431 | -pl g′ gi ω | ||
432 | -pl g′ g iκ | ||
433 | -#pl g g δ | ||
434 | -pl g′j gi ρ | ||
435 | -pl x ch δ | ||
436 | -pl xʲ chi ω | ||
437 | -pl xʲ ch iκ | ||
438 | -pl xʲj chi ρ | ||
439 | -#pl h h δ | ||
440 | -pl hʲ hi ω | ||
441 | -pl hʲ h iκ | ||
442 | -pl mar mar z | ||
443 | -pl m′er mier z | ||
444 | -pl n′e nie i | ||
445 | -#pl a a σ | ||
446 | -pl aʲ a i | ||
447 | -#pl a a i | ||
448 | -#pl e e σ | ||
449 | -pl eʲ e i | ||
450 | -#pl e e i | ||
451 | -#pl o o σ | ||
452 | -pl oʲ o i | ||
453 | -#pl o o i | ||
454 | -#pl ó ó σ | ||
455 | -pl óʲ ó i | ||
456 | -#pl ó ó i | ||
457 | -#pl u u σ | ||
458 | -pl uʲ u i | ||
459 | -#pl u u i | ||
460 | -#pl i i σ | ||
461 | -pl iʲ i i | ||
462 | -#pl i i i | ||
463 | -#pl y y σ | ||
464 | -pl yʲ y i | ||
465 | -#pl y y i | ||
466 | -#pl ą ą σ | ||
467 | -#pl ę ę σ | ||
468 | -#pl j j | ||
469 | -#pl A A | ||
470 | -#pl B B | ||
471 | -#pl C C | ||
472 | -#pl Ć Ć | ||
473 | -#pl D D | ||
474 | -#pl E E | ||
475 | -#pl F F | ||
476 | -#pl G G | ||
477 | -#pl H H | ||
478 | -#pl I I | ||
479 | -#pl J J | ||
480 | -#pl K K | ||
481 | -#pl L L | ||
482 | -#pl Ł Ł | ||
483 | -#pl M M | ||
484 | -#pl N N | ||
485 | -#pl O O | ||
486 | -#pl P P | ||
487 | -#pl R R | ||
488 | -#pl S S | ||
489 | -#pl Ś Ś | ||
490 | -#pl T T | ||
491 | -#pl U U | ||
492 | -#pl W W | ||
493 | -#pl Y Y | ||
494 | -#pl Z Z | ||
495 | -#pl Ż Ż | ||
496 | -#pl - - | ||
497 | -#pl χ́ chi | ||
498 | -#pl h́ hi | ||
499 | - | ||
500 | -fr {ch}š ch γ | ||
501 | -fr {q}k q γ | ||
502 | -fr {ng}n ng γ | ||
503 | -en {tch}č tch γ | ||
504 | -en {w}ł w | ||
505 | -en {leigh}l leigh γ | ||
506 | -de {au}ał au γ | ||
507 | -de {sch}š sch γ | ||
508 | -de {tsch}č tsch γ | ||
509 | -de {z}c z γ | ||
510 | - | ||
511 | -en {ay}aj ay γ | ||
512 | -en {ey}ej ey γ | ||
513 | -en {oy}oj oy γ | ||
514 | - | ||
515 | -en {dh}dʲ dhi ω | ||
516 | -en {dh}dʲ dh iκ | ||
517 | -en {dh}d dh δ | ||
518 | -en {gh}g′ ghi ω | ||
519 | -en {gh}g′ gh iκ | ||
520 | -en {gh}g gh δ | ||
521 | -en {kh}k′ khi ω | ||
522 | -en {kh}k′ kh iκ | ||
523 | -en {kh}k kh δ | ||
524 | -en {th}tʲ thi ω | ||
525 | -en {th}tʲ th iκ | ||
526 | -en {th}t th δ | ||
527 | -en {v}v′ vi ω | ||
528 | -en {v}v′ v iκ | ||
529 | -en {v}v v δ | ||
530 | -en {v}vj vi ρ | ||
531 | -de-en-fr {x}ks′ xi ω | ||
532 | -de-en-fr {x}ks′ x iκ | ||
533 | -de-en-fr {x}ks x δ | ||
534 | - | ||
535 | -#lemma=e/y gender=m1 | ||
536 | -fr {dieu}dʲe dieu α | ||
537 | -fr {dieu}dʲi dieu β | ||
538 | -fr {quieu}k′e quieu α | ||
539 | -fr {quieu}k′i quieu β | ||
540 | -fr {lieu}lʲe lieu α | ||
541 | -fr {lieu}lʲi lieu β | ||
542 | -en {rie}rʲe rie α | ||
543 | -en {rie}rʲi rie β | ||
544 | -en {gie}ǯʲe gie α | ||
545 | -en {gie}ǯʲi gie β | ||
546 | -en {kie}k′e kie α | ||
547 | -en {kie}k′i kie β | ||
548 | -en {tie}tʲe tie α | ||
549 | -en {tie}tʲi tie β | ||
550 | -en {pie}p′e pie α | ||
551 | -en {pie}p′i pie β | ||
552 | -en {die}dʲe die α | ||
553 | -en {die}dʲi die β | ||
554 | -en {bee}b′e bee α | ||
555 | -en {bee}b′i bee β | ||
556 | - | ||
557 | -#lemma=e gender=m1 | ||
558 | -fr {mée}me mée α | ||
559 | -de {ge}g′e ge α | ||
560 | -de {ke}k′e ke α | ||
561 | - | ||
562 | -#lemma=y gender=m1 | ||
563 | -en {by}b′ by ’eά | ||
564 | -en {by}b′i by β | ||
565 | -en {dy}dʲ dy ’eά | ||
566 | -en {dy}dʲi dy β | ||
567 | -es {dí}dʲ dí eά | ||
568 | -es {dí}dʲi dí β | ||
569 | -fr {phy}f′ phy ’eά | ||
570 | -fr {phy}f′i phy β | ||
571 | -fr {guy}g′ guy ’eά | ||
572 | -fr {guy}g′i guy β | ||
573 | -de-en {ky}k′ ky ’eά | ||
574 | -de-en {ky}k′i ky β | ||
575 | -en {my}m′ my ’eά | ||
576 | -en {my}m′i my β | ||
577 | -fr {li}l li eά | ||
578 | -fr {li}l l iβ | ||
579 | -en {ly}l ly ’eά | ||
580 | -en {ly}li ly β | ||
581 | -en-fr {ry}rʲ ry ’eά | ||
582 | -en-fr {ry}rʲi ry β | ||
583 | -fr {sy}sʲ sy ’eά | ||
584 | -fr {sy}sʲi sy β | ||
585 | -en {cy}sʲ cy ’eά | ||
586 | -en {cy}sʲi cy β | ||
587 | -en {thy}tʲ thy ’eά | ||
588 | -en {thy}tʲi thy β | ||
589 | - | ||
590 | -#lemma=e/ndm gender=m1 | ||
591 | -fr {chais}še chais ’ | ||
592 | -fr {lais}le lais ’ | ||
593 | -fr {nais}ne nais ’ | ||
594 | -fr {rès}re rès ’ | ||
595 | - | ||
596 | -#lemma=ε | ||
597 | -en-fr {de}d de ’ | ||
598 | -en-fr {de}d de ε | ||
599 | -en {fe}f fe ’ | ||
600 | -en {fe}f fe ε | ||
601 | -fr {phe}f phe ’ | ||
602 | -fr {phe}f phe ε | ||
603 | -en {ge}ǯ ge ’ | ||
604 | -en {ge}ǯ ge ε | ||
605 | -fr {gue}g gue ’ | ||
606 | -fr {gue}g gue ε | ||
607 | -en {ke}k ke ’ | ||
608 | -en {ke}k ke ε | ||
609 | -fr {que}k que ’ | ||
610 | -fr {que}k que ε | ||
611 | -en-fr {le}l le ’ | ||
612 | -en-fr {le}l le ε | ||
613 | -en-fr {me}m me ’ | ||
614 | -en-fr {me}m me ε | ||
615 | -en-fr {ne}n ne ’ | ||
616 | -en-fr {ne}n ne ε | ||
617 | -fr {gne}n′ gne ’ | ||
618 | -fr {gne}n′ gne ε | ||
619 | -en-fr {re}r re ’ | ||
620 | -en-fr {re}r re ε | ||
621 | -en {se}s se ’ | ||
622 | -en {se}s se ε | ||
623 | -en-fr {ce}s ce ’ | ||
624 | -en-fr {ce}s ce ε | ||
625 | -fr {che}š che ’ | ||
626 | -fr {che}š che ε | ||
627 | -en-fr {te}t te ’ | ||
628 | -en-fr {te}t te ε | ||
629 | -en {the}t the ’ | ||
630 | -en {the}t the ε | ||
631 | -en-fr {ve}v ve ’ | ||
632 | -en-fr {ve}v ve ε | ||
633 | -en {we}ł we ’ | ||
634 | -en {we}ł we ε | ||
635 | -fr {se}z se ’ | ||
636 | -fr {se}z se ε | ||
637 | -fr {ge}ž ge ’ | ||
638 | -fr {ge}ž ge ε | ||
639 | -#z wyjątkiem sg:loc.voc | ||
640 | -en {oe}oł oe ’ | ||
641 | -en {oe}oł oe ε | ||
642 | - | ||
643 | -de-en-fr ’ γ | ||
644 | - | ||
645 | - n n g | ||
646 | - z z γ | ||
647 | - b b e | ||
648 | - b b y | ||
649 | - d d y | ||
650 | - m m y | ||
651 | - s s y | ||
652 | - c c y | ||
653 | - r r y | ||
654 | - k k y | ||
655 | - l l y | ||
656 | - l l a | ||
657 | - n n a | ||
658 | - r r è | ||
659 | - d d e | ||
660 | - f f e | ||
661 | - p p h | ||
662 | - g g e | ||
663 | - g g u | ||
664 | - k k e | ||
665 | - q q u | ||
666 | - l l e | ||
667 | - m m e | ||
668 | - n n e | ||
669 | - g g n | ||
670 | - r r e | ||
671 | - s s e | ||
672 | - c c e | ||
673 | - c c h | ||
674 | - t t e | ||
675 | - t t h | ||
676 | - v v e | ||
677 | - w w e | ||
678 | - s s e | ||
679 | - o o e | ||
680 | - m m é | ||
681 | - a a y | ||
682 | - e e y | ||
683 | - o o y | ||
684 | - | ||
685 | -acro a A ε | ||
686 | - | ||
687 | -acro {A}a A | ||
688 | -acro {B}b B | ||
689 | -acro {C}c C | ||
690 | -acro {C}k C | ||
691 | -acro {Ć}t′ Ć | ||
692 | -acro {D}d D | ||
693 | -acro {E}e E | ||
694 | -acro {F}f F | ||
695 | -acro {G}g G | ||
696 | -acro {H}h H | ||
697 | -acro {I}j I | ||
698 | -acro {J}j J | ||
699 | -acro {K}k K | ||
700 | -acro {L}l L | ||
701 | -acro {Ł}ł Ł | ||
702 | -acro {M}m M | ||
703 | -acro {N}n N | ||
704 | -acro {O}o O | ||
705 | -acro {P}p P | ||
706 | -acro {R}r R | ||
707 | -acro {S}s S | ||
708 | -acro {Ś}s′ Ś | ||
709 | -acro {T}t T | ||
710 | -acro {U}u U | ||
711 | -acro {V}v V | ||
712 | -acro {W}v W | ||
713 | -acro {X}ks X | ||
714 | -acro {Y}y Y | ||
715 | -acro {Z}z Z | ||
716 | -acro {Ż}ž Ż | ||
717 | -acro {J}jot J-ot δ | ||
718 | -acro {Z}zet Z-et δ | ||
719 | -acro {Ż}žet Ż-et δ | ||
720 | -acro {z}zet z-et δ | ||
721 | - | ||
722 | -acro {B}b′e B-ie ε | ||
723 | -acro {D}d′e D-zie ε | ||
724 | -acro {F}f′e F-ie ε | ||
725 | -acro {M}m′e M-ie ε | ||
726 | -acro {N}n′e N-ie ε | ||
727 | -acro {P}p′e P-ie ε | ||
728 | -acro {R}ře R-ze ε | ||
729 | -acro {S}s′e S-ie ε | ||
730 | -acro {T}t′e -cie ε | ||
731 | -acro {V}v′e V-ie ε | ||
732 | -acro {W}v W-ie ε | ||
733 | -acro {X}ks′e X-ie ε | ||
734 | -acro {Z}z Z-ie ε | ||
735 | -acro {J}jot′e J-ocie ε | ||
736 | -acro {Z}zet′e Z-ecie ε | ||
737 | -acro {Ż}žet′e Ż-ecie ε | ||
738 | - | ||
739 | -acro {B}b′e Bie ε | ||
740 | -acro {D}d′e Dzie ε | ||
741 | -acro {F}f′e Fie ε | ||
742 | -acro {M}m′e Mie ε | ||
743 | -acro {N}n′e Nie ε | ||
744 | -acro {P}p′e Pie ε | ||
745 | -acro {R}ře Rze ε | ||
746 | -acro {S}s′e Sie ε | ||
747 | -acro {T}t′e cie ε | ||
748 | -acro {V}v′e Vie ε | ||
749 | -acro {W}v Wie ε | ||
750 | -acro {X}ks′e Xie ε | ||
751 | -acro {Z}z Zie ε | ||
752 | -acro {J}jot′e Jocie ε | ||
753 | -acro {Z}zet′e Zecie ε | ||
754 | -acro {Ż}žet′e Żecie ε | ||
755 | - | ||
756 | -acro b′e b-ie ε | ||
757 | -acro d′e d-zie ε | ||
758 | -acro f′e f-ie ε | ||
759 | -acro m′e m-ie ε | ||
760 | -acro n′e n-ie ε | ||
761 | -acro p′e p-ie ε | ||
762 | -acro ře r-ze ε | ||
763 | -acro s′e s-ie ε | ||
764 | -acro t′e -cie ε | ||
765 | -acro {v}v′e v-ie ε | ||
766 | -acro v w-ie ε | ||
767 | -acro {x}ks′e x-ie ε | ||
768 | -acro z z-ie ε | ||
769 | -acro {j}jot′e j-ocie ε | ||
770 | -acro {z}zet′e z-ecie ε | ||
771 | -acro {ż}žet′e ż-ecie ε | ||
772 | - | ||
773 | -acro {T}t′e CIE ε | ||
774 | -acro {A}a{T}t′e acie ε | ||
775 | -acro {E}e{T}t′e ecie ε | ||
776 | -acro {I}j{T}t′e icie ε | ||
777 | -acro {O}o{T}t′e ocie ε | ||
778 | -acro {U}u{T}t′e ucie ε | ||
779 | - | ||
780 | -acro {C}k′i C-i ε | ||
781 | -acro {C}k′em C-iem ε | ||
782 | -acro {G}g′i G-i ε | ||
783 | -acro {G}g′em G-iem ε | ||
784 | -acro {J}ji J-i ε | ||
785 | -acro {K}k′i K-i ε | ||
786 | -acro {K}k′em K-iem ε | ||
787 | -acro {L}li L-i ε | ||
788 | -acro - γ | ||
789 | - | ||
790 | - |
morphology/data/fonetics_pl_old.dic deleted
1 | -@symbols | ||
2 | -ω a ą e ę o ó u | ||
3 | -δ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y z ź ż - ε | ||
4 | -γ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y ź ż - ε | ||
5 | -ξ a ą b c ć d e ę f g h k l ł m n ń o ó p r s ś t u w y - ε | ||
6 | -μ a ą b c ć d e ę f g k l ł m n ń o ó p r s ś t u w y ź ż - ε | ||
7 | -λ b c ć d f g h k l ł m n ń p r s ś t w z ź ż - ε | ||
8 | -κ b c ć d f g h j k l ł m n ń p r s ś t w z ź ż - ε | ||
9 | -σ a ą b c ć d e ę f g i h k l ł m n ń o ó p r s ś t u w y z ź ż - ε | ||
10 | - | ||
11 | -@rules | ||
12 | -ṕ pi ω | ||
13 | -ṕ p iκ | ||
14 | -p p δ | ||
15 | -b́ bi ω | ||
16 | -b′ bj ω | ||
17 | -b́ b iκ | ||
18 | -b b δ | ||
19 | -f́ fi ω | ||
20 | -f́ f iκ | ||
21 | -f f δ | ||
22 | -v́ wi ω | ||
23 | -v́ w iκ | ||
24 | -v w δ | ||
25 | -ć ć λ | ||
26 | -ć ci ω | ||
27 | -c′ cj ω | ||
28 | -ć c iκ | ||
29 | -c c μ | ||
30 | -ʒ́ dź λ | ||
31 | -ʒ́ dzi ω | ||
32 | -ʒ́ dz iκ | ||
33 | -ʒ dz δ | ||
34 | -t t δ | ||
35 | -t′ ti ω | ||
36 | -t′ t iκ | ||
37 | -d d ξ | ||
38 | -d′ di ω | ||
39 | -d′ d iκ | ||
40 | -č cz δ | ||
41 | -ǯ dż δ | ||
42 | -ś ś λ | ||
43 | -ś si ω | ||
44 | -s′ sj ω | ||
45 | -ś s iκ | ||
46 | -s s γ | ||
47 | -ź ź λ | ||
48 | -ź zi ω | ||
49 | -z′ zj ω | ||
50 | -ź z iκ | ||
51 | -z z δ | ||
52 | -š sz δ | ||
53 | -ž ż δ | ||
54 | -l l δ | ||
55 | -l′ li ω | ||
56 | -l′ l iκ | ||
57 | -ł ł δ | ||
58 | -ř rz δ | ||
59 | -r r γ | ||
60 | -r′ ri ω | ||
61 | -r′ r iκ | ||
62 | -ḿ mi ω | ||
63 | -ḿ m iκ | ||
64 | -m m δ | ||
65 | -ń ń λ | ||
66 | -ń ni ω | ||
67 | -ń n iκ | ||
68 | -n n δ | ||
69 | -ḱ ki ω | ||
70 | -ḱ k iκ | ||
71 | -k k δ | ||
72 | -ǵ gi ω | ||
73 | -ǵ g iκ | ||
74 | -g g δ | ||
75 | -χ ch δ | ||
76 | -x′ chi ω | ||
77 | -x′ ch iκ | ||
78 | -h h δ | ||
79 | -h′ hi ω | ||
80 | -h′ h iκ | ||
81 | -a a σ | ||
82 | -a′ aj | ||
83 | -e e σ | ||
84 | -e′ ej | ||
85 | -o o σ | ||
86 | -o′ oj | ||
87 | -ó ó σ | ||
88 | -ó′ ój | ||
89 | -u u σ | ||
90 | -u′ uj | ||
91 | -i i σ | ||
92 | -i′ ij | ||
93 | -y y σ | ||
94 | -y′ yj | ||
95 | -ą ą σ | ||
96 | -ę ę σ | ||
97 | -j j | ||
98 | -A A | ||
99 | -B B | ||
100 | -C C | ||
101 | -D D | ||
102 | -E E | ||
103 | -F F | ||
104 | -G G | ||
105 | -H H | ||
106 | -I I | ||
107 | -J J | ||
108 | -K K | ||
109 | -L L | ||
110 | -Ł Ł | ||
111 | -M M | ||
112 | -N N | ||
113 | -O O | ||
114 | -P P | ||
115 | -R R | ||
116 | -S S | ||
117 | -Ś Ś | ||
118 | -T T | ||
119 | -U U | ||
120 | -W W | ||
121 | -Y Y | ||
122 | -Z Z | ||
123 | -Ż Ż | ||
124 | -- - | ||
125 | -#χ́ chi | ||
126 | -#h́ hi | ||
127 | - |
morphology/data/interp_rules.dic
@@ -334,8 +334,10 @@ | @@ -334,8 +334,10 @@ | ||
334 | * cat=ndm subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:n:ncol # 836 Aachen Age Aires:s Angeles Argos:s1 Arkansas:s1 Arkansas:s3 Arnhem Auschwitz Austerlitz Baku Betlejem Birkenau Bizancjum Bonn Borneo Borodino Buffalo:s1 Burgas CB-radio | 334 | * cat=ndm subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:n:ncol # 836 Aachen Age Aires:s Angeles Argos:s1 Arkansas:s1 Arkansas:s3 Arnhem Auschwitz Austerlitz Baku Betlejem Birkenau Bizancjum Bonn Borneo Borodino Buffalo:s1 Burgas CB-radio |
335 | * cat=ndm subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:m3 # 147 Aachen Arkansas:s1 Arkansas:s2 Bator Kansas:s2 Kara-Kum Kent Kyzył-Kum Michigan Missisipi:s1 Mississippi:s2 Missouri:s1 Montgomery:s3 Szoa Tet Ułan Westminster Windows Wisconsin Woodstock | 335 | * cat=ndm subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:m3 # 147 Aachen Arkansas:s1 Arkansas:s2 Bator Kansas:s2 Kara-Kum Kent Kyzył-Kum Michigan Missisipi:s1 Mississippi:s2 Missouri:s1 Montgomery:s3 Szoa Tet Ułan Westminster Windows Wisconsin Woodstock |
336 | * cat=ndm subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:m2 # 36 aguti aksis argali bankiwa boa:s1 czau-czau dingo dodo emu ferrari galago grizli kagu karibu kiwi:s2 koati koendu kuandu maki mehari | 336 | * cat=ndm subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:m2 # 36 aguti aksis argali bankiwa boa:s1 czau-czau dingo dodo emu ferrari galago grizli kagu karibu kiwi:s2 koati koendu kuandu maki mehari |
337 | -#* cat=ndm subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:m1 # 90 Allende Ante Bambo Bantu Bartoszcze Belmondo Brando Buffalo:s2 Capone Caruso Castro Crusoe Curie Defoe Diego Domingo Fo Gard Giuseppe Hugo:s2 | 337 | +* cat=ndm subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:m1 # 90 Allende Ante Bambo Bantu Bartoszcze Belmondo Brando Buffalo:s2 Capone Caruso Castro Crusoe Curie Defoe Diego Domingo Fo Gard Giuseppe Hugo:s2 |
338 | +* cat=ndm subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:m1|depr:pl:nom.acc.voc:m2 # | ||
338 | * cat=ndm subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:f # 150 Abisag Abiszag Akropolis Ananke Arachne Arkansas:s2 Ata:s Babel Beatrycze Berenike Carmen Colorado:s2 Dafne Demeter Dolores Doris Dudziak:s2 Edith Ferdydurke Gabi | 339 | * cat=ndm subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:f # 150 Abisag Abiszag Akropolis Ananke Arachne Arkansas:s2 Ata:s Babel Beatrycze Berenike Carmen Colorado:s2 Dafne Demeter Dolores Doris Dudziak:s2 Edith Ferdydurke Gabi |
340 | +* cat=ndm subst:pl:nom.gen.dat.acc.inst.loc.voc:n:pt # | ||
339 | 341 | ||
340 | * cat=noun flex=ego lemma=a subst:sg:gen.acc:m1 # 9 burgrabia gograbia grabia hrabia margrabia murgrabia sędzia:s1 wicehrabia współsędzia | 342 | * cat=noun flex=ego lemma=a subst:sg:gen.acc:m1 # 9 burgrabia gograbia grabia hrabia margrabia murgrabia sędzia:s1 wicehrabia współsędzia |
341 | * cat=noun flex=ego lemma=a subst:sg:gen:m1 # 9 burgrabia gograbia grabia hrabia margrabia murgrabia sędzia:s1 wicehrabia współsędzia | 343 | * cat=noun flex=ego lemma=a subst:sg:gen:m1 # 9 burgrabia gograbia grabia hrabia margrabia murgrabia sędzia:s1 wicehrabia współsędzia |
@@ -424,8 +426,6 @@ | @@ -424,8 +426,6 @@ | ||
424 | * cat=adj flex=i lemma=ε adj:pl:nom:m1:pos # 4 kontent:a niekontent:a nierad:a rad:a | 426 | * cat=adj flex=i lemma=ε adj:pl:nom:m1:pos # 4 kontent:a niekontent:a nierad:a rad:a |
425 | * cat=adj flex=ych lemma=ε adj:pl:gen.loc:m1.m2.m3.f.n:pos|adj:pl:acc:m1:pos # 22 czyj jeden:a mój:a nasz niczyj niejeden:a1 niejeden:a2 niesamoswój nieswój niewart oboj obój:a pewien sam:a samojeden samoswój swój twój:a wart:a wasz | 427 | * cat=adj flex=ych lemma=ε adj:pl:gen.loc:m1.m2.m3.f.n:pos|adj:pl:acc:m1:pos # 22 czyj jeden:a mój:a nasz niczyj niejeden:a1 niejeden:a2 niesamoswój nieswój niewart oboj obój:a pewien sam:a samojeden samoswój swój twój:a wart:a wasz |
426 | * cat=adj flex=ymi lemma=ε adj:pl:inst:m1.m2.m3.f.n:pos # 23 czyj jeden:a mój:a nasz niczyj niejeden:a1 niejeden:a2 niesamoswój nieswój niewart oboj obój:a pewien sam:a samojeden samoswój swój twój:a wart:a wasz | 428 | * cat=adj flex=ymi lemma=ε adj:pl:inst:m1.m2.m3.f.n:pos # 23 czyj jeden:a mój:a nasz niczyj niejeden:a1 niejeden:a2 niesamoswój nieswój niewart oboj obój:a pewien sam:a samojeden samoswój swój twój:a wart:a wasz |
427 | -* cat=adj flex=ε lemma=ε adj:sg.pl:nom.gen.dat.acc.inst.loc.voc:m1.m2.m3.f.n:pos|adja # 1 pop:a | ||
428 | -* cat=adj flex=ε lemma=ε adj:sg.pl:nom.gen.dat.acc.inst.loc.voc:m1.m2.m3.f.n:pos # 26 a-z a-ż beż:a blond:a ciemnoblond:a ck cool:a dum-dum fest:a frysz ful:a git:a instant jasnoblond lilaróż:a maksi nonajron:a okej:a open perfekt:a | ||
429 | 429 | ||
430 | cat=adj:grad pref=ε flex=ą lemma=y adj:sg:acc.inst:f:com # 1076 absurdalny adekwatny agresywny aktualny aktywny akuratny ambitny apetyczny arystokratyczny atrakcyjny autentyczny baczny bajeczny banalny barwny bezbożny:a bezbronny bezczelny bezecny bezpieczny | 430 | cat=adj:grad pref=ε flex=ą lemma=y adj:sg:acc.inst:f:com # 1076 absurdalny adekwatny agresywny aktualny aktywny akuratny ambitny apetyczny arystokratyczny atrakcyjny autentyczny baczny bajeczny banalny barwny bezbożny:a bezbronny bezczelny bezecny bezpieczny |
431 | cat=adj:grad pref=ε flex=ymi lemma=y adj:pl:inst:m1.m2.m3.f.n:com # 1076 absurdalny adekwatny agresywny aktualny aktywny akuratny ambitny apetyczny arystokratyczny atrakcyjny autentyczny baczny bajeczny banalny barwny bezbożny:a bezbronny bezczelny bezecny bezpieczny | 431 | cat=adj:grad pref=ε flex=ymi lemma=y adj:pl:inst:m1.m2.m3.f.n:com # 1076 absurdalny adekwatny agresywny aktualny aktywny akuratny ambitny apetyczny arystokratyczny atrakcyjny autentyczny baczny bajeczny banalny barwny bezbożny:a bezbronny bezczelny bezecny bezpieczny |
morphology/dict.ml
@@ -172,6 +172,7 @@ let split_language lang_filename in_path filename out_path = | @@ -172,6 +172,7 @@ let split_language lang_filename in_path filename out_path = | ||
172 | let dict_map = Xlist.fold dict StringMap.empty (fun dict_map e -> | 172 | let dict_map = Xlist.fold dict StringMap.empty (fun dict_map e -> |
173 | try | 173 | try |
174 | let lang = StringMap.find map e.lemma in | 174 | let lang = StringMap.find map e.lemma in |
175 | + (* let lang = "all" in *) | ||
175 | StringMap.add_inc dict_map lang [e] (fun l -> e :: l) | 176 | StringMap.add_inc dict_map lang [e] (fun l -> e :: l) |
176 | with Not_found -> dict_map) in | 177 | with Not_found -> dict_map) in |
177 | StringMap.iter dict_map (fun lang dict -> | 178 | StringMap.iter dict_map (fun lang dict -> |
@@ -214,10 +215,43 @@ let rec get_aspect lemma = function | @@ -214,10 +215,43 @@ let rec get_aspect lemma = function | ||
214 | | _ -> get_aspect lemma l) | 215 | | _ -> get_aspect lemma l) |
215 | | [] -> failwith ("get_aspect: " ^ lemma) | 216 | | [] -> failwith ("get_aspect: " ^ lemma) |
216 | 217 | ||
218 | +let epsilon_lemmata = StringSet.of_list [ | ||
219 | + "Berkeley"; "Blake"; "Bourdelle"; "Boyle"; "Boy"; "Braille"; "Braque"; "Brooke"; "Halley"; | ||
220 | + "Constable"; "Corneille"; "Delavigne"; "Doyle"; "Drake"; "Dunaway"; "Faraday"; "Gable"; "Gay"; | ||
221 | + "George"; "Heaney"; "Google"; "Desargues"; "Disney"; "Doumergue"; "Gaulle"; "Hemingway"; "Hubble"; | ||
222 | + "Huxley"; "Jokai"; "Joule"; "Jókai"; "Lisle"; "Locke"; "Losey"; "Macaulay"; "May"; | ||
223 | + "McCartney"; "Remarque"; "Searle"; "Shelley"; "Sisley"; "Stanley"; "Thackeray"; "Updike"; "Winfrey"; | ||
224 | + "assemblage"; "boutique"; "branle"; "cartridge"; "chippendale"; "collage"; "collége"; "decoupage"; "dodge"; | ||
225 | + "entourage"; "freestyle"; "grisaille"; "grunge"; "joule"; "quiche"; "remake"; "rocaille"; "scrabble"; | ||
226 | + "siècle"; "playboy"; "oldboy"; "jockey"; "image"; "college"; "cockney"; "Montaigne"; ""; | ||
227 | + "allemande"; "anglaise"; "beguine"; "breakdance"; "courante"; "ensemble"; "high-life"; "iPhone"; "iphone"; | ||
228 | + "rolls-royce"; "Redgrave"; "cowboy"; "drive"; "Nightingale"; "Presley"; ""; ""; ""; | ||
229 | + ""; ""; ""; ""; ""; ""; ""; ""; ""; | ||
230 | + ""; ""; ""; ""; ""; ""; ""; ""; ""; | ||
231 | + ""; ""; ""; ""; ""; ""; ""; ""; ""; | ||
232 | + ] | ||
233 | + | ||
234 | +let e_lemmata = StringSet.of_list [ | ||
235 | + "Barrès"; "Beaumarchais"; "Marchais"; "Montesquieu"; "Rabelais"; "Resnais"; "Richelieu"; ""; ""; | ||
236 | + ""; ""; ""; ""; ""; ""; ""; ""; ""; | ||
237 | + ""; ""; ""; ""; ""; ""; ""; ""; ""; | ||
238 | + ] | ||
239 | + | ||
240 | +let y_lemmata = StringSet.of_list [ | ||
241 | + "Bogorodckij"; "Gaudí"; "Szeptyćkyj"; "Toynbee"; "Trubieckoj"; "Wołżskij"; ""; ""; ""; | ||
242 | + ""; ""; ""; ""; ""; ""; ""; ""; ""; | ||
243 | + ""; ""; ""; ""; ""; ""; ""; ""; ""; | ||
244 | + ""; ""; ""; ""; ""; ""; ""; ""; ""; | ||
245 | + ] | ||
246 | + | ||
217 | let get_lemma_suf lemma = | 247 | let get_lemma_suf lemma = |
248 | + let lemma = Stem.simplify_lemma lemma in | ||
249 | + if StringSet.mem epsilon_lemmata lemma then "ε" else | ||
250 | + if StringSet.mem e_lemmata lemma then "e" else | ||
251 | + if StringSet.mem y_lemmata lemma then "y" else | ||
218 | let lemma_suf = | 252 | let lemma_suf = |
219 | if lemma = "" then "" else | 253 | if lemma = "" then "" else |
220 | - List.hd (List.rev (Xunicode.utf8_chars_of_utf8_string (Stem.simplify_lemma lemma))) in | 254 | + List.hd (List.rev (Xunicode.utf8_chars_of_utf8_string lemma)) in |
221 | match lemma_suf with | 255 | match lemma_suf with |
222 | "a" -> "a" | 256 | "a" -> "a" |
223 | | "e" -> "e" | 257 | | "e" -> "e" |
@@ -366,7 +400,7 @@ let merge_interps lemma forms = | @@ -366,7 +400,7 @@ let merge_interps lemma forms = | ||
366 | | _,["depr:pl:nom.acc.voc:m2";"subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:m1"] -> {empty_form with orth=orth; interp="subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:m1|depr:pl:nom.acc.voc:m2"} :: forms | 400 | | _,["depr:pl:nom.acc.voc:m2";"subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:m1"] -> {empty_form with orth=orth; interp="subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:m1|depr:pl:nom.acc.voc:m2"} :: forms |
367 | | _,[interp] -> {empty_form with orth=orth; interp=interp} :: forms | 401 | | _,[interp] -> {empty_form with orth=orth; interp=interp} :: forms |
368 | | _,interps -> | 402 | | _,interps -> |
369 | - (* print_endline ("merge_interps: " (*^ lemma_suf*) ^ " [\"" ^ String.concat "\";\"" interps ^ "\"]"); *) | 403 | + (* print_endline ("merge_interps: " ^ lemma_suf ^ " " ^ orth ^ " [\"" ^ String.concat "\";\"" interps ^ "\"]"); *) |
370 | Xlist.fold interps forms (fun forms interp -> | 404 | Xlist.fold interps forms (fun forms interp -> |
371 | {empty_form with orth=orth; interp=interp} :: forms)) | 405 | {empty_form with orth=orth; interp=interp} :: forms)) |
372 | 406 | ||
@@ -460,7 +494,7 @@ let find_kolwiek_suffixes dict = | @@ -460,7 +494,7 @@ let find_kolwiek_suffixes dict = | ||
460 | 494 | ||
461 | let exceptional_lemmata = StringSet.of_list ([ | 495 | let exceptional_lemmata = StringSet.of_list ([ |
462 | (* wiele stemów *) | 496 | (* wiele stemów *) |
463 | - "Apollo"; "Aujeszky"; "Białystok"; "Gózd"; "Krasnystaw"; "Różanystok"; "Wielkanoc"; "białagłowa"; | 497 | +(* "Apollo"; "Aujeszky"; "Białystok"; "Gózd"; "Krasnystaw"; "Różanystok"; "Wielkanoc"; "białagłowa"; |
464 | "deszcz"; "imćpan"; "iściec"; "otrząs"; "rzeczpospolita"; "wilczełyko"; "woleoczko"; | 498 | "deszcz"; "imćpan"; "iściec"; "otrząs"; "rzeczpospolita"; "wilczełyko"; "woleoczko"; |
465 | 499 | ||
466 | "prapraojciec"; "praojciec"; "ojciec"; "współbrat"; "spółbrat"; "półbrat"; "brat"; | 500 | "prapraojciec"; "praojciec"; "ojciec"; "współbrat"; "spółbrat"; "półbrat"; "brat"; |
@@ -569,9 +603,12 @@ let exceptional_lemmata = StringSet.of_list ([ | @@ -569,9 +603,12 @@ let exceptional_lemmata = StringSet.of_list ([ | ||
569 | "nieunixowość"; "niesurvivalowy"; "niesurvivalowość"; "niesoftware’owy"; "niesoftware’owość"; "nierock’n’rollowy"; "nierock’n’rollowość"; "nierock’n’rollowo"; "niequmrańskość"; | 603 | "nieunixowość"; "niesurvivalowy"; "niesurvivalowość"; "niesoftware’owy"; "niesoftware’owość"; "nierock’n’rollowy"; "nierock’n’rollowość"; "nierock’n’rollowo"; "niequmrańskość"; |
570 | "niequmrański"; "niequizowy"; "niequizowość"; "niequeerowość"; "niequeerowo"; "niequadowy"; "nieoxfordzkość"; "nieoxfordzki"; "nienovellowskość"; "nienovellowski"; "nienewage'owy"; "nieliverpoolskość"; | 604 | "niequmrański"; "niequizowy"; "niequizowość"; "niequeerowość"; "niequeerowo"; "niequadowy"; "nieoxfordzkość"; "nieoxfordzki"; "nienovellowskość"; "nienovellowski"; "nienewage'owy"; "nieliverpoolskość"; |
571 | "nieliverpoolski"; "niekickboxingowy"; "niekickboxingowość"; "nieheavymetalowy"; "nieheavymetalowość"; "nieheavymetalowo"; "nieharvardzkość"; "nieharvardzki"; "niedeveloperskość"; | 605 | "nieliverpoolski"; "niekickboxingowy"; "niekickboxingowość"; "nieheavymetalowy"; "nieheavymetalowość"; "nieheavymetalowo"; "nieharvardzkość"; "nieharvardzki"; "niedeveloperskość"; |
572 | - "niedeveloperski"; "niedaviscupowy"; "niedaviscupowość"; "niebrexitowość"; "nieampexowy"; "nieampexowość"; "newage'owy"; "newage'owość"; "newage'owo"; "liverpoolskość"; "liverpoolski"; | 606 | + "niedeveloperski"; "niedaviscupowy"; "niedaviscupowość"; "niebrexitowość"; "nieampexowy"; "nieampexowość"; "newage'owy"; "newage'owość"; "newage'owo"; "liverpoolskość"; "liverpoolski";*) |
607 | + "Akademgorodok"; "berceuse"; "colloquium"; "cornflakes"; "dacia"; "Dziubanii"; "epeisodion"; "facsimile"; "felicia"; "Garcia"; "Giedroyc"; "glediczia"; | ||
608 | + "głasnost"; "hippie"; "Kodaly"; "KRRiT"; "lancia"; "Murii"; "Nagy"; "PAGART"; "paparazzo"; "Praha"; "pudźa"; "Selye"; | ||
609 | + "welwiczia"; "yuppi"; "yuppie"; "Zápolya"; "Zrínyi"; ""; ""; ""; ""; ""; ""; ""; | ||
573 | ] (*@ File.load_lines "../morphology/data/obce.tab" @ File.load_lines "../morphology/data/akronimy.tab" @*) | 610 | ] (*@ File.load_lines "../morphology/data/obce.tab" @ File.load_lines "../morphology/data/akronimy.tab" @*) |
574 | - @ File.fold_tab "../morphology/data/obce_langs.tab" [] (fun l x -> List.hd x :: l) @ | 611 | + (*@ File.fold_tab "../morphology/data/obce_langs.tab" [] (fun l x -> List.hd x :: l)*) @ |
575 | (*File.load_lines "../morphology/data/nieregularne.tab" @ File.load_lines "results/interp_validated_verb.tab" @ *) | 612 | (*File.load_lines "../morphology/data/nieregularne.tab" @ File.load_lines "results/interp_validated_verb.tab" @ *) |
576 | (*File.load_lines "results/interp_validated_noun.tab" @ File.load_lines "results/interp_validated_adj.tab" @ | 613 | (*File.load_lines "results/interp_validated_noun.tab" @ File.load_lines "results/interp_validated_adj.tab" @ |
577 | File.load_lines "../morphology/data/validated_adj.tab" @ File.load_lines "../morphology/data/validated_noun.tab" @ | 614 | File.load_lines "../morphology/data/validated_adj.tab" @ File.load_lines "../morphology/data/validated_noun.tab" @ |
@@ -619,21 +656,57 @@ let lowercase_lu dict = | @@ -619,21 +656,57 @@ let lowercase_lu dict = | ||
619 | lemma2=Xunicode.lowercase_utf8_string entry.lemma2}) | 656 | lemma2=Xunicode.lowercase_utf8_string entry.lemma2}) |
620 | 657 | ||
621 | 658 | ||
622 | -let fonetic_translation dict = | ||
623 | - Xlist.fold dict [] (fun dict e -> | ||
624 | - try | 659 | +let fonetic_translation_entry e = |
625 | (* let lemma = Stem.simplify_lemma e.lemma in *) | 660 | (* let lemma = Stem.simplify_lemma e.lemma in *) |
626 | (* let phon_lemma = Fonetics.translate_and_check true Fonetics.rules Fonetics.rev_rules lemma in *) | 661 | (* let phon_lemma = Fonetics.translate_and_check true Fonetics.rules Fonetics.rev_rules lemma in *) |
627 | - let phon_stem = Fonetics.translate(*_and_check*) true Fonetics.rules (*Fonetics.rev_rules*) e.stem in | 662 | + let rules = match e.cat with |
663 | + "noun" -> Fonetics.rules | ||
664 | + | "" -> failwith "fonetic_translation" | ||
665 | + | _ -> Fonetics.core_rules in | ||
666 | + let phon_stem = Fonetics.translate true rules e.stem in | ||
628 | {e with (*phon_lemma = phon_lemma;*) phon_stem=Xlist.map phon_stem (fun s -> s.phon); | 667 | {e with (*phon_lemma = phon_lemma;*) phon_stem=Xlist.map phon_stem (fun s -> s.phon); |
629 | forms = Xlist.map e.forms (fun f -> | 668 | forms = Xlist.map e.forms (fun f -> |
630 | - let phon_orth = Fonetics.translate(*_and_check*) true Fonetics.rules (*Fonetics.rev_rules*) f.orth in | ||
631 | - {f with phon_orth = phon_orth})} :: dict | 669 | + let phon_orth = Fonetics.translate true rules f.orth in |
670 | + {f with phon_orth = phon_orth})} | ||
671 | + | ||
672 | +(* let fonetic_translation dict = | ||
673 | + Xlist.fold dict [] (fun dict e -> | ||
674 | + try (fonetic_translation_entry e) :: dict | ||
632 | with | 675 | with |
633 | Fonetics.NotFound(x,s) -> printf "NF %s %s %s\n%!" e.lemma x s; dict | 676 | Fonetics.NotFound(x,s) -> printf "NF %s %s %s\n%!" e.lemma x s; dict |
634 | | Fonetics.NotEqual(x,s,t) -> printf "NE %s %s %s %s\n%!" e.lemma x s t; dict | 677 | | Fonetics.NotEqual(x,s,t) -> printf "NE %s %s %s %s\n%!" e.lemma x s t; dict |
635 | | Fonetics.MulipleSolutions(x,s,l) -> printf "MS %s %s %s: %s\n%!" e.lemma x s (String.concat " " l); dict | 678 | | Fonetics.MulipleSolutions(x,s,l) -> printf "MS %s %s %s: %s\n%!" e.lemma x s (String.concat " " l); dict |
636 | - | _ -> dict) | 679 | + | _ -> dict) *) |
680 | + | ||
681 | +let select_rev_rules e = | ||
682 | + match e.cat with | ||
683 | + "noun" -> Fonetics.rev_rules | ||
684 | + | "" -> failwith "select_rev_rules" | ||
685 | + | _ -> Fonetics.core_rev_rules | ||
686 | + | ||
687 | +let create_candidates interp_flag rules e = | ||
688 | + let e = try fonetic_translation_entry e with _ -> print_endline ("fonetic_translation_entry: " ^ e.lemma); {e with forms=[]} in | ||
689 | + let simple_lemma = Stem.simplify_lemma e.lemma in | ||
690 | + let phon_rev_rules = select_rev_rules e in | ||
691 | + let forms = Xlist.rev_map e.forms (fun f -> | ||
692 | + (* if f.orth = "poljom" then printf "phon_orths: \n %s\n%!" (String.concat "\n " (Xlist.map f.phon_orth Fonetics.string_of_phon)); *) | ||
693 | + let candidates = Xlist.fold f.phon_orth [] (fun candidates s -> | ||
694 | + Xlist.fold (Rules.CharTrees.find rules s.phon) candidates (fun candidates (stem,rule) -> | ||
695 | + let candidate_lemmas = Fonetics.translate_simple true phon_rev_rules (stem ^ rule.set) in | ||
696 | + let b = Xlist.fold candidate_lemmas false (fun b candidate_lemma -> | ||
697 | + (* if f.orth = "poljom" then (if candidate_lemma = simple_lemma then printf "E" else printf " "); | ||
698 | + if f.orth = "poljom" then printf " %s %s %s %s\n%!" s.phon stem (string_of_rule rule) candidate_lemma; *) | ||
699 | + candidate_lemma = simple_lemma || b) in | ||
700 | + if b && ((not interp_flag) || f.interp = rule.interp) then (stem,rule,s) :: candidates else candidates)) in | ||
701 | + {f with candidates=candidates}) in | ||
702 | + {e with forms=forms} | ||
703 | + | ||
704 | +let phon_validate rules dict = | ||
705 | + Xlist.rev_map dict (fun entry -> | ||
706 | + let entry = create_candidates false rules entry in | ||
707 | + let forms = Xlist.rev_map entry.forms (fun form -> | ||
708 | + if form.candidates = [] then {form with validated=false} else {form with validated=true}) in | ||
709 | + {entry with forms=forms}) | ||
637 | 710 | ||
638 | (*let validate rules dict = | 711 | (*let validate rules dict = |
639 | Xlist.rev_map dict (fun entry -> | 712 | Xlist.rev_map dict (fun entry -> |
@@ -645,18 +718,6 @@ let fonetic_translation dict = | @@ -645,18 +718,6 @@ let fonetic_translation dict = | ||
645 | if candidates = [] then {form with validated=false} else {form with validated=true}) in | 718 | if candidates = [] then {form with validated=false} else {form with validated=true}) in |
646 | {entry with forms=forms})*) | 719 | {entry with forms=forms})*) |
647 | 720 | ||
648 | -let phon_validate rules dict = | ||
649 | - Xlist.rev_map dict (fun entry -> | ||
650 | - let simple_lemma = Stem.simplify_lemma entry.lemma in | ||
651 | - let forms = Xlist.rev_map entry.forms (fun form -> | ||
652 | - let candidates = Xlist.fold form.phon_orth [] (fun candidates s -> | ||
653 | - Xlist.fold (Rules.CharTrees.find rules s.phon) candidates (fun candidates (stem,rule) -> | ||
654 | - let candidate_lemmas = Fonetics.rev_translate2 true Fonetics.rev_rules (stem ^ rule.set) s.mapping in | ||
655 | - let b = Xlist.fold candidate_lemmas false (fun b candidate_lemma -> candidate_lemma = simple_lemma || b) in | ||
656 | - if b then (stem,rule) :: candidates else candidates)) in | ||
657 | - if candidates = [] then {form with validated=false} else {form with validated=true}) in | ||
658 | - {entry with forms=forms}) | ||
659 | - | ||
660 | let validate_lu rules dict = | 721 | let validate_lu rules dict = |
661 | Xlist.rev_map dict (fun entry -> | 722 | Xlist.rev_map dict (fun entry -> |
662 | let candidates1 = Rules.CharTrees.find rules entry.lemma1 in | 723 | let candidates1 = Rules.CharTrees.find rules entry.lemma1 in |
@@ -674,20 +735,19 @@ let validate_interp rules dict = | @@ -674,20 +735,19 @@ let validate_interp rules dict = | ||
674 | Xlist.rev_map dict (fun entry -> | 735 | Xlist.rev_map dict (fun entry -> |
675 | let simple_lemma = Stem.simplify_lemma entry.lemma in | 736 | let simple_lemma = Stem.simplify_lemma entry.lemma in |
676 | let forms = Xlist.rev_map entry.forms (fun form -> | 737 | let forms = Xlist.rev_map entry.forms (fun form -> |
677 | - let candidates = Xlist.fold form.phon_orth [] (fun candidates s -> | ||
678 | - Xlist.fold (Rules.CharTrees.find rules s.phon) candidates (fun candidates (stem,rule) -> | ||
679 | - (* if rule.star = Ndm && not entry.ndm then candidates else | ||
680 | - if rule.star <> Ndm && entry.ndm then candidates else *) | ||
681 | - (* let candidate_lemma = Fonetics.rev_translate true Fonetics.rev_rules (stem ^ rule.set) s.mapping in | ||
682 | - if candidate_lemma = simple_lemma && form.interp = rule.interp then | ||
683 | - (stem,rule) :: candidates else candidates)) in *) | ||
684 | - let candidate_lemmas = Fonetics.rev_translate2 true Fonetics.rev_rules (stem ^ rule.set) s.mapping in | ||
685 | - let b = Xlist.fold candidate_lemmas false (fun b candidate_lemma -> candidate_lemma = simple_lemma || b) in | ||
686 | - if b && form.interp = rule.interp then | ||
687 | - (stem,rule) :: candidates else candidates)) in | 738 | + let candidates = Xlist.fold (Rules.CharTrees.find rules form.orth) [] (fun candidates (stem,rule) -> |
739 | + if stem ^ rule.set = simple_lemma && form.interp = rule.interp then | ||
740 | + (stem,rule) :: candidates else candidates) in | ||
688 | if candidates = [] then ((*printf "validate_interp: %s\t%s\t%s\n" form.orth entry.lemma form.interp;*) {form with validated=false}) else {form with validated=true}) in | 741 | if candidates = [] then ((*printf "validate_interp: %s\t%s\t%s\n" form.orth entry.lemma form.interp;*) {form with validated=false}) else {form with validated=true}) in |
689 | {entry with forms=forms}) | 742 | {entry with forms=forms}) |
690 | 743 | ||
744 | +let phon_validate_interp rules dict = | ||
745 | + Xlist.rev_map dict (fun entry -> | ||
746 | + let entry = create_candidates true rules entry in | ||
747 | + let forms = Xlist.rev_map entry.forms (fun form -> | ||
748 | + if form.candidates = [] then {form with validated=false} else {form with validated=true}) in | ||
749 | + {entry with forms=forms}) | ||
750 | + | ||
691 | let remove_validated_forms dict = | 751 | let remove_validated_forms dict = |
692 | Xlist.fold dict [] (fun dict entry -> | 752 | Xlist.fold dict [] (fun dict entry -> |
693 | let forms = Xlist.fold entry.forms [] (fun forms form -> | 753 | let forms = Xlist.fold entry.forms [] (fun forms form -> |
@@ -791,11 +851,11 @@ let generate_rules rules path filename rules_filename = | @@ -791,11 +851,11 @@ let generate_rules rules path filename rules_filename = | ||
791 | let dict = remove_exceptional_lemmata dict in | 851 | let dict = remove_exceptional_lemmata dict in |
792 | let dict = find_kolwiek_suffixes dict in (* FIXME: lematy z kolwiek_suffixes nie są walidowane *) | 852 | let dict = find_kolwiek_suffixes dict in (* FIXME: lematy z kolwiek_suffixes nie są walidowane *) |
793 | let dict = generate_stem dict in | 853 | let dict = generate_stem dict in |
794 | - let dict = fonetic_translation dict in | ||
795 | let dict = phon_validate rules dict in | 854 | let dict = phon_validate rules dict in |
796 | let dict = remove_validated_forms dict in | 855 | let dict = remove_validated_forms dict in |
797 | let dict = remove_sup_neg_forms dict in (* FIXME *) | 856 | let dict = remove_sup_neg_forms dict in (* FIXME *) |
798 | let rules = Xlist.fold dict StringMap.empty (fun rules entry -> | 857 | let rules = Xlist.fold dict StringMap.empty (fun rules entry -> |
858 | + let entry = fonetic_translation_entry entry in | ||
799 | Xlist.fold (RuleGenerator.phon_generate_rules_entry entry) rules (fun rules (key,rule) -> | 859 | Xlist.fold (RuleGenerator.phon_generate_rules_entry entry) rules (fun rules (key,rule) -> |
800 | let rules2 = try StringMap.find rules key with Not_found -> StringMap.empty in | 860 | let rules2 = try StringMap.find rules key with Not_found -> StringMap.empty in |
801 | let rules2 = StringMap.add_inc rules2 rule (1,[entry.lemma]) (fun (q,l) -> q+1, if q < 20 then entry.lemma :: l else l) in | 861 | let rules2 = StringMap.add_inc rules2 rule (1,[entry.lemma]) (fun (q,l) -> q+1, if q < 20 then entry.lemma :: l else l) in |
@@ -837,13 +897,13 @@ let generate_interp_rules rules interp_rules selected_tags path filename rules_f | @@ -837,13 +897,13 @@ let generate_interp_rules rules interp_rules selected_tags path filename rules_f | ||
837 | let dict = remove_exceptional_lemmata dict in | 897 | let dict = remove_exceptional_lemmata dict in |
838 | (* let dict = find_kolwiek_suffixes dict in *) | 898 | (* let dict = find_kolwiek_suffixes dict in *) |
839 | (* let dict = generate_stem dict in *) | 899 | (* let dict = generate_stem dict in *) |
840 | - let dict = fonetic_translation dict in | ||
841 | - let dict = validate_interp interp_rules dict in | 900 | + let dict = phon_validate_interp interp_rules dict in |
842 | let dict = remove_validated_forms dict in | 901 | let dict = remove_validated_forms dict in |
843 | let interp_rules = Xlist.fold dict StringMap.empty (fun interp_rules entry -> | 902 | let interp_rules = Xlist.fold dict StringMap.empty (fun interp_rules entry -> |
844 | - let simple_lemma = Stem.simplify_lemma entry.lemma in | 903 | + (* let simple_lemma = Stem.simplify_lemma entry.lemma in *) |
904 | + let entry = create_candidates false rules entry in | ||
845 | Xlist.fold entry.forms interp_rules (fun interp_rules form -> | 905 | Xlist.fold entry.forms interp_rules (fun interp_rules form -> |
846 | - let candidates = RuleGenerator.phon_generate_interp_rules rules selected_tags simple_lemma form in | 906 | + let candidates = RuleGenerator.phon_generate_interp_rules (*rules*) selected_tags (*simple_lemma*) form in |
847 | Xlist.fold candidates interp_rules (fun interp_rules (v,cand) -> | 907 | Xlist.fold candidates interp_rules (fun interp_rules (v,cand) -> |
848 | (* StringMap.add_inc interp_rules cand (1,[entry.lemma]) (fun (q,l) -> q+1, if q < 20 then entry.lemma :: l else l)))) in *) | 908 | (* StringMap.add_inc interp_rules cand (1,[entry.lemma]) (fun (q,l) -> q+1, if q < 20 then entry.lemma :: l else l)))) in *) |
849 | StringMap.add_inc interp_rules cand (v,StringSet.singleton entry.lemma) (fun (v,set) -> v,StringSet.add set entry.lemma)))) in | 909 | StringMap.add_inc interp_rules cand (v,StringSet.singleton entry.lemma) (fun (v,set) -> v,StringSet.add set entry.lemma)))) in |
@@ -862,6 +922,12 @@ let generate_interp_rules rules interp_rules selected_tags path filename rules_f | @@ -862,6 +922,12 @@ let generate_interp_rules rules interp_rules selected_tags path filename rules_f | ||
862 | fst (Rules.RuleQMap.fold freq_rules (Rules.RuleQMap.empty,1) (fun (freq_rules,i) rule freq -> | 922 | fst (Rules.RuleQMap.fold freq_rules (Rules.RuleQMap.empty,1) (fun (freq_rules,i) rule freq -> |
863 | Rules.RuleQMap.add_val freq_rules {rule with id = "N" ^ string_of_int i} freq, i+1)) *) | 923 | Rules.RuleQMap.add_val freq_rules {rule with id = "N" ^ string_of_int i} freq, i+1)) *) |
864 | 924 | ||
925 | +let manage_x_lemma stem suffix lemma = | ||
926 | + match suffix with | ||
927 | + "s" -> if Xstring.check_sufix "x" lemma && Xstring.check_sufix "k" stem then Xstring.cut_sufix "k" stem else stem | ||
928 | + | "sa" -> if Xstring.check_sufix "xa" lemma && Xstring.check_sufix "k" stem then Xstring.cut_sufix "k" stem else stem | ||
929 | + | _ -> stem | ||
930 | + | ||
865 | let generate_rule_frequencies rules path filename rules_filename = | 931 | let generate_rule_frequencies rules path filename rules_filename = |
866 | let dict = load_tab (path ^ filename) in | 932 | let dict = load_tab (path ^ filename) in |
867 | let dict = merge_entries dict in | 933 | let dict = merge_entries dict in |
@@ -871,16 +937,81 @@ let generate_rule_frequencies rules path filename rules_filename = | @@ -871,16 +937,81 @@ let generate_rule_frequencies rules path filename rules_filename = | ||
871 | let freq_rules = generate_ndm_rules (remove_not_ndm dict) in | 937 | let freq_rules = generate_ndm_rules (remove_not_ndm dict) in |
872 | let dict = remove_ndm dict in *) | 938 | let dict = remove_ndm dict in *) |
873 | let dict = remove_exceptional_lemmata dict in | 939 | let dict = remove_exceptional_lemmata dict in |
874 | - let dict = generate_stem dict in | ||
875 | - let dict = fonetic_translation dict in | 940 | + (* let dict = generate_stem dict in *) |
876 | let freq_rules = Xlist.fold dict Rules.RuleQMap.empty(*freq_rules*) (fun freq_rules entry -> | 941 | let freq_rules = Xlist.fold dict Rules.RuleQMap.empty(*freq_rules*) (fun freq_rules entry -> |
942 | + let entry = create_candidates true rules entry in | ||
877 | let simple_lemma = Stem.simplify_lemma entry.lemma in | 943 | let simple_lemma = Stem.simplify_lemma entry.lemma in |
944 | + (* print_endline simple_lemma; *) | ||
878 | Xlist.fold entry.forms freq_rules (fun freq_rules form -> | 945 | Xlist.fold entry.forms freq_rules (fun freq_rules form -> |
879 | - let candidates = Rules.CharTrees.find rules form.orth in | 946 | + let candidates = Xlist.fold form.candidates [] (fun candidates (stem,rule,s) -> |
947 | + let x_stem = manage_x_lemma stem rule.set simple_lemma in | ||
948 | + let rule,pref_stem,short_stem = match rule.pref with | ||
949 | + "naj" -> | ||
950 | + let pref_stem = Fonetics.get_short_stem "" ("naj" ^ x_stem) s.mapping in | ||
951 | + rule, pref_stem, Xstring.cut_prefix "naj" pref_stem | ||
952 | + | "n′e" -> | ||
953 | + let pref_stem = Fonetics.get_short_stem "" ("nie" ^ x_stem) s.mapping in | ||
954 | + {rule with pref="nie"}, pref_stem, Xstring.cut_prefix "nie" pref_stem | ||
955 | + | "" -> | ||
956 | + let pref_stem = Fonetics.get_short_stem "" x_stem s.mapping in | ||
957 | + rule, pref_stem, pref_stem | ||
958 | + | _ -> failwith "generate_rule_frequencies" in | ||
959 | + (* printf "%s %s %s\n%!" simple_lemma stem pref_stem; *) | ||
960 | + let rule = {rule with | ||
961 | + find = Xstring.cut_prefix pref_stem form.orth; | ||
962 | + set = Xstring.cut_prefix short_stem simple_lemma} in | ||
963 | + (stem,rule) :: candidates) in | ||
964 | + (* printf "%s %s %d\n%!" simple_lemma form.orth (Xlist.size candidates); *) | ||
965 | + (* let candidates = Rules.CharTrees.find rules form.orth in | ||
880 | let candidates = Xlist.fold candidates [] (fun candidates (stem,rule) -> | 966 | let candidates = Xlist.fold candidates [] (fun candidates (stem,rule) -> |
881 | if stem ^ rule.set = simple_lemma && form.interp = rule.interp then | 967 | if stem ^ rule.set = simple_lemma && form.interp = rule.interp then |
882 | - (stem,rule) :: candidates else candidates) in | ||
883 | - if candidates = [] then freq_rules else Rules.RuleQMap.add freq_rules (snd (List.hd candidates)))) in | 968 | + (stem,rule) :: candidates else candidates) in *) |
969 | + let candidates2 = | ||
970 | + Xlist.fold candidates [] (fun candidates2 (stem,rule) -> | ||
971 | + if rule.star = Star then candidates2 else (stem,rule) :: candidates2) in | ||
972 | + let candidates = if candidates2 = [] then candidates else candidates2 in | ||
973 | + let _,candidates = Xlist.fold candidates (max_int,[]) (fun (min_n,min_l) (stem,rule) -> | ||
974 | + let n = Xstring.size rule.find in | ||
975 | + if n < min_n then n,[stem,rule] else | ||
976 | + if n > min_n then min_n,min_l else | ||
977 | + min_n, (stem,rule) :: min_l) in | ||
978 | + let map = Xlist.fold candidates StringMap.empty (fun map (_,r) -> StringMap.add map (string_of_rule r) r) in | ||
979 | + match StringMap.fold map [] (fun l s r -> (s,Rules.get_tag r.tags "con",Rules.get_tag r.tags "group",Rules.get_tag r.tags "lemma",r) :: l) with | ||
980 | + (* match Rules.RuleSet.to_list (Xlist.fold candidates Rules.RuleSet.empty (fun set (_,r) -> Rules.RuleSet.add set r)) with *) | ||
981 | + [] -> freq_rules | ||
982 | + | [_,_,_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
983 | + | [_,"ʲ",_,_,_;_,"j",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
984 | + | [_,"ʲ",_,_,_;_,"r",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
985 | + | [_,"ʲ",_,_,_;_,"c",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
986 | + | [_,"ʲ",_,_,_;_,"d",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
987 | + | [_,"ʲ",_,_,_;_,"s",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
988 | + | [_,"ʲ",_,_,_;_,"a",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
989 | + | [_,"m′",_,_,_;_,"m",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
990 | + | [_,"b′",_,_,_;_,"b",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
991 | + | [_,"f′",_,_,_;_,"f",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
992 | + | [_,"v′",_,_,_;_,"j",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
993 | + | [_,"z",_,_,_;_,"s",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
994 | + | [_,"c",_,_,_;_,"z",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
995 | + | [_,"p′",_,_,_;_,"p",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
996 | + | [_,"ǯ",_,_,_;_,"ž",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
997 | + | [_,"v′",_,_,_;_,"v",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
998 | + | [_,"g′",_,_,_;_,"g",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
999 | + | [_,"š",_,_,_;_,"x",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
1000 | + | [_,"j",_,_,r;_,"b′",_,_,_] -> Rules.RuleQMap.add freq_rules r | ||
1001 | + | [_,"j",_,_,r;_,"g′",_,_,_] -> Rules.RuleQMap.add freq_rules r | ||
1002 | + | [_,"j",_,_,r;_,"k",_,_,_] -> Rules.RuleQMap.add freq_rules r | ||
1003 | + | [_,"n′",_,_,_;_,"j",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
1004 | + | [_,"ł",_,_,_;_,"v",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
1005 | + | [_,"k′",_,_,_;_,"k",_,_,r] -> Rules.RuleQMap.add freq_rules r | ||
1006 | + | [_,"c",_,_,r;_,"k",_,_,_] -> Rules.RuleQMap.add freq_rules r | ||
1007 | + | [_,_,_,"ε",_;_,_,_,"e",r] -> Rules.RuleQMap.add freq_rules r | ||
1008 | + | [_,_,_,"y",_;_,_,_,"e",r] -> Rules.RuleQMap.add freq_rules r | ||
1009 | + (* | [_;"\t\t\tcat=ndm",r] -> Rules.RuleQMap.add freq_rules r | ||
1010 | + | [_;_;"\t\t\tcat=ndm",r] -> Rules.RuleQMap.add freq_rules r *) | ||
1011 | + | l -> | ||
1012 | + printf "%s %s\n %s\n" form.orth entry.lemma (String.concat "\n " (Xlist.map l (fun (s,_,_,_,_) -> s))); | ||
1013 | + let _,_,_,_,r = List.hd l in | ||
1014 | + Rules.RuleQMap.add freq_rules r)) in | ||
884 | File.file_out rules_filename (fun file -> | 1015 | File.file_out rules_filename (fun file -> |
885 | Rules.RuleQMap.iter freq_rules (fun rule freq -> | 1016 | Rules.RuleQMap.iter freq_rules (fun rule freq -> |
886 | fprintf file "%s\n" (Rules.string_of_freq_rule {rule with freq=freq}))) | 1017 | fprintf file "%s\n" (Rules.string_of_freq_rule {rule with freq=freq}))) |
@@ -892,9 +1023,9 @@ let generate_stem_dict rules_filename path filename out_filename = | @@ -892,9 +1023,9 @@ let generate_stem_dict rules_filename path filename out_filename = | ||
892 | let dict = merge_entries dict in | 1023 | let dict = merge_entries dict in |
893 | let dict = process_interps dict in | 1024 | let dict = process_interps dict in |
894 | let dict = remove_cat "cond" dict in | 1025 | let dict = remove_cat "cond" dict in |
895 | - let dict = fonetic_translation dict in | ||
896 | (* let dict = mark_ndm dict in *) | 1026 | (* let dict = mark_ndm dict in *) |
897 | let stems = Xlist.fold dict StringMap.empty (fun stems entry -> | 1027 | let stems = Xlist.fold dict StringMap.empty (fun stems entry -> |
1028 | + let entry = fonetic_translation_entry entry in | ||
898 | let simple_lemma,lemma_suf = Stem.simplify_lemma_full entry.lemma in | 1029 | let simple_lemma,lemma_suf = Stem.simplify_lemma_full entry.lemma in |
899 | Xlist.fold entry.forms stems (fun stems form -> | 1030 | Xlist.fold entry.forms stems (fun stems form -> |
900 | let candidates = Rules.CharTrees.find rules form.orth in | 1031 | let candidates = Rules.CharTrees.find rules form.orth in |
morphology/fonetics.ml
@@ -4,6 +4,9 @@ open Printf | @@ -4,6 +4,9 @@ open Printf | ||
4 | type status = Idle | Symbols | Rules | RevSymbols | RevRules | 4 | type status = Idle | Symbols | Rules | RevSymbols | RevRules |
5 | type rule = {set: string; find: string; suf: string; lang: string} | 5 | type rule = {set: string; find: string; suf: string; lang: string} |
6 | 6 | ||
7 | +let string_of_phon p = | ||
8 | + Printf.sprintf "%s %s" p.Types.phon (String.concat " " (Xlist.map p.Types.mapping (fun (a,b) -> a ^ "->" ^ b))) | ||
9 | + | ||
7 | module CharTree = struct | 10 | module CharTree = struct |
8 | 11 | ||
9 | type t = M of t CharMap.t * rule list | 12 | type t = M of t CharMap.t * rule list |
@@ -64,14 +67,18 @@ let prepare_rules symbol_defs rules = | @@ -64,14 +67,18 @@ let prepare_rules symbol_defs rules = | ||
64 | {r with suf=String.concat "" l}))) in | 67 | {r with suf=String.concat "" l}))) in |
65 | CharTree.create rules | 68 | CharTree.create rules |
66 | 69 | ||
67 | -let rules, rev_rules = | ||
68 | - (* let symbol_defs,rev_symbol_defs,rules,rev_rules = load_rules "data/fonetics_acro.dic" in *) | ||
69 | - let symbol_defs,rev_symbol_defs,rules,rev_rules = load_rules "data/fonetics_pl.dic" in | ||
70 | - (* let symbol_defs,rev_symbol_defs,rules,rev_rules = load_rules "data/fonetics_en.dic" in *) | ||
71 | - (* let symbol_defs,rev_symbol_defs,rules,rev_rules = load_rules "data/fonetics_fr.dic" in *) | ||
72 | - (* let symbol_defs,rev_symbol_defs,rules,rev_rules = load_rules "data/fonetics_de.dic" in *) | 70 | +let select_rules lang rules = |
71 | + Xlist.fold rules [] (fun rules r -> | ||
72 | + if r.lang = lang then r :: rules else rules) | ||
73 | + | ||
74 | +let rules, rev_rules, core_rules, core_rev_rules = | ||
75 | + let symbol_defs,rev_symbol_defs,rules,rev_rules = load_rules "data/fonetics.dic" in | ||
76 | + let core_rules = select_rules "core" rules in | ||
77 | + let core_rev_rules = select_rules "core" rev_rules in | ||
73 | prepare_rules symbol_defs rules, | 78 | prepare_rules symbol_defs rules, |
74 | - prepare_rules rev_symbol_defs rev_rules | 79 | + prepare_rules rev_symbol_defs rev_rules, |
80 | + prepare_rules symbol_defs core_rules, | ||
81 | + prepare_rules rev_symbol_defs core_rev_rules | ||
75 | 82 | ||
76 | let sufs = ["ω"; "iκ"; "ρ"; "δ"; "λ"; "i"(*; "zi"*)] | 83 | let sufs = ["ω"; "iκ"; "ρ"; "δ"; "λ"; "i"(*; "zi"*)] |
77 | 84 | ||
@@ -132,22 +139,22 @@ let rec translate_rec closure found found_maping rules s = | @@ -132,22 +139,22 @@ let rec translate_rec closure found found_maping rules s = | ||
132 | let l = if l = [] && closure then | 139 | let l = if l = [] && closure then |
133 | let c,s = Xunicode.first_utf8_char_of_utf8_string s in | 140 | let c,s = Xunicode.first_utf8_char_of_utf8_string s in |
134 | [s,{find=c; set=c; suf=""; lang=""}] else l in | 141 | [s,{find=c; set=c; suf=""; lang=""}] else l in |
135 | - (* let n = String.length s in | ||
136 | - let c = String.sub s 0 1 in | ||
137 | - [String.sub s 1 (n-1),{find=c; set=c; suf=""}] else l in *) | ||
138 | List.flatten (Xlist.rev_map l (fun (t,r) -> | 142 | List.flatten (Xlist.rev_map l (fun (t,r) -> |
139 | translate_rec closure (r.set :: found) ((r.find,r.set) :: found_maping) rules (r.suf ^ t))) | 143 | translate_rec closure (r.set :: found) ((r.find,r.set) :: found_maping) rules (r.suf ^ t))) |
140 | 144 | ||
141 | let translate closure rules s = | 145 | let translate closure rules s = |
142 | (* printf "translate 1: %s\n%!" s; *) | 146 | (* printf "translate 1: %s\n%!" s; *) |
143 | let ll = translate_rec closure [] [] rules (s ^ "ε") in | 147 | let ll = translate_rec closure [] [] rules (s ^ "ε") in |
144 | - Xlist.rev_map ll (fun (phon,mapping) -> {Types.phon=String.concat "" phon; Types.mapping=[](*mapping*)}) | ||
145 | -(* let s = String.concat "" l in | ||
146 | - (* printf "translate 2: %s\n%!" s; *) | ||
147 | - s*) | 148 | + Xlist.rev_map ll (fun (phon,mapping) -> {Types.phon=String.concat "" phon; Types.mapping=mapping}) |
148 | 149 | ||
149 | -let string_of_phon p = | ||
150 | - Printf.sprintf "%s %s" p.Types.phon (String.concat " " (Xlist.map p.Types.mapping (fun (a,b) -> a ^ "->" ^ b))) | 150 | +exception NotFound of string * string |
151 | +exception NotEqual of string * string * string | ||
152 | +exception MulipleSolutions of string * string * string list | ||
153 | + | ||
154 | +let translate_simple closure rules s = | ||
155 | + let ll = translate_rec closure [] [] rules (s ^ "ε") in | ||
156 | + if ll = [] then raise (NotFound(s,"")) else | ||
157 | + Xlist.rev_map ll (fun (phon,mapping) -> String.concat "" phon) | ||
151 | 158 | ||
152 | let print_phon p = print_endline (string_of_phon p) | 159 | let print_phon p = print_endline (string_of_phon p) |
153 | 160 | ||
@@ -161,22 +168,18 @@ let _ = Xlist.iter (translate true rules "łódź") print_phon | @@ -161,22 +168,18 @@ let _ = Xlist.iter (translate true rules "łódź") print_phon | ||
161 | let _ = Xlist.iter (translate true rules "Łódź") print_phon *) | 168 | let _ = Xlist.iter (translate true rules "Łódź") print_phon *) |
162 | (* let _ = translate true rules "izolował" *) | 169 | (* let _ = translate true rules "izolował" *) |
163 | 170 | ||
164 | -exception NotFound of string * string | ||
165 | -exception NotEqual of string * string * string | ||
166 | -exception MulipleSolutions of string * string * string list | ||
167 | - | ||
168 | -let translate_and_check closure rules rev_rules x = | ||
169 | - let l = translate closure rules x in | 171 | +let translate_and_check closure rules rev_rules orth = |
172 | + let l = translate closure rules orth in | ||
170 | Xlist.iter l (fun s -> | 173 | Xlist.iter l (fun s -> |
171 | let y = translate closure rev_rules s.Types.phon in | 174 | let y = translate closure rev_rules s.Types.phon in |
172 | let y = Xlist.map y (fun s -> s.Types.phon) in | 175 | let y = Xlist.map y (fun s -> s.Types.phon) in |
173 | match StringSet.to_list (StringSet.of_list y) with | 176 | match StringSet.to_list (StringSet.of_list y) with |
174 | - [] -> raise (NotFound(x,s.Types.phon)) | ||
175 | - | [t] -> if t <> x then raise (NotEqual(x,s.Types.phon,t)) | ||
176 | - | l -> raise (MulipleSolutions(x,s.Types.phon,l))); | ||
177 | - l | 177 | + [] -> raise (NotFound(orth,s.Types.phon)) |
178 | + | [t] -> if t <> orth then raise (NotEqual(orth,s.Types.phon,t)) | ||
179 | + | l -> raise (MulipleSolutions(orth,s.Types.phon,l))) | ||
180 | + | ||
178 | 181 | ||
179 | -let translate_single closure rules x = | 182 | +(*let translate_single closure rules x = |
180 | let y = translate closure rev_rules x in | 183 | let y = translate closure rev_rules x in |
181 | let y = Xlist.map y (fun s -> s.Types.phon) in | 184 | let y = Xlist.map y (fun s -> s.Types.phon) in |
182 | match StringSet.to_list (StringSet.of_list y) with | 185 | match StringSet.to_list (StringSet.of_list y) with |
@@ -196,11 +199,17 @@ let rec rev_translate_rec x s = function | @@ -196,11 +199,17 @@ let rec rev_translate_rec x s = function | ||
196 | let rev_translate closure rev_rules s m = | 199 | let rev_translate closure rev_rules s m = |
197 | let x,s,_ = rev_translate_rec "" s m in | 200 | let x,s,_ = rev_translate_rec "" s m in |
198 | if s = "" then x else | 201 | if s = "" then x else |
199 | - x ^ (translate_single closure rev_rules s) | 202 | + x ^ (translate_single closure rev_rules s)*) |
200 | 203 | ||
201 | -let rev_translate2 closure rev_rules s m = | 204 | +(*let rev_translate2 closure rev_rules s m = |
202 | let x,s,_ = rev_translate_rec "" s m in | 205 | let x,s,_ = rev_translate_rec "" s m in |
203 | if s = "" then [x] else | 206 | if s = "" then [x] else |
204 | let l = translate closure rev_rules s in | 207 | let l = translate closure rev_rules s in |
205 | if l = [] then raise (NotFound(s,"")) else | 208 | if l = [] then raise (NotFound(s,"")) else |
206 | - Xlist.rev_map l (fun y -> x ^ y.Types.phon) | 209 | + Xlist.rev_map l (fun y -> x ^ y.Types.phon)*) |
210 | + | ||
211 | +let rec get_short_stem x s = function | ||
212 | + [] -> if s = "" then x else failwith "get_short_stem" | ||
213 | + | (a,b) :: m -> | ||
214 | + if Xstring.check_prefix b s then get_short_stem (x^a) (Xstring.cut_prefix b s) m | ||
215 | + else x |
morphology/generate.ml
@@ -156,6 +156,7 @@ let _ = | @@ -156,6 +156,7 @@ let _ = | ||
156 | (* test_process_interps results_path adj_sgjp_filename; *) | 156 | (* test_process_interps results_path adj_sgjp_filename; *) |
157 | (* test_process_interps results_path verb_sgjp_filename; *) | 157 | (* test_process_interps results_path verb_sgjp_filename; *) |
158 | (* test_process_interps results_path noun_sgjp_filename; *) | 158 | (* test_process_interps results_path noun_sgjp_filename; *) |
159 | + (* test_process_interps results_path "interp_not_validated_lang_all.tab"; *) | ||
159 | () | 160 | () |
160 | 161 | ||
161 | 162 | ||
@@ -180,9 +181,15 @@ let _ = | @@ -180,9 +181,15 @@ let _ = | ||
180 | 181 | ||
181 | let test_fonetics path filename = | 182 | let test_fonetics path filename = |
182 | let dict = Dict.load_tab_full (path ^ filename) in | 183 | let dict = Dict.load_tab_full (path ^ filename) in |
183 | - let dict = Dict.remove_exceptional_lemmata_gen obce dict in | ||
184 | - let _ = Dict.fonetic_translation dict in | ||
185 | - () | 184 | + (* let dict = Dict.remove_exceptional_lemmata_gen obce dict in *) |
185 | + Xlist.iter dict (fun e -> | ||
186 | + Xlist.iter e.forms (fun f -> | ||
187 | + try | ||
188 | + Fonetics.translate_and_check true Fonetics.core_rules Fonetics.core_rev_rules f.orth | ||
189 | + with | ||
190 | + Fonetics.NotFound(orth,phon) -> printf "NF lemma=%s orth=%s phon=%s\n%!" e.lemma orth phon | ||
191 | + | Fonetics.NotEqual(orth,phon,t) -> printf "NE lemma=%s orth=%s phon=%s: %s\n%!" e.lemma orth phon t | ||
192 | + | Fonetics.MulipleSolutions(orth,phon,l) -> printf "MS lemma=%s orth=%s phon=%s: %s\n%!" e.lemma orth phon (String.concat " " l))) | ||
186 | 193 | ||
187 | (* Test translacji fonetycznej *) | 194 | (* Test translacji fonetycznej *) |
188 | let _ = | 195 | let _ = |
@@ -215,7 +222,6 @@ let check_stem_generation path filename = | @@ -215,7 +222,6 @@ let check_stem_generation path filename = | ||
215 | (* let dict = Dict.mark_ndm dict in *) | 222 | (* let dict = Dict.mark_ndm dict in *) |
216 | let dict = Dict.remove_exceptional_lemmata dict in | 223 | let dict = Dict.remove_exceptional_lemmata dict in |
217 | let dict = Dict.find_kolwiek_suffixes dict in | 224 | let dict = Dict.find_kolwiek_suffixes dict in |
218 | - (* let dict = Dict.fonetic_translation dict in *) | ||
219 | let _ = Dict.generate_stem dict in | 225 | let _ = Dict.generate_stem dict in |
220 | () | 226 | () |
221 | 227 | ||
@@ -239,7 +245,7 @@ let interp_compound_rule_trees = Rules.make_interp_compound_rule_trees compound_ | @@ -239,7 +245,7 @@ let interp_compound_rule_trees = Rules.make_interp_compound_rule_trees compound_ | ||
239 | 245 | ||
240 | let find_not_validated_forms rules path filename out_filename = | 246 | let find_not_validated_forms rules path filename out_filename = |
241 | let dict = Dict.load_tab (path ^ filename) in | 247 | let dict = Dict.load_tab (path ^ filename) in |
242 | - let dict = Dict.fonetic_translation dict in | 248 | + let dict = Dict.assign_entry_cat dict in |
243 | let dict = Dict.phon_validate rules dict in | 249 | let dict = Dict.phon_validate rules dict in |
244 | let dict = Dict.remove_validated_forms dict in | 250 | let dict = Dict.remove_validated_forms dict in |
245 | Dict.print out_filename dict | 251 | Dict.print out_filename dict |
@@ -250,8 +256,7 @@ let find_not_validated_entries rules path filename out_filename = | @@ -250,8 +256,7 @@ let find_not_validated_entries rules path filename out_filename = | ||
250 | let dict = Dict.process_interps dict in | 256 | let dict = Dict.process_interps dict in |
251 | (* let dict = Dict.mark_ndm dict in | 257 | (* let dict = Dict.mark_ndm dict in |
252 | let dict = Dict.remove_ndm dict in *) | 258 | let dict = Dict.remove_ndm dict in *) |
253 | - let dict = Dict.remove_exceptional_lemmata dict in | ||
254 | - let dict = Dict.fonetic_translation dict in | 259 | + (* let dict = Dict.remove_exceptional_lemmata dict in *) |
255 | let dict = Dict.phon_validate rules dict in | 260 | let dict = Dict.phon_validate rules dict in |
256 | let dict = Dict.remove_validated_entries dict in | 261 | let dict = Dict.remove_validated_entries dict in |
257 | Dict.print out_filename dict | 262 | Dict.print out_filename dict |
@@ -281,6 +286,10 @@ let _ = | @@ -281,6 +286,10 @@ let _ = | ||
281 | (* find_not_validated_forms compound_rule_trees results_path "lang_acro_sgjp-20170730.tab" "results/lang_acro.tab"; *) | 286 | (* find_not_validated_forms compound_rule_trees results_path "lang_acro_sgjp-20170730.tab" "results/lang_acro.tab"; *) |
282 | (* find_not_validated_forms compound_rule_trees results_path "lang_la_sgjp-20170730.tab" "results/lang_la.tab"; *) | 287 | (* find_not_validated_forms compound_rule_trees results_path "lang_la_sgjp-20170730.tab" "results/lang_la.tab"; *) |
283 | (* find_not_validated_forms compound_rule_trees results_path "lang_es_sgjp-20170730.tab" "results/lang_es.tab"; *) | 288 | (* find_not_validated_forms compound_rule_trees results_path "lang_es_sgjp-20170730.tab" "results/lang_es.tab"; *) |
289 | + (* find_not_validated_forms compound_rule_trees results_path "lang_all_sgjp-20170730.tab" "results/lang_all.tab"; *) | ||
290 | + (* find_not_validated_entries compound_rule_trees results_path "lang_all_sgjp-20170730.tab" "results/lang_all.tab"; *) | ||
291 | + (* find_not_validated_entries compound_rule_trees results_path noun_polimorf_filename "results/not_validated_p_noun.tab"; *) | ||
292 | + (* find_not_validated_forms compound_rule_trees results_path "not_validated_p_noun.tab" "results/not_validated_p_noun2.tab"; *) | ||
284 | () | 293 | () |
285 | 294 | ||
286 | let find_not_validated_lemmata rules path filename out_filename = | 295 | let find_not_validated_lemmata rules path filename out_filename = |
@@ -288,7 +297,6 @@ let find_not_validated_lemmata rules path filename out_filename = | @@ -288,7 +297,6 @@ let find_not_validated_lemmata rules path filename out_filename = | ||
288 | let dict = Dict.merge_entries dict in | 297 | let dict = Dict.merge_entries dict in |
289 | let dict = Dict.process_interps dict in | 298 | let dict = Dict.process_interps dict in |
290 | let dict = Dict.remove_exceptional_lemmata dict in | 299 | let dict = Dict.remove_exceptional_lemmata dict in |
291 | - let dict = Dict.fonetic_translation dict in | ||
292 | let dict = Dict.phon_validate rules dict in | 300 | let dict = Dict.phon_validate rules dict in |
293 | let dict = Dict.remove_validated_entries dict in | 301 | let dict = Dict.remove_validated_entries dict in |
294 | Dict.print_lemmata out_filename dict | 302 | Dict.print_lemmata out_filename dict |
@@ -304,7 +312,6 @@ let find_validated_lemmata rules path filename out_filename = | @@ -304,7 +312,6 @@ let find_validated_lemmata rules path filename out_filename = | ||
304 | let dict = Dict.load_tab (path ^ filename) in | 312 | let dict = Dict.load_tab (path ^ filename) in |
305 | let dict = Dict.merge_entries dict in | 313 | let dict = Dict.merge_entries dict in |
306 | let dict = Dict.process_interps dict in | 314 | let dict = Dict.process_interps dict in |
307 | - let dict = Dict.fonetic_translation dict in | ||
308 | let dict = Dict.phon_validate rules dict in | 315 | let dict = Dict.phon_validate rules dict in |
309 | let dict = Dict.remove_not_validated_entries dict in | 316 | let dict = Dict.remove_not_validated_entries dict in |
310 | Dict.print_lemmata out_filename dict | 317 | Dict.print_lemmata out_filename dict |
@@ -319,11 +326,11 @@ let _ = | @@ -319,11 +326,11 @@ let _ = | ||
319 | let test_lemmatize lemma orth = | 326 | let test_lemmatize lemma orth = |
320 | printf "test_lemmatize: %s %s\n%!" lemma orth; | 327 | printf "test_lemmatize: %s %s\n%!" lemma orth; |
321 | let simple_lemma = Stem.simplify_lemma lemma in | 328 | let simple_lemma = Stem.simplify_lemma lemma in |
322 | - let phon_orths = Fonetics.translate(*_and_check*) true Fonetics.rules (*Fonetics.rev_rules*) orth in | 329 | + let phon_orths = Fonetics.translate true Fonetics.core_rules orth in |
323 | printf "phon_orths: \n %s\n%!" (String.concat "\n " (Xlist.map phon_orths Fonetics.string_of_phon)); | 330 | printf "phon_orths: \n %s\n%!" (String.concat "\n " (Xlist.map phon_orths Fonetics.string_of_phon)); |
324 | Xlist.iter phon_orths (fun phon_orth -> | 331 | Xlist.iter phon_orths (fun phon_orth -> |
325 | Xlist.iter (Rules.CharTrees.find compound_rule_trees phon_orth.phon) (fun (stem,rule) -> | 332 | Xlist.iter (Rules.CharTrees.find compound_rule_trees phon_orth.phon) (fun (stem,rule) -> |
326 | - let candidate_lemmas = Fonetics.rev_translate2 true Fonetics.rev_rules (stem ^ rule.set) (phon_orth.mapping) in | 333 | + let candidate_lemmas = Fonetics.translate_simple true Fonetics.core_rev_rules (stem ^ rule.set) in |
327 | Xlist.iter candidate_lemmas (fun candidate_lemma -> | 334 | Xlist.iter candidate_lemmas (fun candidate_lemma -> |
328 | if candidate_lemma = simple_lemma then printf "E" else printf " "; | 335 | if candidate_lemma = simple_lemma then printf "E" else printf " "; |
329 | printf " %s %s %s %s\n%!" phon_orth.phon stem (string_of_rule rule) candidate_lemma))) | 336 | printf " %s %s %s %s\n%!" phon_orth.phon stem (string_of_rule rule) candidate_lemma))) |
@@ -430,6 +437,20 @@ let _ = | @@ -430,6 +437,20 @@ let _ = | ||
430 | (* test_lemmatize "Lefebvre" "Lefebvre’a"; *) | 437 | (* test_lemmatize "Lefebvre" "Lefebvre’a"; *) |
431 | (* test_lemmatize "Kayah" "Kayom"; *) | 438 | (* test_lemmatize "Kayah" "Kayom"; *) |
432 | (* test_lemmatize "Dixa" "Diksie"; *) | 439 | (* test_lemmatize "Dixa" "Diksie"; *) |
440 | + (* test_lemmatize "White" "Whicie"; | ||
441 | + test_lemmatize "Voit" "Voicie"; | ||
442 | + test_lemmatize "Violeta" "Violecie"; | ||
443 | + test_lemmatize "veto" "vecie"; *) | ||
444 | + (* test_lemmatize "Andrássy" "Andrássyowie"; *) | ||
445 | + (* test_lemmatize "Cezanne" "Cezanne’ami"; | ||
446 | + test_lemmatize "Connery" "Connery’ego"; *) | ||
447 | + (* test_lemmatize "Barrés" "Barrés’go"; *) | ||
448 | + (* test_lemmatize "IKEA" "IKE-i"; *) | ||
449 | + (* test_lemmatize "mix" "miksowi"; | ||
450 | + test_lemmatize "Laxa" "Laksie"; *) | ||
451 | + (* test_lemmatize "münsterski" "münstersku"; *) | ||
452 | + (* test_lemmatize "würzburski" "würzburskiemu"; *) | ||
453 | + (* test_lemmatize "polje" "poljom"; *) | ||
433 | (* test_lemmatize "" ""; | 454 | (* test_lemmatize "" ""; |
434 | test_lemmatize "" ""; | 455 | test_lemmatize "" ""; |
435 | test_lemmatize "" ""; *) | 456 | test_lemmatize "" ""; *) |
@@ -461,8 +482,7 @@ let find_interp_validated_lemmata interp_rules path filename out_filename = | @@ -461,8 +482,7 @@ let find_interp_validated_lemmata interp_rules path filename out_filename = | ||
461 | (* let dict = Dict.remove_exceptional_lemmata dict in *) | 482 | (* let dict = Dict.remove_exceptional_lemmata dict in *) |
462 | (* let dict = find_kolwiek_suffixes dict in *) | 483 | (* let dict = find_kolwiek_suffixes dict in *) |
463 | (* let dict = generate_stem dict in *) | 484 | (* let dict = generate_stem dict in *) |
464 | - let dict = Dict.fonetic_translation dict in | ||
465 | - let dict = Dict.validate_interp interp_rules dict in | 485 | + let dict = Dict.phon_validate_interp interp_rules dict in |
466 | let dict = Dict.remove_not_validated_entries dict in | 486 | let dict = Dict.remove_not_validated_entries dict in |
467 | Dict.print_lemmata out_filename dict | 487 | Dict.print_lemmata out_filename dict |
468 | 488 | ||
@@ -474,8 +494,7 @@ let find_not_interp_validated_lemmata interp_rules path filename out_filename = | @@ -474,8 +494,7 @@ let find_not_interp_validated_lemmata interp_rules path filename out_filename = | ||
474 | (* let dict = Dict.remove_exceptional_lemmata dict in *) | 494 | (* let dict = Dict.remove_exceptional_lemmata dict in *) |
475 | (* let dict = find_kolwiek_suffixes dict in *) | 495 | (* let dict = find_kolwiek_suffixes dict in *) |
476 | (* let dict = generate_stem dict in *) | 496 | (* let dict = generate_stem dict in *) |
477 | - let dict = Dict.fonetic_translation dict in | ||
478 | - let dict = Dict.validate_interp interp_rules dict in | 497 | + let dict = Dict.phon_validate_interp interp_rules dict in |
479 | let dict = Dict.remove_validated_entries dict in | 498 | let dict = Dict.remove_validated_entries dict in |
480 | Dict.print_lemmata out_filename dict | 499 | Dict.print_lemmata out_filename dict |
481 | 500 | ||
@@ -485,8 +504,7 @@ let find_not_interp_validated_entries interp_rules path filename out_filename = | @@ -485,8 +504,7 @@ let find_not_interp_validated_entries interp_rules path filename out_filename = | ||
485 | let dict = Dict.process_interps dict in | 504 | let dict = Dict.process_interps dict in |
486 | (* let dict = Dict.mark_ndm dict in | 505 | (* let dict = Dict.mark_ndm dict in |
487 | let dict = Dict.remove_ndm dict in *) | 506 | let dict = Dict.remove_ndm dict in *) |
488 | - let dict = Dict.fonetic_translation dict in | ||
489 | - let dict = Dict.validate_interp interp_rules dict in | 507 | + let dict = Dict.phon_validate_interp interp_rules dict in |
490 | let dict = Dict.remove_validated_entries dict in | 508 | let dict = Dict.remove_validated_entries dict in |
491 | Dict.print out_filename dict | 509 | Dict.print out_filename dict |
492 | 510 | ||
@@ -494,8 +512,8 @@ let find_not_interp_validated_forms interp_rules path filename out_filename = | @@ -494,8 +512,8 @@ let find_not_interp_validated_forms interp_rules path filename out_filename = | ||
494 | let dict = Dict.load_tab (path ^ filename) in | 512 | let dict = Dict.load_tab (path ^ filename) in |
495 | let dict = Dict.merge_entries dict in | 513 | let dict = Dict.merge_entries dict in |
496 | let dict = Dict.process_interps dict in | 514 | let dict = Dict.process_interps dict in |
497 | - let dict = Dict.fonetic_translation dict in | ||
498 | - let dict = Dict.validate_interp interp_rules dict in | 515 | + let dict = Dict.remove_exceptional_lemmata dict in |
516 | + let dict = Dict.phon_validate_interp interp_rules dict in | ||
499 | let dict = Dict.remove_validated_forms dict in | 517 | let dict = Dict.remove_validated_forms dict in |
500 | Dict.print out_filename dict | 518 | Dict.print out_filename dict |
501 | 519 | ||
@@ -506,8 +524,8 @@ let _ = | @@ -506,8 +524,8 @@ let _ = | ||
506 | find_interp_validated_lemmata interp_compound_rule_trees results_path adj_sgjp_filename "results/interp_validated_adj.tab"; | 524 | find_interp_validated_lemmata interp_compound_rule_trees results_path adj_sgjp_filename "results/interp_validated_adj.tab"; |
507 | find_not_interp_validated_lemmata interp_compound_rule_trees results_path adj_sgjp_filename "results/interp_not_validated_adj.tab"; | 525 | find_not_interp_validated_lemmata interp_compound_rule_trees results_path adj_sgjp_filename "results/interp_not_validated_adj.tab"; |
508 | find_interp_validated_lemmata interp_compound_rule_trees results_path adv_sgjp_filename "results/interp_validated_adv.tab"; | 526 | find_interp_validated_lemmata interp_compound_rule_trees results_path adv_sgjp_filename "results/interp_validated_adv.tab"; |
509 | - find_not_interp_validated_lemmata interp_compound_rule_trees results_path adv_sgjp_filename "results/interp_not_validated_adv.tab"; *) | ||
510 | - (* find_interp_validated_lemmata interp_compound_rule_trees results_path verb_sgjp_filename "results/interp_validated_verb.tab"; | 527 | + find_not_interp_validated_lemmata interp_compound_rule_trees results_path adv_sgjp_filename "results/interp_not_validated_adv.tab"; |
528 | + find_interp_validated_lemmata interp_compound_rule_trees results_path verb_sgjp_filename "results/interp_validated_verb.tab"; | ||
511 | find_not_interp_validated_lemmata interp_compound_rule_trees results_path verb_sgjp_filename "results/interp_not_validated_verb.tab"; | 529 | find_not_interp_validated_lemmata interp_compound_rule_trees results_path verb_sgjp_filename "results/interp_not_validated_verb.tab"; |
512 | find_interp_validated_lemmata interp_compound_rule_trees results_path "verb_sgjp_no_pref.tab" "results/interp_validated_no_pref_verb.tab"; | 530 | find_interp_validated_lemmata interp_compound_rule_trees results_path "verb_sgjp_no_pref.tab" "results/interp_validated_no_pref_verb.tab"; |
513 | find_not_interp_validated_lemmata interp_compound_rule_trees results_path "verb_sgjp_no_pref.tab" "results/interp_not_validated_no_pref_verb.tab"; *) | 531 | find_not_interp_validated_lemmata interp_compound_rule_trees results_path "verb_sgjp_no_pref.tab" "results/interp_not_validated_no_pref_verb.tab"; *) |
@@ -519,19 +537,18 @@ let _ = | @@ -519,19 +537,18 @@ let _ = | ||
519 | (* find_not_interp_validated_forms interp_compound_rule_trees results_path "lang_fr_sgjp-20170730.tab" "results/lang_fr.tab"; *) | 537 | (* find_not_interp_validated_forms interp_compound_rule_trees results_path "lang_fr_sgjp-20170730.tab" "results/lang_fr.tab"; *) |
520 | (* find_not_interp_validated_forms interp_compound_rule_trees results_path "lang_de_sgjp-20170730.tab" "results/lang_de.tab"; *) | 538 | (* find_not_interp_validated_forms interp_compound_rule_trees results_path "lang_de_sgjp-20170730.tab" "results/lang_de.tab"; *) |
521 | (* find_not_interp_validated_forms interp_compound_rule_trees results_path "lang_acro_sgjp-20170730.tab" "results/lang_acro.tab"; *) | 539 | (* find_not_interp_validated_forms interp_compound_rule_trees results_path "lang_acro_sgjp-20170730.tab" "results/lang_acro.tab"; *) |
540 | + (* find_not_interp_validated_forms interp_compound_rule_trees results_path "lang_all_sgjp-20170730.tab" "results/lang_all.tab"; *) | ||
541 | + (* find_not_interp_validated_entries interp_compound_rule_trees results_path "lang_all_sgjp-20170730.tab" "results/interp_not_validated_lang_all.tab"; *) | ||
522 | () | 542 | () |
523 | 543 | ||
524 | let test_interp_lemmatize lemma orth = | 544 | let test_interp_lemmatize lemma orth = |
525 | printf "test_interp_lemmatize: %s %s\n%!" lemma orth; | 545 | printf "test_interp_lemmatize: %s %s\n%!" lemma orth; |
526 | - let simple_lemma = Stem.simplify_lemma lemma in | ||
527 | - let phon_orths = Fonetics.translate(*_and_check*) true Fonetics.rules (*Fonetics.rev_rules*) orth in | ||
528 | - printf "phon_orths: \n %s\n%!" (String.concat "\n " (Xlist.map phon_orths Fonetics.string_of_phon)); | ||
529 | - Xlist.iter phon_orths (fun phon_orth -> | ||
530 | - Xlist.iter (Rules.CharTrees.find interp_compound_rule_trees phon_orth.phon) (fun (stem,rule) -> | ||
531 | - let candidate_lemmas = Fonetics.rev_translate2 true Fonetics.rev_rules (stem ^ rule.set) (phon_orth.mapping) in | ||
532 | - Xlist.iter candidate_lemmas (fun candidate_lemma -> | ||
533 | - if candidate_lemma = simple_lemma then (*printf "E" else printf " ";*) | ||
534 | - printf " %s %s %s %s %s\n%!" phon_orth.phon stem (string_of_rule rule) candidate_lemma rule.interp))) | 546 | + let entry = {empty_entry with lemma=lemma; cat="noun"; forms=[{empty_form with orth=orth}]} in |
547 | + let entry = Dict.create_candidates false interp_compound_rule_trees entry in | ||
548 | + Xlist.iter entry.forms (fun f -> | ||
549 | + printf "phon_orths: \n %s\n%!" (String.concat "\n " (Xlist.map f.phon_orth Fonetics.string_of_phon)); | ||
550 | + Xlist.iter f.candidates (fun (stem,rule,s) -> | ||
551 | + printf "%s %s %s %s\n%!" s.phon stem (string_of_rule rule) rule.interp)) | ||
535 | 552 | ||
536 | let _ = | 553 | let _ = |
537 | (* test_interp_lemmatize "Benveniste" "Benveniście"; *) | 554 | (* test_interp_lemmatize "Benveniste" "Benveniście"; *) |
@@ -539,6 +556,19 @@ let _ = | @@ -539,6 +556,19 @@ let _ = | ||
539 | (* test_interp_lemmatize "Depardieu" "Depardieuch"; *) | 556 | (* test_interp_lemmatize "Depardieu" "Depardieuch"; *) |
540 | (* test_interp_lemmatize "Braille" "Braille’u"; *) | 557 | (* test_interp_lemmatize "Braille" "Braille’u"; *) |
541 | (* test_interp_lemmatize "FAMA" "FAMA"; *) | 558 | (* test_interp_lemmatize "FAMA" "FAMA"; *) |
559 | + (* test_interp_lemmatize "lichy" "lichego"; *) | ||
560 | + (* test_interp_lemmatize "niekaraluszy" "niekaraluszych"; *) | ||
561 | + (* test_interp_lemmatize "ninja" "ninjami"; *) | ||
562 | + (* test_interp_lemmatize "ninja" "ninji"; *) | ||
563 | + (* test_interp_lemmatize "mix" "miksowi"; *) | ||
564 | + (* test_interp_lemmatize "münsterski" "münstersku"; *) | ||
565 | + (* test_interp_lemmatize "Trubieckoj" "Trubieckich"; *) | ||
566 | + (* test_interp_lemmatize "Balazs" "Balazsu"; *) | ||
567 | + (* test_interp_lemmatize "Blake" "Blakiem"; | ||
568 | + test_interp_lemmatize "Bogorodckij" "Bogorodckiego"; | ||
569 | + test_interp_lemmatize "BUW" "BUW-ie"; | ||
570 | + test_interp_lemmatize "Bush" "Bushe"; *) | ||
571 | + (* test_interp_lemmatize "ensemble" "ensemblowi"; *) | ||
542 | (*test_interp_lemmatize "" ""; | 572 | (*test_interp_lemmatize "" ""; |
543 | test_interp_lemmatize "" ""; | 573 | test_interp_lemmatize "" ""; |
544 | test_interp_lemmatize "" "";*) | 574 | test_interp_lemmatize "" "";*) |
@@ -569,7 +599,11 @@ let _ = | @@ -569,7 +599,11 @@ let _ = | ||
569 | (* Generowanie złożonych reguł zaopatrzonych we frekwencje *) | 599 | (* Generowanie złożonych reguł zaopatrzonych we frekwencje *) |
570 | let _ = | 600 | let _ = |
571 | (* Dict.generate_rule_frequencies interp_compound_rule_trees results_path adj_sgjp_filename "results/freq_rules-adj.tab"; *) | 601 | (* Dict.generate_rule_frequencies interp_compound_rule_trees results_path adj_sgjp_filename "results/freq_rules-adj.tab"; *) |
602 | + (* Dict.generate_rule_frequencies interp_compound_rule_trees results_path "verb_sgjp_no_pref.tab" "results/freq_rules-verb.tab"; *) | ||
603 | + (* Dict.generate_rule_frequencies interp_compound_rule_trees results_path verb_sgjp_filename "results/freq_rules-verb.tab"; *) | ||
604 | + (* Dict.generate_rule_frequencies interp_compound_rule_trees results_path "lang_all_sgjp-20170730.tab" "results/freq_rules-lang.tab"; *) | ||
572 | (* Dict.generate_rule_frequencies interp_compound_rule_trees sgjp_path sgjp_filename "results/freq_rules.tab"; *) | 605 | (* Dict.generate_rule_frequencies interp_compound_rule_trees sgjp_path sgjp_filename "results/freq_rules.tab"; *) |
606 | + (* ignore (Sys.command "totem ~/Dokumenty/Inne/gong/gong_05m_00s.ogg"); *) | ||
573 | () | 607 | () |
574 | 608 | ||
575 | let generate_alt rules_filename path filename out_filename = | 609 | let generate_alt rules_filename path filename out_filename = |
@@ -588,6 +622,7 @@ let generate_alt rules_filename path filename out_filename = | @@ -588,6 +622,7 @@ let generate_alt rules_filename path filename out_filename = | ||
588 | let _ = | 622 | let _ = |
589 | (* generate_alt "results/freq_rules-adj.tab" results_path adj_sgjp_filename "results/alt-adj.tab"; *) | 623 | (* generate_alt "results/freq_rules-adj.tab" results_path adj_sgjp_filename "results/alt-adj.tab"; *) |
590 | (* generate_alt "results/freq_rules.tab" sgjp_path sgjp_filename "results/alt.tab"; *) | 624 | (* generate_alt "results/freq_rules.tab" sgjp_path sgjp_filename "results/alt.tab"; *) |
625 | + (* generate_alt "results/freq_rules-lang.tab" results_path "lang_all_sgjp-20170730.tab" "results/alt-lang.tab"; *) | ||
591 | () | 626 | () |
592 | 627 | ||
593 | (* Generowanie stemów z regułami *) | 628 | (* Generowanie stemów z regułami *) |
morphology/ruleGenerator.ml
@@ -306,9 +306,9 @@ let calculate_person_value = function | @@ -306,9 +306,9 @@ let calculate_person_value = function | ||
306 | 306 | ||
307 | let calculate_rule_value tags interp = | 307 | let calculate_rule_value tags interp = |
308 | if interp = "" then failwith "calculate_rule_value: empty interp" else | 308 | if interp = "" then failwith "calculate_rule_value: empty interp" else |
309 | - let cat = try Xlist.assoc tags "cat" with Not_found -> "" in | ||
310 | - let lemma = try Xlist.assoc tags "lemma" with Not_found -> "" in | ||
311 | - let group = try Xlist.assoc tags "group" with Not_found -> "" in | 309 | + let cat = Rules.get_tag tags "cat" in |
310 | + let lemma = Rules.get_tag tags "lemma" in | ||
311 | + let group = Rules.get_tag tags "group" in | ||
312 | if cat = "noun" || cat = "adj" then | 312 | if cat = "noun" || cat = "adj" then |
313 | let lemma_val = match lemma with | 313 | let lemma_val = match lemma with |
314 | "a" -> 20 | 314 | "a" -> 20 |
@@ -405,7 +405,15 @@ let calculate_rule_value tags interp = | @@ -405,7 +405,15 @@ let calculate_rule_value tags interp = | ||
405 | 10000000 * lemma_val + 10000 * group_val + interp_val | 405 | 10000000 * lemma_val + 10000 * group_val + interp_val |
406 | else 0 | 406 | else 0 |
407 | 407 | ||
408 | -let phon_generate_interp_rules rules selected_tags simple_lemma form = | 408 | +let phon_generate_interp_rules selected_tags form = |
409 | + Xlist.rev_map form.candidates (fun (_,rule,_) -> | ||
410 | + let tags = Xlist.fold rule.tags [] (fun tags (k,v) -> | ||
411 | + if StringSet.mem selected_tags k then (k,v) :: tags else tags) in | ||
412 | + let tags = Xlist.sort tags Rules.compare_tag in | ||
413 | + calculate_rule_value rule.tags form.interp, | ||
414 | + String.concat " " (Xlist.map tags (fun (k,v) -> k ^ "=" ^ v)) ^ "\t" ^ form.interp) | ||
415 | + | ||
416 | +(* let phon_generate_interp_rules rules selected_tags simple_lemma form = | ||
409 | Xlist.fold form.phon_orth [] (fun found orth -> | 417 | Xlist.fold form.phon_orth [] (fun found orth -> |
410 | let candidates = Rules.CharTrees.find rules orth.phon in | 418 | let candidates = Rules.CharTrees.find rules orth.phon in |
411 | (* printf "S %d\n" (Xlist.size forms); *) | 419 | (* printf "S %d\n" (Xlist.size forms); *) |
@@ -418,4 +426,4 @@ let phon_generate_interp_rules rules selected_tags simple_lemma form = | @@ -418,4 +426,4 @@ let phon_generate_interp_rules rules selected_tags simple_lemma form = | ||
418 | if StringSet.mem selected_tags k then (k,v) :: tags else tags) in | 426 | if StringSet.mem selected_tags k then (k,v) :: tags else tags) in |
419 | let tags = Xlist.sort tags Rules.compare_tag in | 427 | let tags = Xlist.sort tags Rules.compare_tag in |
420 | calculate_rule_value rule.tags form.interp, | 428 | calculate_rule_value rule.tags form.interp, |
421 | - String.concat " " (Xlist.map tags (fun (k,v) -> k ^ "=" ^ v)) ^ "\t" ^ form.interp) @ found) | 429 | + String.concat " " (Xlist.map tags (fun (k,v) -> k ^ "=" ^ v)) ^ "\t" ^ form.interp) @ found) *) |
morphology/rules.ml
@@ -139,6 +139,9 @@ let rec extract_tag s rev = function | @@ -139,6 +139,9 @@ let rec extract_tag s rev = function | ||
139 | [] -> "", List.rev rev | 139 | [] -> "", List.rev rev |
140 | | (k,v) :: l -> if s = k then v, List.rev rev @ l else extract_tag s ((k,v) :: rev) l | 140 | | (k,v) :: l -> if s = k then v, List.rev rev @ l else extract_tag s ((k,v) :: rev) l |
141 | 141 | ||
142 | +let get_tag l tag = | ||
143 | + try Xlist.assoc l tag with Not_found -> "" | ||
144 | + | ||
142 | let create_compound_rules schemata rule_map = | 145 | let create_compound_rules schemata rule_map = |
143 | let found = Xlist.fold schemata [] (fun found schema -> | 146 | let found = Xlist.fold schemata [] (fun found schema -> |
144 | let compounds = Xlist.fold schema [{star=Productive;pref="";find="";set="";tags=[];interp=""; id=""; freq=0}] (fun compounds rule_set_name -> | 147 | let compounds = Xlist.fold schema [{star=Productive;pref="";find="";set="";tags=[];interp=""; id=""; freq=0}] (fun compounds rule_set_name -> |
@@ -667,9 +670,9 @@ let latex_of_schemata () = | @@ -667,9 +670,9 @@ let latex_of_schemata () = | ||
667 | print_endline "\\]\\end{scriptsize}\n") | 670 | print_endline "\\]\\end{scriptsize}\n") |
668 | 671 | ||
669 | let make_rule_key r = | 672 | let make_rule_key r = |
670 | - let cat = try Xlist.assoc r.tags "cat" with Not_found -> "" in | ||
671 | - let lemma = try Xlist.assoc r.tags "lemma" with Not_found -> "" in | ||
672 | - let group = try Xlist.assoc r.tags "group" with Not_found -> "" in | 673 | + let cat = get_tag r.tags "cat" in |
674 | + let lemma = get_tag r.tags "lemma" in | ||
675 | + let group = get_tag r.tags "group" in | ||
673 | let gender = | 676 | let gender = |
674 | match Xstring.split ":" (List.hd (Xstring.split "|" r.interp)) with | 677 | match Xstring.split ":" (List.hd (Xstring.split "|" r.interp)) with |
675 | "subst" :: n :: c :: g -> (String.concat ":" g) | 678 | "subst" :: n :: c :: g -> (String.concat ":" g) |
@@ -708,8 +711,8 @@ let rec get_gender = function | @@ -708,8 +711,8 @@ let rec get_gender = function | ||
708 | | [] -> failwith "get_gender" | 711 | | [] -> failwith "get_gender" |
709 | 712 | ||
710 | let latex_of_noun_interp_rules l = | 713 | let latex_of_noun_interp_rules l = |
711 | - let cat = Xlist.assoc (List.hd l).tags "cat" in | ||
712 | - let lemma = Xlist.assoc (List.hd l).tags "lemma" in | 714 | + let cat = get_tag (List.hd l).tags "cat" in |
715 | + let lemma = get_tag (List.hd l).tags "lemma" in | ||
713 | let gender = get_gender (Xlist.map l (fun r -> r.interp)) in | 716 | let gender = get_gender (Xlist.map l (fun r -> r.interp)) in |
714 | let l = Xlist.map l (fun r -> {r with tags = snd (extract_tag "cat" [] r.tags)}) in | 717 | let l = Xlist.map l (fun r -> {r with tags = snd (extract_tag "cat" [] r.tags)}) in |
715 | let l = Xlist.map l (fun r -> {r with tags = snd (extract_tag "lemma" [] r.tags)}) in | 718 | let l = Xlist.map l (fun r -> {r with tags = snd (extract_tag "lemma" [] r.tags)}) in |
@@ -750,12 +753,12 @@ let latex_of_noun_interp_rules l = | @@ -750,12 +753,12 @@ let latex_of_noun_interp_rules l = | ||
750 | let latex_of_interp_rules_table l tags = | 753 | let latex_of_interp_rules_table l tags = |
751 | print_endline ("\\begin{longtable}{p{7cm}|" ^ String.concat "|" (Xlist.map tags (fun _ -> "l")) ^ "}"); | 754 | print_endline ("\\begin{longtable}{p{7cm}|" ^ String.concat "|" (Xlist.map tags (fun _ -> "l")) ^ "}"); |
752 | print_endline ("interpretation & " ^ String.concat " & " tags ^ "\\\\\n\\hline"); | 755 | print_endline ("interpretation & " ^ String.concat " & " tags ^ "\\\\\n\\hline"); |
753 | - Xlist.iter (List.rev l) (fun r -> | 756 | + Xlist.iter (List.rev l) (fun (r: rule) -> |
754 | let interp = String.concat "" (Xstring.split ":imperf\\.perf" r.interp) in | 757 | let interp = String.concat "" (Xstring.split ":imperf\\.perf" r.interp) in |
755 | let interp = String.concat " " (Xstring.split "|" interp) in | 758 | let interp = String.concat " " (Xstring.split "|" interp) in |
756 | print_endline ((if r.star = Star then "$\\star$" else "") ^ interp ^ " & " ^ | 759 | print_endline ((if r.star = Star then "$\\star$" else "") ^ interp ^ " & " ^ |
757 | String.concat " & " (Xlist.map tags (fun tag -> | 760 | String.concat " & " (Xlist.map tags (fun tag -> |
758 | - latex_escape_string (Xlist.assoc r.tags tag))) ^ "\\\\")); | 761 | + latex_escape_string (get_tag r.tags tag))) ^ "\\\\")); |
759 | print_endline "\\end{longtable}" | 762 | print_endline "\\end{longtable}" |
760 | 763 | ||
761 | 764 |
morphology/types.ml
1 | +type star = Productive | Star | Ndm | Dial | ||
2 | + | ||
3 | +type rule = {star: star; pref: string; find: string; set: string; tags: (string * string) list; | ||
4 | + interp: string; id: string; freq: int} | ||
5 | + | ||
1 | type phon_orth = {phon: string; mapping: (string * string) list} | 6 | type phon_orth = {phon: string; mapping: (string * string) list} |
2 | -type form = {orth: string; phon_orth: phon_orth list; interp: string; freq: int; genre: string; validated: bool} | 7 | +type form = {orth: string; phon_orth: phon_orth list; interp: string; freq: int; genre: string; validated: bool; candidates: (string * rule * phon_orth) list} |
3 | type entry = {lemma: string; (*phon_lemma: string list;*) cat: string; forms: form list; | 8 | type entry = {lemma: string; (*phon_lemma: string list;*) cat: string; forms: form list; |
4 | proper_type: string; (*ndm: bool;*) stem: string; phon_stem: string list; aspect: string} | 9 | proper_type: string; (*ndm: bool;*) stem: string; phon_stem: string list; aspect: string} |
5 | 10 | ||
6 | -let empty_form = {orth=""; phon_orth=[]; interp=""; freq=1; genre=""; validated=false} | 11 | +let empty_form = {orth=""; phon_orth=[]; interp=""; freq=1; genre=""; validated=false; candidates=[]} |
7 | let empty_entry = {lemma=""; (*phon_lemma=[];*) cat=""; forms=[]; proper_type=""; (*ndm=false;*) | 12 | let empty_entry = {lemma=""; (*phon_lemma=[];*) cat=""; forms=[]; proper_type=""; (*ndm=false;*) |
8 | stem=""; phon_stem=[]; aspect=""} | 13 | stem=""; phon_stem=[]; aspect=""} |
9 | 14 | ||
10 | -type star = Productive | Star | Ndm | Dial | ||
11 | - | ||
12 | -type rule = {star: star; pref: string; find: string; set: string; tags: (string * string) list; | ||
13 | - interp: string; id: string; freq: int} | ||
14 | - | ||
15 | let empty_rule = {star=Productive; pref=""; find=""; set=""; tags=[]; interp=""; id=""; freq=0} | 15 | let empty_rule = {star=Productive; pref=""; find=""; set=""; tags=[]; interp=""; id=""; freq=0} |
16 | 16 | ||
17 | let string_of_rule r = | 17 | let string_of_rule r = |