###############################################################################

DELIMITERS = "<.>" "<!>" "<?>" "<..>" "<...>" "<¶>" ;
SOFT-DELIMITERS = "<,>" ;
#OPTIONS += no-inline-sets no-inline-templates ;
OPTIONS += no-inline-templates ;

SUBREADINGS = LTR ; # Alternate, left-to-right (main reading on the left)

###############################################################################

LIST BOS = (>>>) sent ;
LIST EOS = (<<<) sent ;

LIST NP = np ;
LIST V = vblex ;
LIST Vbmod = vbmod ;
LIST Ser = vbser ;
LIST Haver = vbhaver ;
LIST Verb = vblex vbmod vbser vbhaver ;
LIST A = adj ;
LIST CS = cnjsub ;
LIST CA = cnjadv ;
LIST CC = cnjcoo ;
LIST Num = num ;
LIST Interj = ij ;
LIST Pr = pr ;
LIST Adv = adv ; 
LIST PreAdv = preadv ; 
LIST Det = det ;
LIST PreDet = predet ;
LIST Prn = prn ;
LIST N = n ;
LIST Rel = rel ;
LIST Detnt = detnt ;
LIST ArtDef = (det def) ;
LIST ArtPos = (det pos) ;

LIST Inf = inf ;
LIST PP = pp ;
LIST Ger = ger ;

LIST Tonic = tn ;
LIST Pro = pro ;
LIST Enc = enc ;

LIST Dem = dem ; 

LIST Masc = m ;
LIST Fem = f ;
LIST MascFem = mf ;

LIST Ant = ant ;
LIST Cog = cog ;
SET Ant_Cog = Ant OR Cog ;
LIST Top = top loc ;
LIST Al = al ;

LIST Sg = sg ;
LIST Pl = pl ;
LIST SgPl = sp ;

LIST Pri = pri ;
LIST Pii = pii ;
LIST Pis = pis ;
LIST Prs = prs ;
LIST Fti = fti ;
LIST Ifi = ifi ;
LIST Pmp = pmp ;
LIST Fts = fts ;
LIST Imper = imp ;
LIST Interr = itg ;

LIST P1 = p1 ;
LIST P2 = p2 ;
LIST P3 = p3 ;
LIST Sg1 = (p1 sg) ;
LIST Sg2 = (p2 sg) ;
LIST Sg3 = (p3 sg) ;
LIST Pl1 = (p1 pl) ;
LIST Pl2 = (p2 pl) ;
LIST Pl3 = (p3 pl) ;

SET Noun_Adj = N OR A ;
SET Noun_Adj_PP = N OR A OR PP ;
SET Adj_PP = A OR PP ;
SET Adv_PreAdv = Adv OR PreAdv ;

SET Pers = (p1) OR (p2) OR (p3) ;
SET Cnj_Rel = CC OR CS OR CA OR Rel ;

SET CM = (cm) OR (lpar) OR (rpar) OR ("<;>") ;
SET Guio = (guio) ;

LIST Poder = "poder" ;
LIST Dever = "dever" ;
LIST Para = "para" ;
LIST De = "de" ;
LIST Desde = "desde" ;
LIST Em = "em" ; 
LIST Entre = "entre" ;
LIST Até = "até" ;
LIST Sobre = "sobre" ;
LIST Outro = "outro" ;
LIST Se = "se" ; 
LIST Que = "que" ; 
LIST Estar = "estar" ;
LIST Forma = "forma" ; 
LIST Ir = "ir" ; 
LIST Humano = "humano" ;
LIST Próximo = "próximo" ;
LIST Amar = "amar" ;
LIST Como = "como" ;
LIST Todo = "todo" ;
LIST Tal = "tal" ;
LIST Tao = "tão" ;
LIST Tanto = "tanto" ;
LIST Quanto = "quanto" ;
LIST O = "o" ;
LIST Não = "não" ;
LIST São = "são" ;
LIST Seu = "seu" ; 
LIST Um = "um" ;
LIST Algum = "algum" ;
LIST Ponto = "ponto" ;
LIST Esse = "esse" ;
LIST Este = "este" ;
LIST Aquele = "aquele" ;
LIST Bastante = "bastante" ;
LIST Cujo = "cujo" ;
LIST Ter = "ter" ; 
LIST Ter/de = "ter# de" ;
LIST Tender = "tender" ; 
LIST Restantes = "restantes" ;
LIST Qualquer = "qualquer" ;
LIST Nenhum = "nenhum" ;
LIST Falar = "falar" ;
LIST Querer = "querer" ;
LIST Parte = "parte" ;
LIST Permitir = "permitir" ;
LIST Utilizar = "utilizar" ;
LIST Segundo = "segundo" ;
LIST Guia = "guia" ;
LIST Grama = "grama" ;

LIST Verb/CS = "indicar" "demostrar" "mostrar" ;

LIST Language = "português" "inglês" "francês" "albanês" "dinamarquês" "escocês" "holandês" "japonês" "birmanês" "alemão" "espanhol" "italiano" "catalão" "sueco";
SET Dignidade = ("presidente") OR ("vice-presidente") OR ("governador") OR ("imperador") OR ("imperatriz") OR ("rei") OR ("rainha") OR ("príncipe") OR ("princesa") OR ("conde") OR ("visconde") OR ("marquês") OR ("duque") OR ("arquiduque");
SET Ordinal = ("primeiro") OR ("segundo") OR ("terceiro") OR ("quarto") OR ("quinto") OR ("sexto") OR ("sétimo") OR ("oitavo") OR ("nono") OR ("último");
SET DemDetPrn = ("algum") OR ("este") OR ("esse") OR ("aquele") ;

# adjetivos ambíguos que sólo pueden anteceder el nombre
SET PreAdj = ("mal") OR ("grão") ;

LIST unknown = ("\\*.*"r) ;
LIST unknownMajIni = ("\\*[A-ZÀÁÈÉÊÍÒÓÔÚÜÇ].*"r) ;
LIST unknownMinIni = ("\\*[a-zàáèéêíòóôùúïüç].*"r) ;
LIST MajIni = ("<[A-ZÀÁÈÉíÒÓÚÜÇ].*>"r) ;
LIST MinIni = ("<[a-zàáèéìíòóùúçñ].*>"r) ;
LIST MajIni2 = ("<[A-ZÀÁÈÉÍÌÒÓÚÜÇ][a-zàáèéìíòóùúïüçñ·]+.*>"r) ;
LIST TotMaj = ("<[A-ZÀÁÈÉíÒÓÚÜÇ][A-ZÀÁÈÉíÒÓÚÜÇ]*>"r) ;
LIST segles_num_romans = ("[IVX][IVX]*"r) ;

