-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathapertium-uig.uig.rlx
278 lines (192 loc) · 5.98 KB
/
apertium-uig.uig.rlx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
DELIMITERS = "<.>" "<!>" "<?>" "<...>" "<¶>" "<:>" "<؟>";
SOFT-DELIMITERS = "<,>";
SETS
LIST BOS = (>>>) (sent);
LIST EOS = (<<<) (sent);
LIST N = n ;
LIST V = v ;
LIST TV = tv ;
LIST IV = iv ;
LIST Prop = np ;
LIST Pron = prn ;
LIST Num = num ;
LIST A = adj ;
LIST Det = det ;
LIST Dem = dem ;
LIST Adv = adv ;
LIST CC = cnjcoo ;
LIST CS = cnjsub ;
LIST Interj = ij ;
LIST Post = post ;
LIST Cop = cop ;
LIST Qst = qst ;
LIST imp = imp ;
LIST pass = pass ;
LIST neg = neg ;
LIST TD = TD ;
LIST Top = top ;
LIST Fut = fut ;
LIST Pass = pass ;
LIST Qnt = qnt ;
LIST Che = che ;
LIST Frm = frm ;
LIST Dub = dub ;
LIST Abil = abil ;
LIST Ant = ant ;
LIST Cog = cog ;
LIST Case = nom gen acc abe loc dat abl ;
LIST Guess = guess ;
LIST Nom = nom ;
LIST Abl = abl ;
LIST Loc = loc ;
LIST Subst = subst ;
LIST Attr = attr ;
LIST Padv = postadv ;
LIST Punct = guio ;
##LIST Gpr = gpr_past ;
##LIST Ger = ger_past ;
LIST Vfin = past aor fut ifi imp;
LIST Finite = evid ifi past aor pres fut ;
LIST Prc/perf = prc_perf ;
LIST Prc/impf = prc_impf ;
LIST Prc/fut = prc_fut ;
LIST Prc/past = prc_past ;
LIST Prc/cond = prc_cond ;
LIST Gna/cond = gna_cond ;
LIST Gna/perf = gna_perf ;
LIST Ger/past = ger_past ;
LIST Ger/fut2 = ger_fut2 ;
LIST Ger/fut = ger_fut ;
LIST Gna/when = gna_when ;
LIST Gpr/fut = gpr_fut ;
LIST Gpr/past = gpr_past ;
LIST Gpr/fut2 = gpr_fut2 ;
LIST rsub = gpr_rsub gpr_rsub2 gpr_rsub3 gpr_rsub4;
LIST vaux = vaux ;
LIST pabs = ger_pabs ;
LIST Past = past ;
SET Prc = Prc/perf | Prc/impf | Prc/fut | Prc/past | Prc/cond ;
SET Gpr = Gpr/fut | Gpr/fut2 | Gpr/past ;
SET Gna = Gna/perf | Gna/when ;
SET Ger = Ger/past | Ger/fut2 | Ger/fut ;
SET Nonfin = Prc | Gna | Gpr | Ger ;
SET Fin = V - Nonfin ;
SET PHRASEMARK = ("\\") | ("\;") ; #"
LIST CC = cnjcoo ;
LIST Pers = (prn pers) ; # Use e.g. Sg3 + Pers to match pronouns
LIST Pl1 = (p1 pl) ;
LIST Sg2 = (p2 sg) ;
LIST Pl3 = (p3 pl) ;
LIST Sg3 = (p3 sg) ;
LIST Sg1 = (p1 sg) ;
LIST Sg3 = (p3 sg) ;
LIST VPers = p1 p2 p3 ;
LIST Pl = pl ;
LIST Sg = sg ;
LIST Px3Sp = px3sg px3pl;
LIST Px3Sg = px3sg ;
LIST Px3Pl = px3pl ;
LIST Px2Sg = px2sg ;
LIST Px2Pl = px2pl ;
LIST Px1Pl = px1pl ;
LIST Px1Sg = px1sg ;
LIST Ming = "مىڭ" ;
LIST Devlet = "خانىدانلىق" "سۇلالە" "دۇلات" "ئۆلكە" "دىيار" ;
LIST Lang = "تۈركچە" "خەنزۇچە" "جۇڭگوچە" "خەنسۇچە" "خىتايچە" "ئىنگىلىزچە" "ئېنگلىزچە" "فرانسۇزچە" "ئېنگىلىزچە" "ئەرەبچە" "ئۇيغۇرچە" "پارىسچە" "مىسىرچە" "رىمچە" "شىنجاڭچە" "جۇڭگۇچە" "جوڭگۇچە" "جوڭگوچە" "چۈشەنچە" "ئوشۇقچە" "سۈيۈن" "سۆيۈن" "ئۇتتۇرچە" "سانسكرىتچە" "كىيىنچە" "كىرىلچە" "لاتىنچە" "ئۇچقۇچىسىز" "قانچە" ;
LIST Name = "بى" "شى" "جى" "ھى" "لى" "نى" "يى" "جى" "پىڭ" ;
LIST Terep = "تەرەپ" ;
SECTION
REMOVE vaux ;
REMOVE TD IF (0 TD ) ;
REMOVE Che IF (0 Adv) ;
##meningche = adverb
SELECT Pers IF (0 Pers) ;
SELECT Gpr/fut (0 Finite) (0 Nom) (1 N) ;
# kabul bolunmaydığan duağa
SELECT Lang IF (0 Lang) ;
SELECT Name IF (0 Name) ;
SELECT Cog IF (-1 Ant) ;
##Abdurrahim Ötkür, not Abdurrahim keskin
SELECT Past IF (1 EOS OR Punct) ;
##ئاتا-ئانىسىدىن كىچىكىدىلا ئايرىلىپ، يېتىم قالغان = .. yetim kalmış, not yetim kalan.
SELECT V IF (0 Gna/cond) ;
# bolsa
REMOVE rsub IF (0 Abil) ;
##atalğan = atal-ğan, not at-al-ğan
REMOVE Prc/perf IF (0 Prc/perf) ;
REMOVE Post if (-1 BOS OR Punct);
## Мен сизди анъламадым.
SELECT Post IF (0 Post) ;
SELECT Attr IF (0C Attr OR Nom) (1C N + Attr OR N + Nom);
REMOVE Attr IF (1 EOS OR Vfin) ;
SELECT N IF (1 Px3Sp) ;
SELECT A IF (-1 Num) (1 N) ;
## yette bashliq yalmawuz
REMOVE pass + neg IF (1 Px3Sp) ;
## "qisqartilma adi"
SELECT rsub IF (0 Loc) ;
## bolğanda = olanda, not olmuşta
SELECT rsub IF (1 N) ;
## gelen adam instead of gelmiş adam
REMOVE Interj IF (NOT -1 BOS) (NOT 1 EOS) ;
#yoq, bar
REMOVE Nom IF (1C Nom) ;
SELECT A IF (-1 N) (1 N) ;
## bu öy qara taghqa ..
SELECT A IF (1 Cop) ;
## qorqunchluq idi
SELECT Adv IF (1 A) ;
REMOVE Nonfin IF (NOT -1* Fin) (1 EOS) ;
REMOVE Gpr IF (0C Gpr OR Ger OR Vfin) (1 EOS) ;
REMOVE Det IF (1 CC) ;
REMOVE imp IF (-1 Ger) ;
##giriş-çıkış
REMOVE Sub:1 Post (0 A) ;
#tatlı, not tat+lı
SELECT A IF (0 rsub) ;
##atalğan = adı geçen, not anlandırılan
SELECT Dem IF (1 A) ;
## şu sebiy arzuliri..
SELECT Pron IF (1 Post) ;
## néme üçün..
##REMOVE Padv IF (1 EOS) ;
## قىزىم كاۋا ئالاتتىڭىزمۇ ؟!
##SELECT SUB:1 Padv ;
## menmu = ben de. Will write a specific rule for the question mark.
SELECT Padv IF (0 Padv) ;
## menmu = ben de. Will write a specific rule for the question mark.
SELECT Adv IF (-1 CC OR Post) (1 N) ;
## u bilen bille shunlargha
SELECT N IF (0 Ming)(1 Devlet) ;
SELECT Num IF (0 Ming) ;
## 15 ming
SELECT Top IF (0 Sg) ;
## Xitay bash ministeri..
REMOVE Top IF (0 Pl) ;
## xitaylar
SELECT Terep IF (0 Px3Sp + Abl) (1* TV BARRIER IV) ;
## adem terıpıden .. uyushturuldı.
REMOVE rsub IF (0 Loc) ;
## bolğanda -> olunca instead of olanda
REMOVE pabs IF (0 Loc) ;
## bolğanda -> olunca instead of olmuşta
REMOVE IV IF (0 TV + Pass) ;
## tonushtur-ul instead of #tonushturul# (to better match tur.lexc structure)
REMOVE A IF (0 Pron) (NOT 1* N BARRIER V) ;
## öz = kendi
SELECT Nom IF (0 Qnt) ;
REMOVE rsub IF (0 N) ;
## közetküchi = gözetmen instead of gözeten
REMOVE Dub IF (0 Past) ;
## erishken = erish-ken, not eri-sh-ken
REMOVE Sub:1 Pl1 IF (0 Px1Pl) ;
#harwamız = our car, not 'we are car'
REMOVE A IF (1 A) ;
REMOVE Px3Pl IF (NOT -1* Pl3 BARRIER N) ;
SELECT A IF (-1 N) (0 Post) (1 N);
# yol
SELECT Sub:1 Finite IF (1 EOS OR PHRASEMARK) ;
# Hayattaki son dersi "kendi ölümü" [0]olacakmış.
REMOVE Subst + Nom IF (0 (*) - Subst - Nom) ;
#275 milyon,
REMOVE Guess ;