-
Notifications
You must be signed in to change notification settings - Fork 0
/
apertium-mkd.mkd.rlx
482 lines (346 loc) · 18.4 KB
/
apertium-mkd.mkd.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
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
DELIMITERS = "<.>" "<!>" "<?>" "<...>" "<¶>" "<:>";
SETS
LIST Comma = (cm) ;
LIST N = (n) ;
LIST Num = (num) ;
LIST Prop = (np) ;
List Nn = (n) (np) ;
LIST A = (adj) ;
LIST CS = (cnjsub) ;
LIST CC = (cnjcoo) ;
LIST Adv = (adv) ;
LIST Abbr = (abbr) ;
LIST Vlex = (vblex) ;
LIST Vmod = (vbmod) ;
LIST V = (vblex) (vbmod) (vbhaver);
LIST PREP = (pr) ;
LIST Interj = (ij) ;
LIST Pron = (prn) ;
LIST Pcle = (part) ;
LIST Copula = (vbser) ;
LIST L-part = (lp) ;
LIST P-part = (pp) ;
LIST exp = (exp) ;
LIST ij = (ij) ;
List Cog = (cog) ;
List Ant = (ant) ;
LIST Pers = (pers) ;
LIST Dem = (dem) ;
LIST Itg = (prn itg) ;
LIST Rel = (prn rel) ;
LIST Poss = (prn pos) ;
LIST Clt = (clt) ;
LIST Det = (det) ;
LIST TV = (tv) ;
LIST IV = (iv) ;
LIST Imprt = (imp) ;
LIST Pii = (pii) ;
LIST Aor = (aor) ;
LIST Prs = (pres) ;
LIST Inf = (inf) ;
LIST Sp = (sp) ;
LIST Sg = (sg sp) ;
LIST Pl = (pl sp) ;
LIST Count = (ct) ;
LIST Masc = (m mfn mf) ;
LIST Fem = (f mfn mf) ;
LIST Neu = (nt mfn) ;
LIST Sg1 = (p1 sg) ;
LIST Sg2 = (p2 sg) ;
LIST Sg3 = (p3 sg) ;
LIST Pl1 = (p1 pl) ;
LIST Pl2 = (p2 pl) ;
LIST Pl3 = (p3 pl) ;
LIST Nom = (nom) ;
LIST Acc = (acc) ;
LIST Gen = (gen) ;
LIST Dat = (dat) ;
LIST Voc = (voc) ;
LIST Ind = (ind) ;
LIST Def = (def) ;
LIST Prx = (prx) ;
LIST Dst = (dst) ;
LIST NUMBER = sg pl sp ;
LIST GENDER = m f mf mfn nt ;
LIST PERSON = (p1 sg) (p2 sg) (p3 sg) (p1 pl) (p2 pl) (p3 pl) ;
LIST NAGDV = nom acc dat gen voc ;
LIST LOWERCASE-WORD = ("[абвгдѓежзѕијклљмнњопрстќуфхцчџшЭѐѝю]+"ri);
LIST BOS = (>>>) (sent);
LIST EOS = (<<<) (sent);
SET V-IND-FIN = Prs OR Aor OR Pii ;
SET V-COP = Copula ;
SET SG2-OR-SG3 = Sg2 OR Sg3 ;
SET REL-OR-ITG = (prn rel) OR (prn itg) ;
SET N-OR-PROP = N OR Prop ;
SET S-BOUNDARY = (prn itg) OR (prn rel) OR ("\;") OR (":") OR ("-") OR ("–") OR CS OR ("\.") OR ("\!") OR ("\?");
SET STRICT-S-BOUNDARY = ("\;") OR (":") OR ("\.") OR ("\!") OR ("\?");
LIST Day = ("понеделник") ("вторник") ("среда") ("четврток") ("петок") ("сабота") ("недела") ;
###############################################################################
# Morphological disambiguation
#
SECTION
REMCOHORT ("ќе") (0C exp) (1 ("<може>"))
SELECT:r66 A IF (0 A) (0 V) (NEGATE -1* Clt BARRIER V)
# ги подобри водите vs. подобри води
SELECT Ind IF (0C Ind) (0 Dst OR Prx Or Def)
# ги подобри водите vs. подобри води
SELECT:r50 Prs IF (0 Prs) (0 Aor) (-1* (exp) OR (ij) OR ("не") OR ("да") BARRIER V OR Copula) ;
SELECT:r50 Prs IF (0 Prs) (0 Aor) (-1* (vbmod) BARRIER V OR Copula) ;
# Ќе најде <-> will find (present)
# најде <-> found (aorist)
SELECT:r52 CC IF (0 CC) (0 Poss) (NEGATE 1 Copula OR Vlex OR Pers) ;
# select (cnjcoo) if not followed by vblex | prn pers | vbmod
SELECT:r53 Poss IF (0 CC) (0 Poss) (1 Copula Or Vlex or Pers) (NOT -1* V OR Copula) ;
# select (prn pos) if no verb was seen before
SELECT:r54 $$GENDER IF (0 Clt) (NOT 0 CC) (1* N + $$GENDER)
# select the gender of the following noun
SELECT:r55 Adv IF (0 ("<не>")) ((1 Copula OR Vmod) OR (2 N))
# select adverb if followed by vbmod | vblex or the second word is a noun
SELECT:r56 Itg IF (0 ("кој")) (0 Itg) (0 Rel) ( (-1* Cog OR Ant BARRIER N) OR (1* ("?")) ) ;
SELECT:r57 Rel IF (0 ("кој")) (0 Itg) (0 Rel) (NEGATE -1* Cog or Ant BARRIER N) ;
# use 'who' with people and 'which' with objects
SELECT:r58 A IF (0 Nn) (0 A) (1 Nn) ;
# select adjective in an A/N N pattern
SELECT:r59 Voc IF (0 Nom) (0 Voc) (1 Imprt) ;
SELECT:r60 Nom IF (0 Nom) (0 Voc) (NEGATE 1 Imprt) ;
# select VOC if the following verb is in imprt
SELECT:r63 $$GENDER IF (0 A) (-1* Copula BARRIER N) (-1* N + $$GENDER) ;
SELECT:r64 V IF (0 A) (0 V) (-1* Copula BARRIER N) (-1* N + $$GENDER) ;
SELECT:r65 $$GENDER IF (0C A) (1* N + $$GENDER BARRIER N) ;
SELECT:r67 Clt + $$GENDER IF (0 Clt) (NOT 0 CC) (1* N + $$GENDER BARRIER N) ;
SELECT:r69 P-part IF (0 P-part) (0 Prs) (NEGATE -1* (ij) OR (exp) OR ("не")) (-1* N BARRIER V) ;
SELECT:r70 V IF (0 V) (-1 (V) OR (exp) OR (Clt) OR (ij) ) ;
# SELECT:r73 Pron IF (0 Pron) (0 Copula) (1C IV) ;
REMOVE Interj IF (0 ("<да>")) (NEGATE 1 Comma) ;
# 'Да' as an interjection should be followed by a comma
SELECT:r74 Pcle IF (0 ("<да>")) (1 V OR Copula OR Clt) ;
SELECT Pron IF (0 Copula) (0 Pron) (1C Copula)
REMOVE:r75 Copula + $$NUMBER IF (0 Copula) (0 Pron) (1 V + $$NUMBER);
REMOVE:r75 Copula + Sp IF (0 Copula) (0 Pron) (1 V);
# remove coupula if it doesn't match the number of the following verb
REMOVE:r75 Copula IF (0 Copula) (0 Pron) (1 V) ((-1 N) OR (2 N));
# remove copula if "се" is preceded by a noun, or the verb is followed by a noun
# e.g. мостот се градеше, се гледаше градот
SELECT:r76 PREP IF (0 Itg) (0 Rel) (0 PREP) (1 N OR A) ;
SELECT:r76 Itg IF (0 Itg) (0 Rel) (1* ("?")) ;
SELECT:r77 Rel IF (0 Itg) (0 Rel) (NOT 1* ("?")) ;
# interogative if the sentence ends in "?", otherwise relative
REMCOHORT:r80 Pers + Clt + $$GENDER IF (0C Pers + Clt) (2* Pron Or N + $$GENDER BARRIER V OR PREP) ;
REMCOHORT:r80 Pers + Clt + (mfn) IF (0C Pers + Clt) (2* N OR Pron BARRIER V OR PREP) ;
REMCOHORT:r80 Pers + Clt + (mf) IF (0C Pers + Clt) (2* N OR Pron BARRIER V OR PREP) ;
## TODO: fix this by taking into account mfn and mf
REMCOHORT:r80 Pers + Clt IF (0C Pers + Clt) (1 V) (2* CC BARRIER V OR PREP) ;
REMCOHORT:r80 Pers + Clt IF (0C Pers + Clt) (-1 V + (pprs)) (1 N OR A) ;
REMCOHORT:r80 Pers + Clt IF (0C Pers + Clt) (-1 N) (1 V) ;
# случајот го пријави
# remove the personal clitic if followed by a verb + noun combo
# remove the personal clitic if followed by a verb + conjunction combo
## го најдоа и му го покажаа на него големото злато
REMCOHORT:r81 Poss + Clt IF (0C Poss + Clt) (1* V OR Copula) # (2* Pers - Clt BARRIER V)
# remove the possesive clitic if followed by a verb + pronoun without a clitic
## го најдоа и му го покажаа на него големото злато
REMCOHORT:r82 CC IF (0C CC) (-1 Adv);
# test
SELECT:r83 Pers - Clt IF (0 Poss + Clt) (0 Pers) (1* V OR Copula BARRIER N)
SELECT:r84 Clt IF (0 Clt) (0 Copula) (-1* Vmod BARRIER V)
SELECT:r85 V IF (0 V) (0 N) (-1 ("да"))
SELECT:r85 V IF (0 V) (0 N) (-2 ("да")) (-1 Clt)
# disambiguating between verbs and nouns
SELECT:r86 Adv IF (0 A) (0 Adv) (0 ("само")) ;
# chosen by frequency
SELECT:r87 A IF (0 A) (0 Adv) (1C* N BARRIER V OR Copula) ;
SELECT:r87 Adv IF (0 A) (0 Adv) (1C* V OR Copula BARRIER N) ;
# disambiguating between adverbs and adjectives
SELECT Adv IF (0 A) (0 Adv) (1 V-IND-FIN)
SELECT:r88 Det IF (0 Det) (0 Pron) (1* N BARRIER V) ;
SELECT:r88 Pron IF (0 Det) (0 Pron) (NEGATE 1* N BARRIER V) ;
# мојата земја е ...-> my country is ...
# земјата е моја -> the country is mine
SELECT:r89 $$GENDER (0 Num) (1* N)
SELECT:r90 Prs IF (0 Copula + Prs) (0 Copula + Inf) (-1 ("не"))
SELECT:r90 A IF (0 N) (0 A) (1 Num)
# цели 12 години
## FP: Done up to here + the after-sections section
REMOVE:r1 Interj IF ((1 V) OR (1 Pron LINK 1 V)) ;
## Корисниците на бесплатен софтвер ќе мора да плаќаат.
## Даниел, студент од Бања Лука, вели дека нема намера да ја напушти БиХ.
## remove interjection if there is a verb to the right
##or a pronoun to the right and after that a verb
REMOVE:r2 Pron IF (0 ("не")) (-1 REL-OR-ITG) ;
REMOVE:r3 N IF (0 N) (0 V-IND-FIN) (-1C ("не") + Adv) ;
##remove a noun if the current word could be a noun or a finite verb and the previous word is only 'ne' as an adverb
REMOVE:r5 TV IF (1C PREP) ;
##??
# SELECT:r6 Sg3 IF (0C V-IND-FIN + SG2-OR-SG3) (NOT -1* Pron + Sg2 BARRIER S-BOUNDARY) ;
##FP:??
SELECT:r7 $$NUMBER IF (0C A) (1* N + $$NUMBER) ;
## SELECT:r7 $$NUMBER IF (0 N) (-1* A + $$NUMBER) ;
## adjectives and nouns agree in number
SELECT $$NUMBER IF (0 Num) (1* N + $$NUMBER) ;
## numbers and nouns agree in number
SELECT Prop IF (0 N) (0 Prop) (-1 Prop)
SELECT:r8 V-IND-FIN (0 V-IND-FIN) (0 Pron) (NOT -1* V-IND-FIN BARRIER S-BOUNDARY) (NOT 1* V-IND-FIN BARRIER S-BOUNDARY) ;
## Ти си тука.
REMOVE:r9 Pron IF (0 Pron) (0 A + $$NUMBER) (1C N + $$NUMBER) ;
## На сите места добивав ист одговор Не.
REMOVE:r4 Imprt IF (-1* REL-OR-ITG BARRIER S-BOUNDARY) ;
REMOVE:r10 Imprt IF (0 N) (0 Imprt) (-1C A);
## Тешката економска во Босна и Херцеговина принуди голем број студенти и неодамна дипломирани студенти да ја напуштат земјата.
REMOVE:r11 Imprt IF (0 Imprt) (0 Prs + Sg3) ((-1 ("ќе")) OR (-1 Pron LINK -1 ("ќе")));
## Грција објави дека ќе изврши притисок врз Турција да помогне во расчистувањето на судбината на околу 1.500 луѓе кои исчезнаа во тоа време.
## Надминувањето на пречките ќе ги зголеми антитерористичките напори.
REMOVE:r12 Imprt IF (0 Imprt) (0 Prs + Sg3) (-1 ("да")) ;
## Таа спиеше еден час и почна да работи
REMOVE:r13 Imprt IF (0 Imprt) (0 Prs + Sg3) (1 CS);
## Цитирајќи медиумски извештаи, Стејт департментот соопшти дека турските власти извршиле неколку напади на наводните ќелии на Ал каеда минатата година.
REMOVE:r14 Imprt IF (NOT 1* ("!") BARRIER S-BOUNDARY);
# This is probably too loose, but we have to do something
REMOVE:r15 V-IND-FIN (0 V-IND-FIN) (0 N + $$NUMBER) (-1C A + $$NUMBER) ;
## Министерот за надворешни работи, Вук Драшковиќ, во Њујорк разговараше за актуелните проблеми во покраината со генералниот секретар на ОН.
## REMOVE:r16 Pron + Dem IF (0 ("тој")) (NOT 1 N) (NOT -1 PREP) (NOT -1 V-COP) (NOT 1 CS);
## FP:
SELECT:r16 Dem IF (0 Pers) (0 Dem) (1* N - (prx) - (dst) - (def) BARRIER V OR Copula) (NEGATE 1 PREP OR CC OR CS) ;
## Друга милитантна група ја презеде одговорноста за убиството на еден полицаец во Атина, единствениот смртоносен напад во Грција таа година.
## "Јас студирам и патувам," рече тој.
## Тој е тука.
## Тој даде својата книга.
## додаде дека оваа поддршка зависи од тоа дали Турција ќе се придржува на принципите на ЕУ
# REMOVE:r17 Interj IF (0 ("да")) ((1 V OR Pron) OR (-1 V OR Pron));
# Do something better here
SELECT:r18 V-COP IF (0 V-COP) (0 V) ((1 L-part OR A OR P-part) OR (1 Pron LINK 1 L-part OR A));
## Ако ми се јавите, би дошол.
## Да може бебето да прозборува, би ти рекло...
## Полицијата се сомнева дека пратката била наменета за западна Европа.
## Кметството било укинато во 1861 година.
SELECT:r19 V-COP IF (0 V-COP) (0 V) (-1 V-COP + V-IND-FIN);
## Ако би била една држава, ЕУ би била седмата најголема држава во светот по површина и трета најголема по население, по Кина и Индија.
SELECT:r25 V-COP IF (0 ("<се>")) (0 V-COP) (0 Pron) (1C A);
## нагласија дека претстојните избори во БиХ се клучни за иднината на земјата
SELECT:r20 A IF (0 A) (0 N) (1C N-OR-PROP) ;
## Koсово се соочува со долг пат пред себе во спречуваoето на трговијата со дрога
SELECT:r21 V-IND-FIN IF (0 A) (0 V-IND-FIN) (NEGATE -1* V-IND-FIN BARRIER N)
SELECT:r21 A IF (0 A) (0 V-IND-FIN) (1C N-OR-PROP) ;
## Со оглед на тоа во Западна Европа почнало сериозно да се размислува за воспоставување на поморски врски со Азија.
SELECT:r22 Abbr IF (0 ("ОН")) ((-1 LOWERCASE-WORD) OR (1 LOWERCASE-WORD));
## ОН водат истрага за заменик-шефот на косовската мисија.
SELECT:r23 N IF (0 A) (0 N) (-1 A) (1 PREP);
## СоЕ повика на формирање на нов суд за човекови права за Косово
SELECT:r24 N IF (0 A) (0 N) (-1 PREP) (1 PREP);
## тие се обврзани да осигурат заштита на правата на сите етнички групи.
SELECT:r26 Dem IF (0 ("<тоа>")) (0 Dem) (0 Pers) (-1 PREP);
##додаде дека оваа поддршка зависи од тоа дали Турција ќе се придржува на принципите на ЕУ
SELECT:r27 Dem IF (0 ("<тоа>")) (0 Dem) (0 Pers) (-1 V-COP) (1 ("<што>"));
## Лошата страна е тоа што Бугарите велат дека повеќе не можат да си дозволат да летуваат таму.
SELECT:r28 CS IF (0 ("што")) (0 CS) (0 Itg) (0 Rel) (-1 Dem) (NOT 1 V OR Clt);
##Лошата страна е тоа што Бугарите велат дека повеќе не можат да си дозволат да летуваат таму.
# SELECT:r29 Itg IF (0 Itg) (0 Rel) (-1 BOS);
## кој е твојот глас
REMOVE:r30 PREP IF (-1C PREP) (0 PREP) (0 Adv);
## на околу 2.000 метри надморска височина
SELECT:r31 V-COP IF (0 ("<се>")) (0 V-COP) (0 Pron) (1C N) (-1C N);
## она што Македонија го заслужува, но тоа што ја одржува Македонија на агендата на Европската Унија се реформите, а тие се неопходни за да може да се направи пробив во некои други поповолни услови."
SELECT:r32 Dem IF (0 Dem) (0 Pers) (1 ("што"));
## тоа што ја одржува Македонија на агендата
SELECT:r33 Rel IF (0 ("што")) (0 CS) (0 Itg) (0 Rel) (-1 Dem) (1 V OR Clt);
## тоа што ја одржува Македонија на агендата
#for tenses
# SELECT:r34 Prs IF (0C V-IND-FIN + SG2-OR-SG3) ((-1* Prs BARRIER STRICT-S-BOUNDARY) OR (1* Prs BARRIER STRICT-S-BOUNDARY)) (NOT -1 ("да") + Pcle);
# SELECT:r35 Aor IF (0C V-IND-FIN + SG2-OR-SG3) ((-1* Aor BARRIER STRICT-S-BOUNDARY) OR (1* Aor BARRIER STRICT-S-BOUNDARY)) (NOT -1 ("да") + Pcle);
# SELECT:r36 Pii IF (0C V-IND-FIN + SG2-OR-SG3) ((-1* Pii BARRIER STRICT-S-BOUNDARY) OR (1* Pii BARRIER STRICT-S-BOUNDARY)) (NOT -1 ("да") + Pcle);
SELECT:r39 Prs IF (0 Prs) (0 Aor) (-1 ("да") + Pcle);
#тој сакаше да носи камења
REMOVE:r37 Clt IF (0 ("и")) (0 CC) (0 Clt) (NOT -1* Fem BARRIER S-BOUNDARY) (NOT 1* Fem BARRIER S-BOUNDARY);
#тој е убаво момче и пее убаво
SELECT:r38 A IF (0 A + Neu) (0 Adv) (1C N + Neu);
#тој е убаво момче
#same as rule 7?
SELECT:r40 Adv IF (0 A + Neu) (0 Adv) (-1C V) (NOT 1C N + Neu);
# тој пее убаво
###############################################################################
# Syntactic labelling and disambiguation
#
SECTION
LIST @+FMAINV = @+FMAINV;
LIST @-FMAINV = @-FMAINV;
LIST @+FAUXV = @+FAUXV;
LIST @-FAUXV = @-FAUXV;
LIST @SUBJ→ = @SUBJ→;
LIST @←SUBJ = @←SUBJ;
LIST @OBJ→ = @OBJ→;
LIST @←OBJ = @←OBJ;
LIST @IOBJ→ = @IOBJ→;
LIST @←IOBJ = @←IOBJ;
LIST @←SPRED = @←SPRED;
LIST @SPRED→ = @SPRED→;
LIST @→N = @→N;
LIST @N← = @N←;
LIST @INTERJ = @INTERJ;
MAP:r100 (@INTERJ) TARGET Interj ;
#
# Finite verb:
# - Finite main verb
# - Finite auxiliary (needs infinite main verb)
# - Modal
# Main verb:
# - Finite main verb
# - Infinite main verb
#
# Subjects:
# - Personal pronouns (agree in person/number with finite main verb)
# - Demonstrative pronouns (finite main verb in Sg3/Pl3)
# -
# -
MAP:r400 (@SUBJ→) TARGET Pers + $$PERSON + Nom IF (1* V-IND-FIN + $$PERSON BARRIER V-IND-FIN) ;
## Јас сум тука.
## Ти си тука.
MAP:r401 (@←SUBJ) TARGET Pers + $$PERSON + Nom IF (-1* V-IND-FIN + $$PERSON BARRIER V-IND-FIN) ;
MAP:r402 (@SUBJ→) TARGET N + $$NUMBER IF (1 V-COP + $$NUMBER);
## мажот е убав.
MAP:r403 (@SUBJ→) TARGET Pers IF (0 Pers + (nom) );
# mark nominative personal pronouns as subjective (for now)
#
# Noun modifiers
# - Adjectives (agree with head in gender/number)
# - Numerals
# -
MAP:r500 (@→N) TARGET A | Poss + $$GENDER + Sg IF (1 N + $$GENDER + Sg) ;
MAP:r501 (@→N) TARGET A | Poss + Pl IF (1 N + Pl) ;
MAP:r502 (@→N) TARGET Num IF ((1 N) OR (1 A LINK 1 N)) ;
## Една третина од населението е помладо од 30 години.
## Полицијата уапси еден индиски лекар пред неколку месеци.
#
# Subject predicates
# - Adjectives in copula clauses (agree with subject in gender/number)
#
MAP:r600 (@←SPRED) TARGET A + $$NUMBER (-1* V-COP + $$NUMBER BARRIER S-BOUNDARY) ;
## Јас сум стар.
MAP:r601 (@←SPRED) TARGET N + $$NUMBER (-1* V-COP + $$NUMBER BARRIER S-BOUNDARY OR PREP) ;
## Јас сум македонец.
## Чашата е на масата.
#
# Prepositional phrases
# -
# -
MAP:r700 (@P←) TARGET N | Pron + Dem (-1 PREP);
## Чашата е на масата.
## от това
# Give up
#
MAP:r800 (@X) TARGET (prn dem) ;
MAP:r801 (@X) TARGET (prn pers) ;
AFTER-SECTIONS
SELECT Pers IF (0 ("тој")) (0 Dem)
REMCOHORT ("како") IF (0 ("како")) (1C ("и"))
SELECT V IF (0 V) (0 N) ;
# default behavior for V-N
REMOVE:r62 Aor IF (0 Aor) (0 Pii);
# stick with pii for now
REMOVE:r61 Pers IF (0 Pers) (0 Poss);
# stick with possesive for now, but needs fixing
SELECT:r71 TV IF (0 TV) (0 IV) (1* N BARRIER V)
SELECT:r72 IV IF (0 TV) (0 IV) (NEGATE 1* N BARRIER V)
# select transitive if there is a noun following the verb
# not a very good rule
SELECT:r85 N IF (0 V) (0 N) (-1* A OR Num OR V OR STRICT-S-BOUNDARY OR Abbr BARRIER N OR V) ;
## Anaphora resolution
## "prpers" ADDCOHORT:r700 (sg pl) BEFORE (0 V)