LIST Foi = "<foi>"i ;
LIST Vai = "<vai>"i ;
LIST É = "<é>"i ;
LIST Uma = "<uma>"i ;
LIST Sido = "<sido>"i ;
LIST Sua = "<sua>"i ;
LIST Vista = "<vista>"i ;
LIST Pela = "<pela>"i ;
LIST Pelo = "<pelo>"i ;
LIST Ao = "<ao>"i ;

LIST Guess/Inf = "\*[a-z]+[aei]r"i ;

LIST Quest = "?" ;
LIST Excl = "!" ;
LIST DP = ":" ;
LIST Cm = cm ;

SET Fin = Pri | Prs | Pii | Pis | Fti | Fts | Ifi ; 

SET MascSg = (m sg) OR (m sp) OR (mf sg) OR (mf sp) ;
SET MascPl = (m pl) OR (m sp) OR (mf pl) OR (mf sp) ;
SET FemSg = (f sg) OR (f sp) OR (mf sg) OR (mf sp) ;
SET FemPl = (f pl) OR (f sp) OR (mf pl) OR (mf sp) ;

SET NotMasc = Fem | MascFem ;
SET NotFem = Masc | MascFem ;
SET Gender = NotMasc | NotFem ;

SET NotSg = Pl | SgPl ;
SET NotPl = Sg | SgPl ;
SET Number = NotSg | NotPl ;

SET GenderNumber = MascSg | MascPl | FemSg | FemPl ;

SET Barrera_Inicial_Estrict_SN = BOS OR Pr OR CS OR CA OR Rel ;
SET Barrera_Final_Estrict_SN = EOS OR Pr OR Det OR CS OR CA OR Rel OR Pro ;
SET Barrera_Final_SN = EOS OR Pr OR Det OR CS OR CA OR Verb OR Rel OR Pro ;	# Verb és perillós per la ambigüitat, però en general, prolífic
SET Barrera_Inicial_SN = BOS OR Pr OR CS OR CA OR Verb OR Rel ;	# Verb és perillós per la ambigüitat, però en general, prolífic

SECTION

SELECT Inf IF (-1 Pr) (0C V) ;

#SELECT Inf IF (-1 Para OR De) (0C V) ;

SELECT Ser IF (0 Foi) (1 PP) ;

SELECT Pr IF (0 Entre) (1C N) ;

SELECT Inf IF (-1C Vai) ;

SELECT Det + &&Gender IF (-1C É) (0 Det OR Prn) (1C N + &&Gender) ;

SELECT Det IF (0 Uma) (1 Outro LINK 1 N) ;

SELECT Det IF (0 ("o")) (1 ("mais")) (2 A OR Adv) ;	# o mais rapidamente possível

SELECT Pro IF (-1 Pr) (0 Se) (1 Inf) ;

REMOVE Detnt IF (NOT 1 Que) ;

REMOVE SUB:1 Detnt IF (NOT 1 Que) ;

REMOVE Pr IF (1C Fin) ;

REMOVE Pr IF (-1C Pr) ;

REMOVE Pr IF (-1 Entre) ;

SELECT Ser IF (1C PP) ; 

SELECT N IF (-1 Det) (0C N OR A) (1C A) ;

REMOVE Det IF (1C Fin) ;

SELECT PP IF (-1C Estar) ;

SELECT Det IF (-1C Pr) (0C Det OR Prn) (1C N OR A);

REMOVE Imper IF (-1C Se) ;

REMOVE Inf IF (-1C Det) (0 N OR Inf) ;

SELECT PP IF (-1 Ser) (0C A OR PP) ;

SELECT N + &&Gender IF (-1C Det + &&Gender) (0C N OR V) ;

SELECT Haver IF (1C Sido) ;

SELECT Vbmod IF (0 Poder) (1 Inf) ;
SELECT Vbmod IF (0 Querer) (1C Inf) ;
SELECT Vbmod IF (0 Dever) (1 Inf) ;
SELECT Vbmod IF (0 Poder) (1 Enc) (2 Inf) ;
SELECT Vbmod IF (0 Querer) (1 Enc) (2C Inf) ;
SELECT Vbmod IF (0 Dever) (1 Enc) (2 Inf) ;

SELECT V IF (0 Dever) (1 ("a")) ;
SELECT V IF (0 Dever) (1 Enc) (2 ("a")) ;

SELECT Det IF (-1 Pr) (0 Sua) (1 N) ;

SELECT Ser IF (0C Ser OR Ir) (1* A OR N BARRIER (*) - Adv) ;

SELECT Ir IF (0C Ser OR Ir) (1 Para) (2 Det) (3 Top);
SELECT Ir IF (0C Ser OR Ir) (1 Para) (2 Top) (NOT 2 Ant);
  ## foi para a França

REMOVE Prn IF (0 Det OR Prn) (1 A LINK 1 N) ;

SELECT N IF (-1 Det) (0 Ser) (1 Humano) ;

SELECT N IF (-2 Amar) (-1 Det) (0 Próximo) ;
SELECT A IF (NOT -2 Amar) (0 Próximo) ;

SELECT Det IF (-1 Pr) (0 Outro) (1 N OR A) ;

REMOVE Det IF (0 Outro) (-1 Det) ;

SELECT Rel IF (-1 Cm) (0 Como) ;

SELECT Adv IF (-2 Tao) (-1 A OR Adv) (0 Como) ;
REMOVE Interr IF (-2 Tao) (-1 A OR Adv) (0 Como) ;
REMOVE Rel IF (-2 Tao) (-1 A OR Adv) (0 Como) ;
SELECT Adv IF (-1 Tal) (0 Como) ;

SELECT Adv IF (-1 Tanto) (0 Quanto) ;
REMOVE Interr IF (-1 Tanto) (0 Quanto) ;

SELECT Det IF (-1 Todo) (0 O) ;

REMOVE Fin IF (-1 Adv LINK -1C Fin) ;

REMOVE Fin IF (0 Como) (0 Sg1) (NOT -1* Sg1) (NOT -1 Não) ;

SELECT Det IF (-1 Pr OR Fin) (0 Seu) (1 N OR A) ;

SELECT Det IF (-1 Rel) (0 O) (1 N OR A) ;

SELECT Det IF (-1 BOS) (0 O) (1 N OR A) ;

SELECT Det IF (0 O) (1 De) ;

SELECT Det IF (0 O) (1 Poder) ;

SELECT N IF (-1 O) (0 Poder) ;

SELECT Det IF (0 ("o")) (1 unknown) ;

SELECT Det IF (0 DemDetPrn) (1C N OR unknown) ;

SELECT Det OR Prn IF (0 DemDetPrn) (-1C Barrera_Inicial_Estrict_SN OR V) ;

SELECT Prn IF (0 DemDetPrn + &&Number) (-1C Barrera_Inicial_Estrict_SN) (1 Ser + P3 + &&Number) ;
SELECT Ser IF (-1 DemDetPrn + &&Number) (0 Ser + P3 + &&Number) (NOT 0 Ir + P3 + &&Number) ;

