-
Notifications
You must be signed in to change notification settings - Fork 0
/
merged.twol
92 lines (70 loc) · 2.35 KB
/
merged.twol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
Alphabet
– б г д й м л р с х ч ц щ ш ж з ъ ь т н э I А Б В Г Д Е И Й М Л Р С У Х Ч Ц Щ Ш Ж Ъ Ь Т Н ᵸ ᵸ:0
а:а у:у и:и о:о е:е в:в
а:0 у:0 и:0 о:0 е:0 в:0
%{р%}:р %{р%}:н
%{л%}:л %{л%}:н
%{б%}:б %{б%}:м
%{n.и%}:0 %{n.и%}:и
%{v.и%}:у %{v.и%}:и %{v.и%}:0
%{agrA%}:а %{agrA%}:0
! additional nasalization marker to insert in the verb forms, see Kibrik pp. 88-89
%{ᵸ%}:0 %{ᵸ%}:ᵸ %{ᵸ%}:н
%{prt%}:у %{prt%}:о %{prt%}:0
%>
%{ep.й%}:0 %{ep.й%}:й
;
Sets
! reps: vowels subjected to the replacement rule: see Kibrik pp. 49-50
reps = а е и у о ;
! cons: regular consonants
cons = ч щ ш ж з в д к р л с г х Ӏ б т н ;
! ncons: consonants participating in the nasalization rule, see Kibrik pp. 52-53.
ncons = %{р%} %{л%} %{б%} ;
! mods: modifiers
mods = ъ Ъ Ӏ ь Ь ;
! V: regular vowels
V = а е и у о А Е И У О %{v.и%} %{prt%} ;
Definitions
C = :cons [ :mods ]*;
Rules
"drop morpheme boundary"
%>:0 <=> _ ;
"epenthesis rule, see Kibrik p. 50"
%{ep.й%}:й <=> X _ ; where X in V;
"replacement rule, see Kibrik pp. 49-50"
X:0 <=> _ ( ᵸ:0 ) ( %>: ) ( %{ᵸ%}: ) V|%{prt%}; where X in reps;
"{и} persistence"
%{v.и%}:и <= V ( ᵸ:0 ) _ ;
except
в:0 ?* _ ; _ ( %>: ) ( %{ᵸ%}: ) ?:V;
"{и} to у after labialized"
%{v.и%}:у <=> в:0 ?* _ ;
except
_ ( %>: ) ( %{ᵸ%}: ) ?:V;
"{и} to zero before other vowels"
%{v.и%}:0 <=> _ ( %{ᵸ%}: ) ?:V;
"labialization deletion"
в:0 <=> _ [ ? | ?^2 ] %>: %{v.и%}:?;
"ᵸ at the end"
%{ᵸ%}:ᵸ <=> .#. ?+ ᵸ:0 ?* _ .#.;
"ᵸ as n before regular consonants"
%{ᵸ%}:н <=> _ ( %>: ) [с|ч|л|?:0 в];
"nasalization deletion"
ᵸ:0 <=> _ %>: [ V | ?* ncons:* ];
"Р after nasalized vowels"
%{р%}:н <=> ᵸ:0 [ ? | ?^2 | ?^3 ] _;
"Б after nasalized vowels"
%{б%}:м <=> ᵸ:0 [ ? | ?^2 | ?^3 ] _;
"Л after nasalized vowels"
%{л%}:н <=> ᵸ:0 ?* _;
"zero in participles after а"
%{prt%}:0 <=> [ ?:о | ?:а ] ( ᵸ: ) ( %>: ) ( %{ᵸ%}: ) _;
"о in participles after е"
%{prt%}:о <=> [ е:? | ?:е ] ( ᵸ: ) ( %>: ) ( %{ᵸ%}: ) _;
"у in participles after и"
%{prt%}:у <=> [ и:? | ?:и ] ( ᵸ: ) ( %>: ) ( %{ᵸ%}: ) _; %{v.и%}:? ( %{ᵸ%}: ) _;
"ба in HPL agreement markers"
%{agrA%}:а <=> .#. ?+ _ .#.;
"special rule for i in noun markers"
%{n.и%}:0 <=> V _ ;