SELECT Prn IF (0 Este) (1C V) (NOT -2 Det + MascSg) (NOT -1 N + MascSg) ;

SELECT Pr IF (0 Segundo) (-1C Barrera_Inicial_Estrict_SN) ;

REMOVE Fin IF (-1 De) (NOT -1/* Prn) (0 Fin OR N) ;

REMOVE Fin IF (-1 Fin) (0 Seu) ;

SELECT N IF (-1 De) (0 Vista) ;

REMOVE Pro IF (1C N) ;

REMOVE Tonic IF (0 Dem) (1 N) ;

REMOVE N IF (-1C N) (0 A OR PP) (0 N) ;

REMOVE SUB:1 Prn IF (0 De OR Em) (1 N) ;

SELECT Rel IF (-1 N) (0 Que) (1 Se LINK 1 Fin) ;

SELECT Rel IF (-1C Pr) (0 Que) ;

SELECT CS IF (-1C Fin) (0 Que) ;

SELECT CS IF (-1C Ger) (0 Que) ;

SELECT Det + &&Gender IF (0 Qualquer) (1 N + &&Gender) ;

SELECT Det + &&Gender IF (0 Nenhum) (1 N + &&Gender) ;

REMOVE Haver IF (NOT 1* PP) ;

SELECT Haver IF (0C Ter) (1C PP) ;

REMOVE Tender IF (0 Ter) (1 PP);		# tendo alterado

SELECT Rel IF (-1 De) (-1/* Detnt) ;

REMOVE Det + &&Number IF (1C N) (NOT 1C &&Number) (NOT 0 Restantes) ;

SELECT Pr IF (1C Det LINK 1 N) ;

SELECT Det IF (-1 Sobre) (0C Det OR Pr) ;

SELECT Det IF (-1 Permitir OR Utilizar) (1 A OR N) ;

SELECT CS IF (-1 Até OR De) (0 Que) ;

SELECT Inf IF (-1C Vbmod) (0C V) ;

SELECT Inf IF (-1C Vbmod) (0 Ser) ;

SELECT Inf IF (-1C Ter/de) ;

SELECT Rel IF (-1C O) ;

SELECT Detnt IF (1C Que) ;

SELECT SUB:1 Detnt IF (1C Que) ;

REMOVE Fin IF (-1C Det) ;

SELECT Pro IF (-1 Rel OR Não) (0 Se) (1 Fin) ;

SELECT Pro IF (-1 N LINK -1 Cujo) (0 Se) (1 Fin) ;

SELECT Pro IF (NOT -1* Fin) (NOT -1 BOS) (0 Se) ;

SELECT Pr IF (0 Pr) (1 Como) (2 Se) (3 Fin) ;

SELECT Adv IF (0C Adv OR Interj) (NOT -1 Cm) (NOT 1 Cm) (NOT 1* Excl) ;

SELECT N + &&Gender IF (-1 Det + &&Gender) (0C N OR A) (1 De) ;

SELECT Pr IF (-1 Num) (0 Pr OR Det) (1 Num) ;

SELECT Interr IF (-1 BOS) (0 Como) (1* Fin LINK 1* Quest) ;
SELECT Interr IF (-1 BOS) (0 Que) (1* Quest) ;

SELECT Pr IF (-1 Fin) (0 Pela OR Pelo) (1 N OR A) ;
SELECT Pr IF (-1 PP) (0 Pela OR Pelo) ;
SELECT Pr IF (0 Pela OR Pelo) (1 unknown) ;
SELECT Pr IF (0 ("pelo") + &&GenderNumber) (NOT -1/* Det + &&GenderNumber); 
SELECT Pr IF (0 ("pelo") + &&GenderNumber) (-1 ("um") + &&GenderNumber) (1 ("outro") + &&GenderNumber);
SELECT Pr IF (0 ("pelo") + &&GenderNumber) (-1 ("um") + &&GenderNumber) (1 ArtDef + &&GenderNumber) (2 ("outro") + &&GenderNumber);

REMOVE N IF (-1 ("ficar") + &&Number) (0 A + &&Number) ;

REMOVE N IF (0 ("pouco")) (NOT -1 Det) ;

REMOVE Det IF (1C Prn) ;

REMOVE NotMasc IF (0 Det) (1C Masc) ;

REMOVE NotFem IF (0 Det) (1C Fem) ;

REMOVE Det IF (0 ArtDef + Fem) (1C V) ;

SELECT Rel IF (-1 Ao) ;

SELECT PreAdv OR Adv IF (0 Bastante) (1C A LINK NEGATE 1* N BARRIER (*) - A - Adv) ;
SELECT A IF (0 Bastante) (1C N) ;
SELECT PreAdv IF (0 Bastante) (1C A) ;
SELECT PreAdv IF (-1 N + &&Gender) (0 Bastante) (1 A + &&Gender) ;

SELECT PreDet IF (0 Todo + &&GenderNumber) (1 Det + &&GenderNumber) (2 N + &&GenderNumber) ;
REMOVE PreDet IF (0 Todo + &&GenderNumber) (NOT 1 Det + &&GenderNumber) ;
REMOVE A IF (0 Todo + &&GenderNumber) (NOT -1 N + &&GenderNumber) ;
REMOVE Det IF (0 Todo) (1C Barrera_Final_SN OR Adv) ;
SELECT Prn IF (0 Todo + MascPl) (1 ("junto") + MascPl) ;
SELECT Prn IF (0 Todo + FemPl) (1 ("junto") + FemPl) ;

SELECT A + &&GenderNumber IF (0 Ordinal + &&GenderNumber) (0 N) (1 N + &&GenderNumber) ;

SELECT A + &&GenderNumber IF (-1/* Det + &&GenderNumber) (0 ("grande") + &&GenderNumber) (1 N + &&GenderNumber) ;
SELECT N + &&GenderNumber IF (-2/* Det + &&GenderNumber) (-1 ("grande") + &&GenderNumber) (0 N + &&GenderNumber) ;

SELECT A + &&GenderNumber IF (-1/* Det + &&GenderNumber) (0 ("médio") + &&GenderNumber) (1 N + &&GenderNumber) ;
SELECT A + &&GenderNumber IF (0 ("médio") + &&GenderNumber) (1C N + &&GenderNumber) ;
SELECT A + &&GenderNumber IF (0 ("médio") + &&GenderNumber) (1C Top + &&GenderNumber) ;

SELECT N IF (-1 Falar) (0 Language) ;

SELECT ArtPos IF (0 ArtPos + &&GenderNumber) (1 N + &&GenderNumber) ;
SELECT ArtPos IF (0 ArtPos + &&GenderNumber) (1 A + &&GenderNumber) (2 N + &&GenderNumber) ;
SELECT ArtPos IF (1 unknown) ;

# Palavras especiais

SELECT N IF (0 ("este") + MascSg) (-1 ("o") + MascSg);
SET PuntosCardinals = ("oeste") OR ("sul") OR ("norte");
REMOVE N IF (0 ("este")) (-1 Pr) (NOT 2 ("oeste"i)) (NOT -2 ("oeste"i));	
REMOVE N IF (0 ("este")) (1 Verb) (1 (p3)) (NOT -1 PuntosCardinals) (NOT -2 PuntosCardinals) (NOT 0 MajIni2);
REMOVE N IF (0 ("este")) (1 Verb) (1 (p3)) (-1 BOS);
#REMOVE N IF (0 ("este")) (-1 SerEstarParecer) (0 Det + MascSg);
REMOVE Ir IF (-1 ("este")) (0 Ser) (0 Ir); # más probable: este fue (=ser)

# "como" (copiats de spa.rlx, però no aporten res, o sigui que ho deixo comentat)
#REMOVE Verb + Pers IF (0 Verb + Pers) (0 N) (-1C/* ("<como>"i)) (NOT 0 Ser OR Vbmod OR Haver OR ("pasar") OR ("chamar") OR ("tratar"));
#SELECT Adv IF (0 ("como")) (1 Rel) ;			# como (no preposición en: como el que, como los que...)
#REMOVE V IF (0 ("como")) (*-1 V BARRIER Cnj_Rel) ;	# no funciona sempre
#SELECT Adv IF (0 ("tanto")) (*1 ("como") BARRIER CS) ;
#REMOVE Verb IF (-1* ("tanto") BARRIER CS) (0 ("como")) ;
#SELECT V IF (0 ("<como>"i)) (-1 Pro);		#caso diferente: la coma
#REMOVE PP IF (-1 ("como")) (0 N) (0 PP + MascSg) (NOT 1 N + MascSg);	#como resultado

SELECT V IF (0 ("chamar"i)) (1/* ("a"i)); 
SELECT V IF (0 ("chamar"i)) (1 Adv) (2/* ("a"i)); 
SELECT V IF (0 ("chamar"i)) (-1 Rel); 
SELECT V IF (0 ("chamar"i) + PP + &&GenderNumber) (-1/* Det + &&GenderNumber) (1 Noun_Adj + &&GenderNumber) ; # a chamada medida velha

SELECT V IF (0 ("contar"i)) (1 ("com"i)); 
SELECT V IF (0 ("contar"i)) (1 Adv) (2 ("com"i)); 

SELECT V IF (0 ("pasante"i)) (1 ("por"i)); 

SELECT V IF (0 ("voltar"i)) (1 ("a"i)) (2 Inf); 	# Carlos volta a gravar

SELECT Rel IF (-1 Pr) (0 ("que"i)) ;		# em que

SELECT Interr IF (0 ("qual"i)) (1 Ser); 
SELECT Interr IF (-1C V) (0 ("qual"i)); 

SELECT N IF (0 ("<rio>")) (1 unknownMajIni); 	# rio XXXX

REMOVE V IF (0 ("logo")) ;	# logo após

SELECT N IF (0 ("capital")) (1 ("de"));
SELECT N IF (0 ("capital")) (-1/* Det);

SELECT A IF (0 ("quarto")) (1 ("a"));		# o quarto a ocupar a cadeira

REMOVE Masc IF (0 Parte) (NOT -1 Gender) (NOT 1 Gender);
REMOVE Masc IF (0 Parte) (NOT -1 Gender) (1 NotMasc);
REMOVE Masc IF (0 Parte) (-1 NotMasc) (NOT 1 Gender);
REMOVE Masc IF (0 Parte) (-1 NotMasc) (NOT 1 NotMasc);
REMOVE Masc IF (-1 Em) (0 Parte) ;
SELECT Fem IF (-1 Ser OR ("formar")) (0 Parte) ;

SELECT Prn IF (0 ("consigo")) (1 ("proprio"));

SELECT Masc IF (-1 ("em")) (0 ("ré")) ;
SELECT Masc IF (0 ("ré")) (1 ("maior") OR ("menor")) ;

SELECT Masc IF (-1 Num) (0 Grama) ;
SELECT Masc IF (-2 (".*ésim[ao][s]*"r)) (-1 De) (0 Grama) ;
SELECT Fem IF (NOT -2 (".*ésim[ao][s]*"r)) (-1 De) (0 Grama) ;

LIST unknownMajIni = ("\\*[A-ZÀÁÈÉÊÍÒÓÔÚÜÇ].*"r) ;

SELECT Masc IF (0 ("ré")) (1 ("maior") OR ("menor")) ;

#SELECT CC IF (0 ("quer")) (1 V + Pers) (NOT 1 V + Inf) ;
SELECT CC IF (0 ("quer")) (1* ("quer")) ;
SELECT CC IF (0 ("quer")) (-1* ("quer")) ;
SELECT P3 OR Pis IF (-1C ("quer") + CC) (0 V + Pers) ;
SELECT Prs OR Pis IF (-1C ("quer") + CC) (0 V + Pers) ;

# ADJ NOM

# elimina la opción "adjetivo" de aquellos adjetivos que sólo pueden anteceder un nombre ("buen", "mal", etc.) y no están delante de uno
REMOVE:pre_adj_1 A IF (0 PreAdj) (NOT 1 N) ;

REMOVE:r_na_6_ms A OR PP IF (-2 Det + $$MascSg) (-1C A + $$MascSg) (0 Noun_Adj_PP + $$MascSg LINK 0 N OR NP) (1 Barrera_Final_SN OR Ant_Cog) ;
REMOVE:r_na_6_fs A OR PP IF (-2 Det + $$FemSg) (-1C A + $$FemSg) (0 Noun_Adj_PP + $$FemSg LINK 0 N OR NP) (1 Barrera_Final_SN OR Ant_Cog) ;
REMOVE:r_na_6_mp A OR PP IF (-2 Det + $$MascPl) (-1C A + $$MascPl) (0 Noun_Adj_PP + $$MascPl LINK 0 N OR NP) (1 Barrera_Final_SN OR Ant_Cog) ;
REMOVE:r_na_6_fp A OR PP IF (-2 Det + $$FemPl) (-1C A + $$FemPl) (0 Noun_Adj_PP + $$FemPl LINK 0 N OR NP) (1 Barrera_Final_SN OR Ant_Cog) ;
## PERO: una densa doble capa de pelo

REMOVE:r_na_6_msc A OR PP IF (-2 Det + $$MascSg) (-1C A + $$MascSg) (0 Noun_Adj_PP + $$MascSg LINK 0 N OR NP) (1 CM) (2 Barrera_Final_Estrict_SN) ;
REMOVE:r_na_6_fsc A OR PP IF (-2 Det + $$FemSg) (-1C A + $$FemSg) (0 Noun_Adj_PP + $$FemSg LINK 0 N OR NP) (1 CM) (2 Barrera_Final_Estrict_SN) ;
REMOVE:r_na_6_mpc A OR PP IF (-2 Det + $$MascPl) (-1C A + $$MascPl) (0 Noun_Adj_PP + $$MascPl LINK 0 N OR NP) (1 CM) (2 Barrera_Final_Estrict_SN) ;
REMOVE:r_na_6_fpc A OR PP IF (-2 Det + $$FemPl) (-1C A + $$FemPl) (0 Noun_Adj_PP + $$FemPl LINK 0 N OR NP) (1 CM) (2 Barrera_Final_Estrict_SN) ;
REMOVE:r_na_6b_ms A OR PP IF (-2C Verb) (-1C A + $$MascSg) (0 Noun_Adj_PP + $$MascSg LINK 0 N OR NP) (1 Barrera_Final_SN) ;
REMOVE:r_na_6b_fs A OR PP IF (-2C Verb) (-1C A + $$FemSg) (0 Noun_Adj_PP + $$FemSg LINK 0 N OR NP) (1 Barrera_Final_SN) ;
REMOVE:r_na_6b_mp A OR PP IF (-2C Verb) (-1C A + $$MascPl) (0 Noun_Adj_PP + $$MascPl LINK 0 N OR NP) (1 Barrera_Final_SN) ;
REMOVE:r_na_6b_fp A OR PP IF (-2C Verb) (-1C A + $$FemPl) (0 Noun_Adj_PP + $$FemPl LINK 0 N OR NP) (1 Barrera_Final_SN) ;
REMOVE:r_na_6b_msc A OR PP IF (-2C Verb) (-1C A + $$MascSg) (0 Noun_Adj_PP + $$MascSg LINK 0 N OR NP) (1 CM) (2 Barrera_Final_Estrict_SN) ;
REMOVE:r_na_6b_fsc A OR PP IF (-2C Verb) (-1C A + $$FemSg) (0 Noun_Adj_PP + $$FemSg LINK 0 N OR NP) (1 CM) (2 Barrera_Final_Estrict_SN) ;
REMOVE:r_na_6b_mpc A OR PP IF (-2C Verb) (-1C A + $$MascPl) (0 Noun_Adj_PP + $$MascPl LINK 0 N OR NP) (1 CM) (2 Barrera_Final_Estrict_SN) ;
REMOVE:r_na_6b_fpc A OR PP IF (-2C Verb) (-1C A + $$FemPl) (0 Noun_Adj_PP + $$FemPl LINK 0 N OR NP) (1 CM) (2 Barrera_Final_Estrict_SN) ;

SELECT:r_na_12_ms N IF (-2 Barrera_Inicial_SN LINK NOT 0 Verb) (-1C A + $$MascSg) (0 Noun_Adj_PP + $$MascSg LINK 0 N OR NP) (1 Barrera_Final_Estrict_SN) ;
SELECT:r_na_12_fs N IF (-2 Barrera_Inicial_SN LINK NOT 0 Verb) (-1C A + $$FemSg) (0 Noun_Adj_PP + $$FemSg LINK 0 N OR NP) (1 Barrera_Final_Estrict_SN) ;
SELECT:r_na_12_mp N IF (-2 Barrera_Inicial_SN LINK NOT 0 Verb) (-1C A + $$MascPl) (0 Noun_Adj_PP + $$MascPl LINK 0 N OR NP) (1 Barrera_Final_Estrict_SN) ;
SELECT:r_na_12_fp N IF (-2 Barrera_Inicial_SN LINK NOT 0 Verb) (-1C A + $$FemPl) (0 Noun_Adj_PP + $$FemPl LINK 0 N OR NP) (1 Barrera_Final_Estrict_SN) ;
SELECT:r_na_13_ms N IF (-3 Barrera_Inicial_SN LINK NOT 0 Verb) (-2C Det + $$MascSg) (-1C A + $$MascSg) (0 Noun_Adj_PP + $$MascSg LINK 0 N OR NP) (1 Barrera_Final_Estrict_SN) ;
SELECT:r_na_13_fs N IF (-3 Barrera_Inicial_SN LINK NOT 0 Verb) (-2C Det + $$FemSg) (-1C A + $$FemSg) (0 Noun_Adj_PP + $$FemSg LINK 0 N OR NP) (1 Barrera_Final_Estrict_SN) ;
SELECT:r_na_13_mp N IF (-3 Barrera_Inicial_SN LINK NOT 0 Verb) (-2C Det + $$MascPl) (-1C A + $$MascPl) (0 Noun_Adj_PP + $$MascPl LINK 0 N OR NP) (1 Barrera_Final_Estrict_SN) ;
SELECT:r_na_13_fp N IF (-3 Barrera_Inicial_SN LINK NOT 0 Verb) (-2C Det + $$FemPl) (-1C A + $$FemPl) (0 Noun_Adj_PP + $$FemPl LINK 0 N OR NP) (1 Barrera_Final_Estrict_SN) ;

# NOM ADJ

REMOVE:r_na_1_ms A OR PP IF (-1 Barrera_Inicial_Estrict_SN) (0 Noun_Adj_PP + $$MascSg LINK 0 N OR NP) (1 Adj_PP + $$MascSg) ;
REMOVE:r_na_1_mp A OR PP IF (-1 Barrera_Inicial_Estrict_SN) (0 Noun_Adj_PP + $$MascPl LINK 0 N OR NP) (1 Adj_PP + $$MascPl) ;
REMOVE:r_na_1_fs A OR PP IF (-1 Barrera_Inicial_Estrict_SN) (0 Noun_Adj_PP + $$FemSg LINK 0 N OR NP) (1 Adj_PP + $$FemSg) ;
REMOVE:r_na_1_fp A OR PP IF (-1 Barrera_Inicial_Estrict_SN) (0 Noun_Adj_PP + $$FemPl LINK 0 N OR NP) (1 Adj_PP + $$FemPl) ;
## jóvenes inteligentes (jóvenes > n)
## jóvenes encapuchadas (jóvenes > n)
## abisenios inteligentes (jóvenes > n)
## escrito largo (escrito > n)

REMOVE:r_na_3_ms_adj A OR PP IF (NOT -1 N OR A OR PP OR Ser) (0 Noun_Adj + $$MascSg LINK 0 N OR NP) (1 Adj_PP + $$MascSg) ;
REMOVE:r_na_3_mp_adj A OR PP IF (NOT -1 N OR A OR PP OR Ser) (0 Noun_Adj + $$MascPl LINK 0 N OR NP) (1 Adj_PP + $$MascPl) ;
REMOVE:r_na_3_fs_adj A OR PP IF (NOT -1 N OR A OR PP OR Ser) (0 Noun_Adj + $$FemSg LINK 0 N OR NP) (1 Adj_PP + $$FemSg) ;
REMOVE:r_na_3_fp_adj A OR PP IF (NOT -1 N OR A OR PP OR Ser) (0 Noun_Adj + $$FemPl LINK 0 N OR NP) (1 Adj_PP + $$FemPl) ;

REMOVE:r_na_3_ms_pp PP IF (NOT -1 N OR Haver) (0 PP + $$MascSg LINK 0 N OR NP) (1 Adj_PP + $$MascSg) ;
REMOVE:r_na_3_mp_pp PP IF (NOT -1 N OR Haver) (0 PP + $$MascPl LINK 0 N OR NP) (1 Adj_PP + $$MascPl) ;
REMOVE:r_na_3_fs_pp PP IF (NOT -1 N OR Haver) (0 PP + $$FemSg LINK 0 N OR NP) (1 Adj_PP + $$FemSg) ;
REMOVE:r_na_3_fp_pp PP IF (NOT -1 N OR Haver) (0 PP + $$FemPl LINK 0 N OR NP) (1 Adj_PP + $$FemPl) ;
## vieron jóvenes inteligentes (jóvenes > n)
## vieron jóvenes encapuchadas (jóvenes > n)
## vieron abisenios inteligentes (jóvenes > n)
## PROBLEMA: con alto contenido (alto > n/adv); ídem per a adj ambigus típicament preposats: alto, bajo, mal (+flaco favor, etc.)

SELECT:na3_ms A OR PP IF (-1 N + $$MascSg) (0 Adj_PP + $$MascSg) (1 Adj_PP + $$MascSg) ;
SELECT:na3_mp A OR PP IF (-1 N + $$MascPl) (0 Adj_PP + $$MascPl) (1 Adj_PP + $$MascPl) ;
SELECT:na3_fs A OR PP IF (-1 N + $$FemSg) (0 Adj_PP + $$FemSg) (1 Adj_PP + $$FemSg) ;
SELECT:na3_fp A OR PP IF (-1 N + $$FemPl) (0 Adj_PP + $$FemPl) (1 Adj_PP + $$FemPl) ;
## "la Primera Conferencia Americana celebrada" (pqè Americana > adj)

# NOM ADJ ADJ

SELECT:naa1_ms A OR PP IF (-2 N + $$MascSg) (-1 Adj_PP + $$MascSg) (0 Adj_PP + $$MascSg) (NOT 0 Det OR NP) ;
SELECT:naa1_mp A OR PP IF (-2 N + $$MascPl) (-1 Adj_PP + $$MascPl) (0 Adj_PP + $$MascPl) (NOT 0 Det OR NP) ;
SELECT:naa1_fs A OR PP IF (-2 N + $$FemSg) (-1 Adj_PP + $$FemSg) (0 Adj_PP + $$FemSg) (NOT 0 Det OR NP) ;
SELECT:naa1_fp A OR PP IF (-2 N + $$FemPl) (-1 Adj_PP + $$FemPl) (0 Adj_PP + $$FemPl) (NOT 0 Det OR NP) ;

# NOM ADJ ADJ ADJ

SELECT:naaa1_ms A OR PP IF (-3 N + $$MascSg) (-2 N + $$MascSg) (-1 Adj_PP + $$MascSg) (0 Adj_PP + $$MascSg) (NOT 0 Det OR NP) ;
SELECT:naaa1_mp A OR PP IF (-3 N + $$MascPl) (-2 N + $$MascPl) (-1 Adj_PP + $$MascPl) (0 Adj_PP + $$MascPl) (NOT 0 Det OR NP) ;
SELECT:naaa1_fs A OR PP IF (-3 N + $$FemSg) (-2 N + $$FemSg) (-1 Adj_PP + $$FemSg) (0 Adj_PP + $$FemSg) (NOT 0 Det OR NP) ;
SELECT:naaa1_fp A OR PP IF (-3 N + $$FemPl) (-2 N + $$FemPl) (-1 Adj_PP + $$FemPl) (0 Adj_PP + $$FemPl) (NOT 0 Det OR NP) ;
## "la Primera Conferencia Internacional Americana celebrada" (pqè Americana > adj)

# NOM ADJ ADJ ADJ ADJ

SELECT:naaa1_ms A OR PP IF (-4 N + $$MascSg) (-3 N + $$MascSg) (-2 N + $$MascSg) (-1 Adj_PP + $$MascSg) (0 Adj_PP + $$MascSg) (NOT 0 Det) ;
SELECT:naaa1_mp A OR PP IF (-4 N + $$MascPl) (-3 N + $$MascPl) (-2 N + $$MascPl) (-1 Adj_PP + $$MascPl) (0 Adj_PP + $$MascPl) (NOT 0 Det) ;
SELECT:naaa1_fs A OR PP IF (-4 N + $$FemSg) (-3 N + $$FemSg) (-2 N + $$FemSg) (-1 Adj_PP + $$FemSg) (0 Adj_PP + $$FemSg) (NOT 0 Det) ;
SELECT:naaa1_fp A OR PP IF (-4 N + $$FemPl) (-3 N + $$FemPl) (-2 N + $$FemPl) (-1 Adj_PP + $$FemPl) (0 Adj_PP + $$FemPl) (NOT 0 Det) ;
## "la Primera Conferencia Internacional Americana celebrada" (pqè Americana > adj)

#REMOVE:r_na_2_2_ms N IF (-3 N + $$MascSg) (-2 Adj_PP + $$MascSg) (-1 Adj_PP + $$MascSg) (0 Adj_PP + $$MascSg) (*1 Adj_PP + $$MascSg) ;
## líder obrero norteamericano afiliado (afiliado > adj)

#REMOVE:r_na_3_ms A OR PP IF (NOT -1 N) (0 Noun_Adj_PP + $$MascSg) (1 Adj_PP + $$MascSg) (*2 Adj_PP + $$MascSg BARRIER NO_Adj_PP) ; # at list one Adj_PP

# NOM ADV ADJ

SELECT:n_adv_a_1_ms A IF (-2C N + $$MascSg) (-1C Adv) (0 A + $$MascSg LINK NOT 0 Det) ;
SELECT:n_adv_a_1_ms A IF (-2C N + $$FemSg) (-1C Adv) (0 A + $$FemSg LINK NOT 0 Det) ;
SELECT:n_adv_a_1_ms A IF (-2C N + $$MascPl) (-1C Adv) (0 A + $$MascPl LINK NOT 0 Det) ;
SELECT:n_adv_a_1_ms A IF (-2C N + $$FemPl) (-1C Adv) (0 A + $$FemPl LINK NOT 0 Det) ;
SELECT:n_adv_a_2_ms A IF (-3 Barrera_Inicial_SN) (-2 N + $$MascSg) (-1C Adv) (0 A + $$MascSg LINK NOT 0 Det) ;
SELECT:n_adv_a_2_ms A IF (-3 Barrera_Inicial_SN) (-2 N + $$FemSg) (-1C Adv) (0 A + $$FemSg LINK NOT 0 Det) ;
SELECT:n_adv_a_2_ms A IF (-3 Barrera_Inicial_SN) (-2 N + $$MascPl) (-1C Adv) (0 A + $$MascPl LINK NOT 0 Det) ;
SELECT:n_adv_a_2_ms A IF (-3 Barrera_Inicial_SN) (-2 N + $$FemPl) (-1C Adv) (0 A + $$FemPl LINK NOT 0 Det) ;
# ". Civiles étnicamente croatas"

# COORDINACIÓN

# NOM CONJ NOM

REMOVE:r_na_7_ms A OR PP IF (-1 Det + $$MascSg) (0 Noun_Adj_PP + $$MascSg LINK 0 N OR NP) (1 CC) (2C N) ;
REMOVE:r_na_7_fs A OR PP IF (-1 Det + $$FemSg) (0 Noun_Adj_PP + $$FemSg LINK 0 N OR NP) (1 CC) (2C N) ;
REMOVE:r_na_7_mp A OR PP IF (-1 Det + $$MascPl) (0 Noun_Adj_PP + $$MascPl LINK 0 N OR NP) (1 CC) (2C N) ;
REMOVE:r_na_7_fp A OR PP IF (-1 Det + $$FemPl) (0 Noun_Adj_PP + $$FemPl LINK 0 N OR NP) (1 CC) (2C N) ;
## un químico y profesor

REMOVE:r_na_10_ms A OR PP IF (-1 Det + $$MascSg) (0 Noun_Adj_PP + $$MascSg LINK 0 N OR NP) (1 CC) (2 Noun_Adj_PP LINK 0 N OR NP) (3 Barrera_Final_SN) ;
SECTION

REMOVE Interr IF (0 Que) (1* Prs BARRIER Fin) ;

SELECT Ifi IF (0C Ifi OR Pmp) ;

SELECT Sg3 IF (0C Sg3 OR Sg1) (NOT -1* Sg1) ;

SELECT Imper IF (0 Sg2 LINK 1* Excl) ;

SELECT Imper IF (-1 ("por favor") OR ("faz favor")) ;
SELECT Imper IF (-2 ("por favor") OR ("faz favor")) ;

SELECT Prs IF (-1* Não BARRIER (*) - Pro) (0 Sg2 LINK 1* Excl) ;

REMOVE Prs IF (0 Pri) (NOT -1* ("se") OR ("que") OR ("ainda que") OR ("embora") OR ("sem bem que")) (NOT 1* ("se") OR ("que") OR ("ainda que") OR ("embora") OR ("sem bem que"));

#SELECT Inf IF (-1 Ir + Pers) ;
SELECT Ir IF (0 ("vão")) (1 Inf) ;

REMOVE Sg2 IF (NOT -1* Sg2) (0 Sg2 OR A) ;

REMOVE Pl2 IF (NOT -1* Pl2) (0 Pl2 OR A) ;

SELECT A IF (0C A OR PP) (NOT 1 Pr) ;

SELECT Det + &&Gender IF (0 Det OR Pr) (1C N + Sg + &&Gender) (NOT 0 Restantes);

SELECT CA IF (0 Se) (1C Interj) ;

REMOVE Imper IF (NOT -1* Interj) (NOT 1* Interj) (NOT 1* Excl) (NOT -1 Cm) ;
  ## Por favor, adicione isso.

SELECT Rel IF (-1 A OR N LINK -1 N OR A OR Pr) (NOT -1 Forma) (0 Que) (1 Fin OR Se OR Não) ;

#SELECT CS IF (-1C Inf) (0 Que) ;

#REMOVE Interr IF (NOT 1* Quest) ;

#REMOVE Pro IF (NOT 1 V OR Prn) (NOT -1 Inf) (NOT -1 Guess/Inf) ;

#SELECT Prn IF (0 Um) (1 De) ;

#SELECT Pro IF (-2 Pr) (-1 Inf) (0 Se) ;
  ## em saber se 

SELECT N IF (0 N + &&GenderNumber) (-1 Cujo + &&GenderNumber) (1 Verb) ;

REMOVE Interj IF (0 ("obrigado")) (-1 Ser OR Haver OR Estar OR Adv OR CM) ;
REMOVE Interj IF (0 ("obrigado")) (-2 Ser OR Haver OR Estar) (-1 Adv) ;

# NP

REMOVE NP IF (-1 BOS) (0 ("Nela")) ;

REMOVE Cog IF (-1 ArtDef) (0 Ant) (0 Cog)  ;
REMOVE Cog IF (-1 Em OR Desde) (0 Top) (0 Cog)  ;
REMOVE Ant IF (-1 Em OR Desde) (0 Top) (0 Ant)  ;
REMOVE Ant IF (-1 ArtDef) (0 Top) (0 Ant)  ;
REMOVE Cog IF (-1 ArtDef) (0 Top) (0 Cog)  ;
SELECT ArtDef IF (0/* ArtDef + &&GenderNumber) (1 Top + &&GenderNumber) (NOT 0 ArtDef + FemSg);	# o Algarve, chamar a Roma
SELECT ArtDef IF (0/* ArtDef + FemSg) (1 Top + FemSg) (NOT 0 ArtDef + FemSg) (NOT -1 V) (NOT -2 V) ;
SELECT ArtDef IF (0/* ArtDef + FemSg) (1 Top + FemSg) (NOT 0 ArtDef + FemSg) (-2 V) (-1 Adv OR Pro) ;
SELECT Top IF (-1/* ArtDef + &&GenderNumber) (0 Top + &&GenderNumber) ;
SELECT ArtDef IF (0 ArtDef + FemSg) (1 ("União Soviética")) ;
SELECT ArtDef IF (0 ArtDef + FemSg) (1 ("União Europeia")) ;
SELECT ArtDef IF (0 ArtDef + FemSg) (1 ("União Européia")) ;
SELECT Top IF (-1 ("alto") + MajIni + &&GenderNumber) (0 Top + &&GenderNumber) ;
SELECT Top IF (-1 ("baixo") + MajIni + &&GenderNumber) (0 Top + &&GenderNumber) ;
SELECT Top IF (1 ("oriental") + &&GenderNumber) (0 Top + &&GenderNumber) ;
SELECT Top IF (1 ("occidental") + &&GenderNumber) (0 Top + &&GenderNumber) ;
SELECT Top IF (1 ("<do>")) (2 ("norte") + MajIni + &&GenderNumber) (0 Top + &&GenderNumber) ;
SELECT Top IF (1 ("<do>")) (2 ("sul") + MajIni + &&GenderNumber) (0 Top + &&GenderNumber) ;

SELECT Ant_Cog IF (1 unknownMajIni) ;	# Marcos XXXX
SELECT Ant_Cog IF (-1 unknownMajIni) ;	# XXXX Luz

SELECT Ant IF (-1 ("apóstolo") OR ("são") OR ("santo") OR ("rei") OR ("rainha") OR ("papa") OR ("príncipe") OR ("princesa") OR ("infante") OR ("conde") OR ("visconde") OR ("duque") OR ("arquiduque") OR ("marquês") OR ("barão")) ;
SELECT Ant IF (1 segles_num_romans) ;

SELECT Ant IF (0 Ant) (1C Ant) ;
        # Rosa Maria
SELECT Cog IF (0 Cog OR Ant) (-1C Ant) ;
SELECT Ant_Cog IF (0 Cog OR Ant) (1C Cog) (NOT 0 ("papa") OR ("príncipe"));
SELECT Ant IF (0 Ant) (0 Cog) (1 ("de")) (2 Top) ;
	# Afonso de Portugal
SELECT Cog IF (0 Cog) (1 Guio) (2 Cog) ;
SELECT Cog IF (-2 Cog) (-1 Guio) (0 Cog) ;
        # Ocasio-Cortez
SELECT Top IF (-2 Ant) (-1 ("de")) (0 Ant OR Cog OR Top) ;
	# Hiparc de Nicea
SELECT Top IF (-3 Ant) (-2 segles_num_romans) (-1 ("de")) (0 Ant OR Cog OR Top) ;
	# Joan II de Castella
SELECT Top IF (-2 ("concili") OR ("parlament") OR ("estatut") OR ("constitució") OR ("tractat") OR ("declaració"))
	(-1 ("de")) (0 Ant OR Cog OR Top) ;
	# concili de Nicea
SELECT Top IF (-2 ("coroa") OR ("reino") OR ("condado") OR ("ducado")) (-1 ("de")) (0 Cog OR Top) ;
	# regne de Castella
SELECT Top IF (-2 Dignidade) (-1 ("de")) (0 Ant OR Cog OR Top) ;
	# príncep de Viana
SELECT Ant_Cog IF (-1C Ant_Cog) (0 NP) ;
SELECT Top IF (-2 ("ir") OR ("viajar")) (-1 ("a")) (0 Ant OR Cog OR Top) ;
REMOVE Top IF (NOT -2 ("ir") OR ("viajar")) (-1 ("a")) (0C Ant OR Cog OR Top) ;
SELECT Top IF (-3 ("ir") OR ("viajar")) (-2 ("a")) (-1 ArtDef) (0 Ant OR Cog OR Top) ;
REMOVE Top IF (NOT -3 ("ir") OR ("viajar")) (-2 ("a")) (-1 ArtDef) (0C Ant OR Cog OR Top) ;
SELECT Top IF (-2 NP) (-1 ("de")) (0 Ant OR Cog OR Top) ;

SELECT Top IF (-2C Top) (-1 Cm OR CC) (0 Top) (0 Cog OR Ant);
SELECT Top IF (2 Top) (1 Cm OR CC) (0 Top) (0 Cog OR Ant);

SELECT NP IF (0 NP) (NOT -1 BOS) (NOT 0 TotMaj) (NOT 0 ("Sol") OR ("Lua") OR ("Filho") OR ("Natal") OR ("Santo") OR ("Santa") OR ("Papa") OR ("Deus") OR ("Cruz") OR ("Conceição") OR ("Guerra") OR ("Civil") OR ("Casa") OR ("Justícia") OR ("Batalha") OR ("Grande") OR ("Novo") OR ("Ponte") OR ("Volta") OR ("Janeiro") OR ("Abril") OR ("Maio") OR ("Real") OR ("Romano") OR ("Mundo") OR ("Branco") OR ("Conde") OR ("Duque") OR ("Marquês") OR ("Principe") OR ("Câmara") OR ("Golfo") OR ("Paz") OR ("Maior")) ;
	# Exceptuem paraules que, per una raó o altra, es posen en majúscules sense ser NP


REMOVE N IF (-1/* Det + &&GenderNumber) (0 Top + &&GenderNumber) (0 N) ;	# a Síria
REMOVE A IF (-1/* Det + &&GenderNumber) (0 Top + &&GenderNumber) (0 A) ;	# a Síria
SELECT Det IF (-1 Barrera_Inicial_Estrict_SN) (0/* Det + &&GenderNumber) (1 Top + &&GenderNumber) ;	# fugir para a Dinamarca
SELECT Pr IF (0 Pr) (0/* Det + &&GenderNumber) (1 Top + &&GenderNumber) (NOT 0 ("a"));	# pela Armênia / nos Estados Unidos / a Guatemala
SELECT Pr IF (0 Pr) (0/* Det + &&GenderNumber) (1 Al + &&GenderNumber) (NOT 0 ("a"));	# nos Jogos Olímpicos
#SELECT Det IF (0/* Det ) (1 Top ) ;	# fugir para a Dinamarca / nos Estados Unidos
#SELECT Det IF (0/* Det ) ;	# fugir para a Dinamarca / nos Estados Unidos

REMOVE Prn IF (0 Det + &&GenderNumber) (1 NP + &&GenderNumber) ;	# o João / o Sri Lanka

# São
SELECT Ser IF (0 São + MinIni) (-1 Noun_Adj_PP + Pl);
SELECT Ser IF (0 São + MinIni) (-2 Noun_Adj_PP + Pl) (-1 Adv);
SELECT Ser IF (0 São + MinIni) (-3 Noun_Adj_PP + Pl) (-2 Pr) (-1 NP);	# A maioria dos dinossauros em Portugal são do Jurássico Superior
SELECT Ser IF (0 São ) (1 Noun_Adj_PP + Pl);
SELECT Ser IF (0 São) (1 Adv_PreAdv) (2 A + Pl);
SELECT Ser IF (0 São) (1 Num);
SELECT Ser IF (0 São) (1 DP);
SELECT A IF (0 São) (1 NP);
SELECT A IF (0 São) (1 unknownMajIni);
SELECT Ser IF (0 São) (1 unknownMinIni);

#nuboros rules
REMOVE A IF (-1 Barrera_Inicial_Estrict_SN) (0 N OR A + $$MascSg LINK 0 N OR NP) (1 A OR PP + $$MascSg) (NOT 0 Ordinal) ;
##jovem inteligente

REMOVE PP IF (-1 Barrera_Inicial_Estrict_SN) (0 N OR PP + $$MascSg LINK 0 N OR NP) (1 A OR PP + $$MascSg) ;
##escrito grande

REMOVE A IF (-1 Barrera_Inicial_Estrict_SN) (0 N OR A + $$MascPl LINK 0 N OR NP) (1 A OR PP + $$MascPl) (NOT 0 Ordinal) ;
##velhos inteligentes

REMOVE A IF (-1 Barrera_Inicial_Estrict_SN) (0 N OR A + $$FemSg LINK 0 N OR NP) (1 A OR PP + $$FemSg) (NOT 0 Ordinal) ;
##capital antiga

REMOVE A IF (-1 Barrera_Inicial_Estrict_SN) (0 N OR A + $$FemPl LINK 0 N OR NP) (1 A OR PP + $$FemPl) (NOT 0 Ordinal) ;
##velhas bonitas
