# # Motore di disambiguazione - Versione 2.0 # # Modulo 4: # Disambiguazione di: # # - preposizioni, verbi, congiunzioni, pronomi, ecc. # function assegna(campo, pos, end, cpn, cp, csp, sp, spl, cl) { cpn = 1 cp = split (campo, sp, /\);\(/) csp = split (sp[1], spl, /\(/) pos = pos "," while (cpn <= cp) { if (cpn > cp) break if (sp[cpn] ~ pos) { if (sp[cpn] ~ /\)$/ || sp[cpn] ~ /\)¾$/) { cl = sp[cpn] sub (/\)/, "", cl) print spl[1] cl } else if (cpn == 1) print spl[1] spl[2] end else print spl[1] sp[cpn] end } cpn++ } } function assegna2(campo2, pos2, end2, cpn, cp, csp, sp, spl, cl, part, pos3) { cpn = 1 cp = split (campo2, sp, /\);\(/) csp = split (sp[1], spl, /\(/) pos3 = pos2 "," if (cp > 2) { while (cpn <= cp) { if (cpn > cp) break if (sp[cpn] ~ pos3 && cpn == 1) part = spl[2] ");(" else if (sp[cpn] ~ pos3 && cpn != cp) part = part sp[cpn] ");(" else if (sp[cpn] ~ pos3 && cpn == cp) part = part sp[cpn] cpn++ } if (part ~ /;\($/) { if (campo2 ~ /¾$/) sub (/;\($/, "¾", part) else sub (/;\($/, "", part) } if (part ~ /\);\(/) print spl[1] "(" part else { sub (/\)/, "", part) print spl[1] part } part = "" } else { assegna(campo2, pos2, end2) } } function assegna3(campo3, pos3, end3, cpn, cp, csp, sp, spl, cl) { cpn = 1 cp = split (campo3, sp, /\);\(/) csp = split (sp[1], spl, /\(/) pos3 = pos3 "," while (cpn <= cp) { if (cpn > cp) break if (sp[cpn] !~ pos3) { if (sp[cpn] ~ /\)$/ || sp[cpn] ~ /\)¾$/) { cl = sp[cpn] sub (/\)/, "", cl) print spl[1] cl } else if (cpn == 1) print spl[1] spl[2] end3 else print spl[1] sp[cpn] end3 } cpn++ } } function assegna4(campo4, pos4, end4, cpn, cp, csp, sp, spl, cl, part, pos5) { cpn = 1 cp = split (campo4, sp, /\);\(/) csp = split (sp[1], spl, /\(/) pos5 = pos4 "," if (cp > 2) { while (cpn <= cp) { if (cpn > cp) break if (sp[cpn] !~ pos5 && cpn == 1) part = spl[2] ");(" else if (sp[cpn] !~ pos5 && cpn != cp) part = part sp[cpn] ");(" else if (sp[cpn] !~ pos5 && cpn == cp) part = part sp[cpn] cpn++ } if (part ~ /;\($/) { if (campo4 ~ /¾$/) sub (/;\($/, "¾", part) else sub (/;\($/, "", part) } if (part ~ /\);\(/) print spl[1] "(" part else { sub (/\)/, "", part) print spl[1] part } part = "" } else { assegna3(campo4, pos4, end4) } } BEGIN { RS = "" # gestisce l'input come se fosse formato da una riga unica ORS = " " # inserisce uno spazio alla fine di ogni 'print' nf = 1 # # Feature Declaration # E' possibile creare regole basate su features numeriche o sigle. # pers_1 = ",1," pers_2 = ",2," pers_3 = ",3," gend_masc = ",4," gend_fem = ",5," gend_c = ",4;5," numb_sg = ",6," numb_pl = ",7," numb_n = ",6;7," degr_pos = ",8," degr_comp = ",9," degr_sup = ",10," loc_const = ",11," loc_two = ",12," loc_three = ",13," loc_four = ",14," loc_five = ",15," loc_six = ",16," loc_seven = ",17," loc_eight = ",18," loc_nine = ",19," # ---------------- n_c = ",20," n_p = ",21," adj = ",26," PD_dem_s = ",30," PD_dem_w = ",31," PD_ind = ",32," PD_pos_s = ",33," PD_pos_w = ",34," PD_int = ",35," PD_rel = ",36," PD_per_s_n = ",37," PD_per_s_o = ",38," PD_per_w_o = ",39," PD_exc = ",40," adv_g = ",45," adv_p = ",46," con_c = ",50," con_s = ",51," adp_pre = ",56," adp_post = ",57," art_d = ",60," art_i = ",61," num_c = ",64," num_o = ",65," intj = ",68," pun_f = ",70," pun_n = ",71," r_frg = ",75," r_abb_ = ",76," r_for = ",77," r_epe = ",78," v_m_f_ind_pr = ",111," v_m_f_ind_im = ",112," v_m_f_ind_pa = ",113," v_m_f_ind_fu = ",114," v_m_f_sub_pr = ",115," v_m_f_sub_im = ",116," v_m_f_cnd_pr = ",117," v_m_f_imp_pr = ",118," v_m_n_i_pr = ",121," v_m_n_p_pr = ",122," v_m_n_p_pa = ",123," v_m_n_g_pr = ",124," v_a_f_ind_pr = ",211," v_a_f_ind_im = ",212," v_a_f_ind_pa = ",213," v_a_f_ind_fu = ",214," v_a_f_sub_pr = ",215," v_a_f_sub_im = ",216," v_a_f_cnd_pr = ",217," v_a_f_imp_pr = ",218," v_a_n_i_pr = ",221," v_a_n_p_pr = ",222," v_a_n_p_pa = ",223," v_a_n_g_pr = ",224," v_d_f_ind_pr = ",311," v_d_f_ind_im = ",312," v_d_f_ind_pa = ",313," v_d_f_ind_fu = ",314," v_d_f_sub_pr = ",315," v_d_f_sub_im = ",316," v_d_f_cnd_pr = ",317," v_d_f_imp_pr = ",318," v_d_n_i_pr = ",321," v_d_n_p_pr = ",322," v_d_n_p_pa = ",323," v_d_n_g_pr = ",324," } # { while (nf <= NF) { # !*!* Inizio regole di disambiguazione *!*! # # Creazione di 3 puntatori: # 'nf' -> punta al campo corrente # 'bw' -> punta al campo che precede 'nf' di N posizioni # 'fw' -> punta al campo che segue 'nf' di N posizioni # campo = $nf fw = nf fw++ if ($fw ~ /\@/ || $fw ~ /\%/ || $fw ~ /\$/ || $fw ~ /\œ/ || $fw ~ /\#/) fw++ if ($fw ~ /\@/ || $fw ~ /\%/ || $fw ~ /\$/ || $fw ~ /\œ/ || $fw ~ /\#/) fw++ if ($fw ~ /\@/ || $fw ~ /\%/ || $fw ~ /\$/ || $fw ~ /\œ/ || $fw ~ /\#/) fw++ # omette le stringhe contenenti: # '@' # '%' # '$' # 'œ' # '#' bw = nf if (nf >=2) bw-- if (($bw ~ /\@/ || $bw ~ /\%/ || $bw ~ /\$/ || $bw ~ /\œ/ || $bw ~ /\#/) && bw > 2) bw-- if (($bw ~ /\@/ || $bw ~ /\%/ || $bw ~ /\$/ || $bw ~ /\œ/ || $bw ~ /\#/) && bw > 2) bw-- if (($bw ~ /\@/ || $bw ~ /\%/ || $bw ~ /\$/ || $bw ~ /\œ/ || $bw ~ /\#/) && bw > 2) bw-- # omette le stringhe contenenti: # '@' # '%' # '$' # 'œ' # '#' if (campo ~ /\@/ || campo ~ /\%/ || campo ~ /\$/ || campo ~ /\œ/ || campo ~ /\#/) { print campo nf++ } # omette le stringhe non ambigue: else if (campo !~ /\);\(/ && campo !~ /[0-9];[0-9]/) { print campo nf++ } # # (2) Regola vera e propria # # Regola di controllo per evitare assegnazioni improprie con nomi masc. sing./plur. # Se la base di dati oggetto di elaborazione è corretta, la regola non deve applicarsi # # if ($bw ~ /\);\(/ && $bw ~ /,60,0,4,6,/ && $bw ~ /,60,0,4,7,/ && (campo ~ /,20,/ || campo ~ /,21,/ || campo ~ /,76,/) && campo !~ /\);\(/ && campo ~ /,4,6;7,/) # { # nf++ # print campo # } # # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'Da' # # else if (campo ~ /^Da_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ # Regola per la disambiguazione della preposizione: # # DA =118 (nM) # # tutti 56 dopo gcl tranne # # da ögli 56 tranne 118 da ögli con essa la guarnacca # da öe sempre 111 # da + öl- => 56 tranne ® Da ölli CC marchi d' argento ¯ . # da\mmi 1 lem=dare,118,2,0,6,0,0 # Da\mme\ne # if ($fw ~ /^ömmi_/ || ($fw ~ /^ölli_/ && $ffw ~ /^CC_/) || ($fw ~ /^ö/ && $ffw ~ /^ö/)) { assegna(campo, "118", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della congiunzione 'Da' # else if ($fw ~ /,[123]21,/ || ($fw ~ /lem=non/ && $ffw ~ /,[123]21,/)) { assegna(campo, "51", end) } else { assegna(campo, "56", end) } } else if (campo ~ /^da_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ bbw = bw bbw-- ffw = fw ffw++ # Regola per la disambiguazione della preposizione: # # DA =118 (nM) # # tutti 56 dopo gcl tranne # # da ögli 56 tranne 118 da ögli con essa la guarnacca # da öe sempre 111 # da + öl- => 56 tranne ® Da ölli CC marchi d' argento ¯ . # da\mmi 1 lem=dare,118,2,0,6,0,0 # Da\mme\ne # # Regola per la disambiguazione del verbo: # il clitico deve essere seguito da clitico o part. pass. non ambiguo if ($fw ~ /^öe_/) { assegna(campo, "111", end) } else if ($fw ~ /^ömmi_/ || ($fw ~ /^ögli_/ && $ffw ~ /^con_/) || ($fw ~ /^ölli_/ && $ffw ~ /^CC_/) || ($fw ~ /^ö/ && $ffw ~ /^ö/)) { assegna(campo, "118", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della congiunzione 'da' # else if (($fw ~ /,[123]21,/ && $fw !~ /\);\(/) || ($fw ~ /lem=non/ && $ffw ~ /,[123]21,/) || ($bbw ~ /^non_/ && $bw ~ /^so_/)) { assegna(campo, "51", end) } else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della parola 'Di' # # else if (campo ~ /^Di_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ # Regola per la disambiguazione del verbo: # sufficiente che sia seguito da clitico if ($fw ~ /^ö/) { assegna(campo, "118", end) } else # Regola per la disambiguazione della preposizione: { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della parola 'di' # # else if (campo ~ /^di_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ # Regola per la disambiguazione del verbo: # sufficiente che sia seguito da clitico if ($fw ~ /^ö/) { assegna(campo, "118", end) } # # Regola per la disambiguazione esterna della congiunzione 'di' # else if (($fw ~ /,[123]21,/ || $fw ~ /^mai_/ || $fw ~ /^fedelmente_/) || (($fw ~ /lem=non,/ || $fw ~ /lem=bene,/ || ($fw ~ /lem=male,/ && $bw !~ /^e_/) || $fw ~ /^tanto_/ || $fw ~ /^pi—_/ || $fw ~ /s/) && $ffw ~ /,[123]21,/)) { assegna(campo, "51", end) } else # Regola per la disambiguazione della preposizione: { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della parola 'di' - forma 'de' # quando seguita da clitici # DE (mM) # # de + ögcl => 56 # tranne # de\si 1 lem=dovere,311,3,0,6,0,0 # de\ne 1 lem=dovere,311,3,0,6,0,0 # De\ne 2 lem=dovere,311,3,0,6,0,0 # de\li\ne 1 lem=dare,113,1,0,6,0,0 # else if (campo ~ /^De_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ # Regola per la disambiguazione del verbo: if ($fw ~ /^ösi_/ || $fw ~ /^öne_/) { assegna(campo, "311", end) } # Regola per la disambiguazione della congiunzione: else if ($fw ~ /^eleggere_/) { assegna(campo, "51", end) } # Regola per la disambiguazione della preposizione: else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della parola 'di' - forma 'de' # quando seguita da clitici # DE (mM) # # de + ögcl => 56 # tranne # de\si 1 lem=dovere,311,3,0,6,0,0 # de\ne 1 lem=dovere,311,3,0,6,0,0 # De\ne 2 lem=dovere,311,3,0,6,0,0 # de\li\ne 1 lem=dare,113,1,0,6,0,0 # else if (campo ~ /^de_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ # Regola per la disambiguazione della congiunzione: if ($fw ~ /^andare_/ || $fw ~ /^eleggere_/ || $bw ~ /^isaminare_/ || $fw ~ /^parlare_/) { assegna(campo, "51", end) } # Regola per la disambiguazione del verbo: else if ($fw ~ /^ösi_/ || $fw ~ /^öne_/ || $fw ~ /,[123]21,/) { assegna(campo, "311", end) } else if ($fw ~ /^öli_/ && $ffw ~ /^öne_/) { assegna(campo, "113", end) } else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della parola "D'" # # else if (campo ~ /^D'_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ # # Regola per la disambiguazione esterna della congiunzione "D'" # if ($fw ~ /,[123]21,/) { assegna(campo, "51", end) } # Regola per la disambiguazione della preposizione: else if ($fw ~ /^allora_/) { assegna(campo, "di;da,56", end) } # Regola per la disambiguazione della preposizione 'Da': else if ($fw ~ /^altra_/) { assegna(campo, "=da,56", end) } else { assegna(campo, "=di,56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della parola "d'" # # else if (campo ~ /^d'_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ # # Regola per la disambiguazione esterna della congiunzione "d'" # if ($fw ~ /,[123]21,/) { if (($bw ~ /^Š_/ && ($fw ~ /^avere_/ || $fw ~ /^aiutare_/ || $fw ~ /^aprendere_/ || $fw ~ /^operare_/)) || $fw ~ /^amonire_/ || $fw ~ /^amaestrare_/) { assegna(campo, "=da,51", end) } else if (($bw ~ /^tempo_/ && $fw ~ /^attendere_/) || ($bw ~ /^parr…_/ && $fw ~ /^avere_/) || ($bw ~ /^via_/ && ($fw ~ /^acquistar_/ || $fw ~ /^intendere_/)) || $bw ~ /^apparecchiamento_/ || $bw ~ /^guardassi_/ || $bw ~ /^passaggio_/) { assegna2(campo, "di;da,51", end) } else { assegna(campo, "=di,51", end) } } # Regola per la disambiguazione della preposizione: else if (($bw ~ /^che_/ && $fw ~ /^amore_/) || ($fw ~ /^una_/ && $ffw ~ /^parte_/) || ($fw ~ /^ogn[ie]_/ && ($ffw ~ /^canto_/ || $ffw ~ /^lato_/ || $ffw ~ /^parte_/)) || ($bw ~ /^ha_/ && $fw ~ /^alta_/) || ($bw ~ /^mosso_/ && $fw ~ /^ottima_/) || ($bw ~ /^muta_/ && $fw ~ /^un_/) || (($bw ~ /^solo_/ || $bw ~ /^morto_/) && $fw ~ /^una_/) || ($bw ~ /^die_/ && $fw ~ /^Andrea_/) || ($bw ~ /^e_/ && $fw ~ /^altra_/) || ($bw ~ /^o_/ && $fw ~ /^alcuna_/) || ($bw ~ /^e_/ && $fw ~ /^un_/ && $ffw ~ /^tempo_/) || (($bw ~ /^sapremo_/ || $bw ~ /^o_/ || $bw ~ /^inparare_/) && $fw ~ /^altrui_/) || ($bw ~ /^ella_/ && $fw ~ /^Amore_/) || ($bw ~ /^accompagnata_/ && $fw ~ /^alcuna_/) || ($bw ~ /^consiglio_/ && $fw ~ /^ivi_/) || ($bw ~ /^sol_/ && $fw ~ /^una_/ && $ffw ~ /^donna_/) || ($bw ~ /^tratto_/ && $fw ~ /^occhi_/) || ($fw ~ /^ogni_/ && $ffw ~ /^luogo_/) || $fw ~ /^entro_/) { assegna(campo, "=da,56", end) } else if (($bw ~ /^che_/ && $fw ~ /^alta_/) || ($bw ~ /^presso_/ && $fw ~ /^alcuno_/) || ($bw ~ /^voi_/ && $fw ~ /^angeli\&\[ca\&\]_/) || ($bw ~ /^nascono_/ && ($fw ~ /^Invidia_/ || $fw ~ /^Ira_/ || $fw ~ /^Avarizia_/)) || (($bw ~ /^lei_/ || $bw ~ /^e_/ || $bw ~ /^,_/) && $fw ~ /^ogni_/) || ($bw ~ /^nate_/ && $fw ~ /^una_/) || ($bw ~ /^guarde_/ && $fw ~ /^avarizia_/) || ($bw ~ /^e_/ && $fw ~ /^altrui_/) || ($bw ~ /^batte_/ && $fw ~ /^intorno_/) || ($bw ~ /^o_/ && ($fw ~ /^ovo_/ || $fw ~ /^altr[ao]_/)) || ($bw ~ /^informate_/ && $fw ~ /^angelica_/) || (($bw ~ /^mondo_/ || $bw ~ /^veggono_/ || $bw ~ /^e_/ || $bw ~ /^trovai_/ || $bw ~ /^l…_/ || $bw ~ /^femine_/ || $bw ~ /^ride_/ || $bw ~ /^castella_/ || $bw ~ /^volse_/ || $bw ~ /^veggono_/) && $fw ~ /^intorno_/) || ($bw ~ /^giunto_/ && $fw ~ /^alcun_/) || ($bw ~ /^guarda_/ && $fw ~ /^una_/) || ($bw ~ /^öti_/ && $fw ~ /^ogne_/) || ($bw ~ /^öti_/ && $fw ~ /^esso_/) || ($bw ~ /^che_/ && $fw ~ /^orgogliose_/) || ($bw ~ /^,_/ && $fw ~ /^invidia_/) || ($bw ~ /^proviene_/ && $fw ~ /^eloquenzia_/) || ($bw ~ /^muovono_/ && $fw ~ /^onesto_/) || ($bw ~ /^e_/ && $fw ~ /^utile_/) || ($bw ~ /^nato_/ && $fw ~ /^onestissime_/) || ($bw ~ /^furato_/ && $fw ~ /^una_/) || ($bw ~ /^calice_/ && $fw ~ /^uno_/) || ($bw ~ /^sacrata_/ && $fw ~ /^uno_/) || ($bw ~ /^tolse_/ && $fw ~ /^uno_/) || ($bw ~ /^cioŠ_/ && $fw ~ /^una_/) || ($bw ~ /^ma_/ && $fw ~ /^un_/ && $ffw ~ /^altro_/) || ($bw ~ /^difensione_/ && $fw ~ /^un_/ && $ffw ~ /^altro_/) || ($bw ~ /^nasce_/ && $fw ~ /^alcuna_/) || ($bw ~ /^ritraeva_/ && $fw ~ /^altre_/) || ($bw ~ /^che_/ && $fw ~ /^esse_/) || ($bw ~ /^estratto_/ && $fw ~ /^alto_/) || ($bw ~ /^cacciat[io]_/ && $fw ~ /^altra_/) || ($bw ~ /^movea_/ && $fw ~ /^amoroso_/) || ($bw ~ /^procede_/ && $fw ~ /^un'_/ && $ffw ~ /^anima_/) || ($bw ~ /^levato_/ && $fw ~ /^una_/) || ($bw ~ /^che_/ && $fw ~ /^allora_/) || ($bw ~ /^notaio_/ && $fw ~ /^Oltra\&\[r\&\]no_/) || (($bw ~ /^notaio_/ || $bw ~ /^viturale_/ || $bw ~ /^alberchiere_/) && $fw ~ /_lem=orvieto,/) || ($bw ~ /^öe_/ && $fw ~ /^uno_/ && $ffw ~ /^paese_/) || ($bw ~ /^terra_/ && $fw ~ /^un_/) || ($bw ~ /^tanto_/ && $fw ~ /^una_/) || ($bw ~ /^viandante_/ && $fw ~ /^albergho_/) || ($bw ~ /^che_/ && $fw ~ /^allora_/ && $ffw ~ /^innanzi_/) || ($bw ~ /^tratto_/ && $fw ~ /^ongne_/) || ($bw ~ /^torn•_/ && $fw ~ /^oltremare_/) || ($bw ~ /^nato_/ && $fw ~ /^Inghilterra_/) || ($bw ~ /^passare_/ && $fw ~ /^un_/ && $ffw ~ /^picciolo_/) || ($bw ~ /^crociati_/ && $fw ~ /^Italia_/) || ($bw ~ /^nasscer…_/ && $fw ~ /^una_/) || ($bw ~ /^nato_/ && $fw ~ /^Asscholi_/) || ($bw ~ /^venia_/ && $fw ~ /^Alangna_/) || ($bw ~ /^cardinale_/ && $fw ~ /^Acquassparte_/) || ($bw ~ /^ritorn•_/ && $fw ~ /^Inghilterra_/) || ($bw ~ /^togliesse_/ && $fw ~ /^ogni_/) || ($bw ~ /^öe_/ && $fw ~ /^una_/ && $ffw ~ /^in_/) || ($bw ~ /^gravati_/ && $fw ~ /^angosciosa_/) || ($bw ~ /^,_/ && $fw ~ /^una_/ && $ffw ~ /^scuritate_/) || ($bw ~ /^e_/ && $fw ~ /^allegrezza_/ && $ffw ~ /^Š_/) || ($bw ~ /,21,/ && $bw !~ /^Dio_/ && $bw !~ /^Dido_/ && $fw ~ /,21,/) || ($fw ~ /^altra_/ && $ffw ~ /^maniera_/) || ($fw ~ /^ogn[ei]_/ && $ffw ~ /^tempo_/) || ($bw ~ /^fuori_/ && $fw !~ /^un_/) || ($bw ~ /^For_/ && $fw ~ /^ogne_/) || ($bw ~ /^mercatante_/ && $fw ~ /^Egitto_/) || ($bw ~ /^sapesse_/ && $fw ~ /^arte_/) || (($bw ~ /^sapremo_/ || $bw ~ /^inparare_/) && $fw ~ /^altrui_/) || ($bw ~ /^cittadini_/ && $fw ~ /^uno_/) || ($bw ~ /^segnore_/ && $fw ~ /^esto_/) || (($bw ~ /lem=podest…,/ || $bw ~ /lem=re,/ || $bw ~ /lem=conte,/ || $bw ~ /lem=duca,/ || $bw ~ /lem=cavaliere,/ || $bw ~ /lem=vescovo,/ || $bw ~ /lem=cardinale,/ || $bw ~ /lem=principe,/ || $bw ~ /^nonane_/ || $bw ~ /lem=notaio,/ || $bw ~ /^cheric/ || $bw ~ /^mercatant/ || $bw ~ /^alberchier/) && $fw ~ /,21,/) || ($bw ~ /lem=essere/ && ($fw ~ /^Egitto_/ || $fw ~ /^Italia_/)) || $fw ~ /^oltremonte_/ || $fw ~ /^onni_/ || $fw ~ /^oltremirabile_/) { assegna2(campo, "di;da,56", end) } else { assegna(campo, "=di,56", end) } } # # (2) Regola vera e propria # # Regola per la disambiguazione esterna della preposizione 'A' # quando preceduta da verbo. # else if (campo ~ /^A_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /lem=tale,/ || $fw ~ /lem=tanto,/ || $bw ~ /lem=dinanzi,/ || $bw ~ /lem=innanzi,/ || $bw ~ /lem=appresso,/ || (($bw ~ /11[12345678]/ || $bw ~ /12[234]/ || $bw ~ /21[12345678]/ || $bw ~ /22[1234]/ || $bw ~ /31[12345678]/ || $bw ~ /32[1234]/) && $bw !~ /\);\(/ && $fw !~ /,[123]21,/)) { assegna(campo, "56", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della parola 'A' # quando seguita da clitici # else if ($fw ~ /^ö/) { # # Regola per la disambiguazione della preposizione: # sempre tranne quando seguita da 'öe' # assegna(campo, "56", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della congiunzione 'A' # else { ffw = fw ffw++ if ($fw ~ /,[123]21,/ || ($fw ~ /lem=non/ && $ffw ~ /,[123]21,/)) { assegna(campo, "51", end) } else { assegna(campo, "56", end) } } } # # (2) Regola vera e propria # # Regola per la disambiguazione esterna della preposizione 'a' # quando preceduta da verbo. # else if (campo ~ /^a_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /lem=tale,/ || $fw ~ /lem=tanto,/ || $bw ~ /lem=dinanzi,/ || $bw ~ /lem=innanzi,/ || $bw ~ /lem=appresso,/ || (($bw ~ /11[12345678]/ || $bw ~ /12[234]/ || $bw ~ /21[12345678]/ || $bw ~ /22[1234]/ || $bw ~ /31[12345678]/ || $bw ~ /32[1234]/) && $bw !~ /\);\(/ && $fw !~ /,[123]21,/)) { assegna(campo, "56", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della parola 'a' # quando seguita da clitici # else if ($fw ~ /^ö/) { # # Regola per la disambiguazione del verbo: # solo quando seguito da 'öe' # if ($fw ~ /^öe_/) { assegna(campo, "211", end) } # # Regola per la disambiguazione della preposizione: # sempre tranne quando seguita da 'öe' # else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della congiunzione 'a' # else { ffw = fw ffw++ if ($fw ~ /,[123]21,/ || ($bw ~ /^E/ && $fw ~ /^queste/) || (($fw ~ /lem=non,/ || $fw ~ /lem=bene,/ || $fw ~ /^cci•/ || $fw ~ /^miracol/ || $fw ~ /^pi—/) && $ffw ~ /,[123]21,/)) { assegna(campo, "51", end) } else { assegna(campo, "56", end) } } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'ad' # else if (campo ~ /^[Aa]d_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /,[123]21,/) { assegna(campo, "51", end) } else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della congiunzione 'Per' # else if (campo ~ /^Per_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" ffw = fw ffw++ nf++ if ($fw ~ /[123]21/ || ($fw ~ /,45,/ && $ffw ~ /,121,/)) { assegna(campo, "51", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della preposizione 'Per' # else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della congiunzione 'per' # else if (campo ~ /^per_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" ffw = fw ffw++ nf++ if (($fw ~ /[123]21/ || ($fw ~ /,45,/ && $ffw ~ /,121,/)) && $bw !~ /^om_/ && $fw !~ /^dare_/) { assegna(campo, "51", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della preposizione 'per' # else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della congiunzione 'in' # else if (campo ~ /^in_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ if ($fw ~ /,121,/ || ($fw ~ /,45,/ && $ffw ~ /,121,/)) { assegna(campo, "51", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della preposizione 'in' # else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'ne' # else if (campo ~ /^ne_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" ffw = fw ffw++ nf++ if ($fw ~ /,60,/) { assegna(campo, "56", end) } else if ($bw ~ /^Fiandra_/ || $bw ~ /^f‹ate_/ || $bw ~ /^for‡a_/ || $bw ~ /^lontana_/ || $bw ~ /^prigioni_/ || $fw ~ /^cade_/ || $fw ~ /^fallisse_/ || $fw ~ /^giano_/ || $fw ~ /^gio_/ || $fw ~ /^gisse_/ || $fw ~ /^gittaro_/ || $fw ~ /^men•_/ || $fw ~ /^menaro_/ || $fw ~ /^menarono_/ || $fw ~ /^nascono_/ || $fw ~ /^partisse_/ || $fw ~ /^passa_/ || $fw ~ /^posso_/ || $fw ~ /^recaro_/ || $fw ~ /^recharono_/ || $fw ~ /^recho_/ || $fw ~ /^salt•_/ || $fw ~ /^scende_/ || $fw ~ /^uscirai_/ || $fw ~ /^vada_/ || $fw ~ /^vanno_/ || $fw ~ /^va'?_/ || $fw ~ /^vedea_/ || $fw ~ /^vengni_/ || $fw ~ /^vo_/ || ($fw ~ /^potrei_/ && $ffw ~ /^partire_/) || ($fw ~ /^possa_/ && $ffw ~ /^venire_/) || ($fw ~ /^seguita_/ && $ffw ~ /^Š_/) || ($bw ~ /^che_/ && ($fw ~ /^sia_/ || $fw ~ /^potea_/)) || ($bw ~ /^se_/ && $fw ~ /^possa_/) || ($bw ~ /^loro_/ && $fw ~ /^furono_/) || ($bw ~ /^Pisani_/ && $fw ~ /^fuoro_/) || ($bw ~ /^cor_/ && $fw ~ /^porta_/) || ($bw ~ /^core_/ && $fw ~ /^port•_/)) { assegna(campo, "46", end) } else if ($bw ~ /^tolta_/ || $fw ~ /^conduce_/ || $fw ~ /^conforta_/ || $fw ~ /^c[ao]nta_/ || $fw ~ /^conviene_/ || $fw ~ /^criasse_/ || $fw ~ /^d…_/ || $fw ~ /^dicessi_/ || $fw ~ /^dichi_/ || $fw ~ /^dicie_/ || $fw ~ /^diŠ_/ || $fw ~ /^diletta_/ || $fw ~ /^disse_/ || $fw ~ /^dite_/ || $fw ~ /^domandi_/ || $fw ~ /^dovesse_/ || $fw ~ /^farai_/ || $fw ~ /^farebbe_/ || $fw ~ /^gittate_/ || $fw ~ /^lasciaro_/ || $fw ~ /^leviamo_/ || $fw ~ /^mandaste_/ || $fw ~ /^mand•_/ || $fw ~ /^mena_/ || $fw ~ /^piace_/ || $fw ~ /^predica_/ || $fw ~ /^promisero_/ || $fw ~ /^reca_/ || $fw ~ /^sscriveste_/ || $fw ~ /^tormenta_/ || ($bw ~ /^figura_/ && $fw ~ /^par_/) || ($bw ~ /^luogo_/ && $fw ~ /^fa_/) || ($bw ~ /^che_/ && $fw ~ /^tocho_/) || ($bw ~ /^che_/ && $fw ~ /^conpero_/) || ($bw ~ /^molto_/ && $fw ~ /^sarebbe_/) || ($bw ~ /,lem=cuore,/ && $fw ~ /,lem=portare,/) || (($bw ~ /^,_/ || $bw ~ /^che_/ || $bw ~ /^s¡_/) && $fw ~ /^diede_/) || (($bw ~ /^se_/ || $bw ~ /^diposito_/) && $fw ~ /^pare_/) || ($fw ~ /^fece_/ && $ffw ~ /^dare_/)) { assegna(campo, "39", end) } else { assegna(campo, "31", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "n'" # else if (campo ~ /^n'_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" ffw = fw ffw++ nf++ if ($bw ~ /^compiuta_/ || $bw ~ /^Ita_/ || $bw ~ /^quali_/ || $bw ~ /^quattro_/ || $fw ~ /^abandona_/ || $fw ~ /^albergano_/ || $fw ~ /^andai_/ || $fw ~ /^andammo_/ || $fw ~ /^andassero_/ || $fw ~ /^and•_/ || $fw ~ /^andrebbe_/ || $fw ~ /^usc[i]a_/ || $fw ~ /^uscian_/ || $fw ~ /^uscireste_/ || ($fw ~ /^era_/ && $ffw ~ /^andata_/) || ($fw ~ /^Š_/ && $ffw ~ /^gita_/) || ($fw ~ /^Š_/ && $ffw ~ /^fori_/)) { assegna(campo, "46", end) } else if ($bw ~ /^Cristo_/ || $bw ~ /^ella_/ || $bw ~ /^giustamente_/ || $bw ~ /^grazia_/ || $bw ~ /^ragione_/ || $bw ~ /^scritto_/ || $fw ~ /^adomandano_/ || $fw ~ /^am•_/ || ($bw ~ /^tu_/ && $fw ~ /^hai_/) || ($fw ~ /^Š_/ && $ffw ~ /^lucente_/)) { assegna(campo, "39", end) } else { assegna(campo, "31", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "nne" # else if (campo ~ /^nne_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^verrete_/ || $fw ~ /^menaro_/) { assegna(campo, "46", end) } else if ($fw ~ /^mandaste_/ || $fw ~ /^mostra_/ || $fw ~ /^parr…_/ || $fw ~ /^parve_/ || $fw ~ /^piace_/ || $fw ~ /^sono_/ || $fw ~ /^sscriveste_/) { assegna(campo, "39", end) } else { assegna(campo, "31", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "nn'" # else if (campo ~ /^nn'_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^che_/ && $fw ~ /^avete_/) { assegna(campo, "39", end) } else { assegna(campo, "31", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'öne' # else if (campo ~ /^öne_/ && campo ~ /\);\(/) { bbw = bw bbw-- if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^ötte_/ || $bw ~ /^Andando_/ || $bw ~ /^and[aƒ]r_/ || $bw ~ /^andato_/ || $bw ~ /^andava_/ || $bw ~ /^ando_/ || $bw ~ /^cominciƒr_/ || $bw ~ /^fecer_/ || $bw ~ /^fummo_/ || $bw ~ /^nascon_/ || $bw ~ /^portaron_/ || $bw ~ /^p•rto_/ || $bw ~ /^trassi_/ || $bw ~ /^vadan_/ || $fw ~ /^ad_/ || $fw ~ /^infino_/ || $fw ~ /^port•_/ || ($bw ~ /^vien_/ && $fw ~ /^l'_/) || ($bw ~ /^öte_/ && $fw ~ /^:_/) || ($bw ~ /^öl_/ && $fw ~ /^portare_/) || ($bw ~ /^ölo_/ && $fw ~ /^a_/) || ($bbw ~ /^ando_/ && $bw ~ /^össe_/) || ($bw ~ /^ös[ie]_/ && ($fw ~ /^in_/ || $fw ~ /^a_/))) { assegna(campo, "46", end) } else if ($bw ~ /^ave_/ || $bw ~ /^dicie_/ || $bw ~ /^Diede_/ || $bw ~ /^richieder_/ || $bw ~ /^prŠgan_/ || $bw ~ /^mostra_/ || $bw ~ /^ölle_/ || $fw ~ /^detto_/ || ($bw ~ /^öl_/ && $fw !~ /^inteso_/) || ($bw ~ /^De_/ && $fw ~ /^dare_/) || ($bw ~ /^A`_/ && $fw ~ /^datt?o_/)) { assegna(campo, "39", end) } else { assegna(campo, "31", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'in' forma "'n" # else if (campo ~ /^'n_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^mi_/) { assegna(campo, "31", end) } else if ($fw ~ /^gia_/) { assegna(campo, "46", end) } else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della preposizione 'su' # quando seguita da clitici # else if (campo ~ /^su_/ && campo ~ /\);\(/ && $fw ~ /^ö/ && $fw ~ /,60,/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ assegna(campo, "56", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della congiunzione coord. 'e' # else if (campo ~ /^eú_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^rifiut•_/) { assegna(campo, "37", end) } else { assegna(campo, "50", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della congiunzione subord. 'che' # quando seguita da clitici # else if (campo ~ /^[Cc]he_/ && campo ~ /\);\(/ && $fw ~ /^ö'/ && $fw ~ /,60,/) { if (campo ~ /¾$/) end = "¾" else end = "" bbw = bw bbw-- nf++ ffw = fw ffw++ if (($ffw ~ /capitani_lem=capitano,20,0,4,7,0,0/ && $bbw ~ /^lo_/ && $bw ~ /^die_/) || $bw ~ /^ci•_/ || $bw ~ /^singnoria_/ || $bw ~ /^fortezze_/) { assegna(campo, "36", end) } else { assegna(campo, "che,51", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della congiunzione subord. 'che' - forma 'ke' # quando seguita da clitici # else if (campo ~ /^ke_/ && campo ~ /\);\(/ && $fw ~ /^ö'/ && $fw ~ /,60,/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ assegna(campo, "che,51", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'me' # else if (campo ~ /^me_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^certo_/ || $bw ~ /^chi_/ || $bw ~ /^io_/ || $bw ~ /^pensieri_/ || $bw ~ /^qua'_/ || $bw ~ /^quale_/ || $bw ~ /^volesse_/ || $fw ~ /^conforta_/ || $fw ~ /^cure_/ || $fw ~ /^ne_/ || $fw ~ /^prega_/ || $fw ~ /^ricorda_/ || $fw ~ /^tragge_/ || ($bw ~ /^che_/ && $fw !~ /^öco_/) || ($bw ~ /^come_/ && $fw ~ /^parea_/)) { assegna(campo, "39", end) } else { assegna(campo, "38", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna del pronome 'se' # else if (campo ~ /^[Ss]e_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" ffw = fw ffw++ nf++ if ($fw ~ /lem=öco,57,0,0,0,0,0/ || $fw ~ /lem=medesimo,/ || $fw ~ /lem=stesso,/) { assegna(campo, "38", end) } else if (campo ~ /^s/ && ($fw ~ /^ne_/ && $ffw !~ /^ö/ && $ffw !~ /lem=essere/ && $ffw !~ /^pare_/ && $ffw !~ /^piace_/) || ($fw ~ /^li_/ && $ffw ~ /^fece_/)) { assegna(campo, "39", end) } else { assegna(campo, "51", end) } } # (2) Regola vera e propria # # Regole per la disambiguazione esterna di forma straniera # else if (campo ~ /,75,/ && campo ~ /\);\(/) { ffw = fw ffw++ bbw = bw bbw-- if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (($bw ~ /,75,/ && $bw !~ /\);\(/) || ($fw ~ /,75,/ && $fw !~ /\);\(/ && $fw !~ /^dies_/)) { assegna(campo, "75", end) } else { assegna4(campo, "75", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna dei participi passati # quando preceduti da pronome grafoclitico # else if (campo ~ /,123,/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" bbw = bw bbw-- nf++ if ($bw ~ /,39,/ && $bw ~ /^ö/) { assegna(campo, "123", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna dei participi passati # quando preceduti da ausiliari + avverbio o congiunzione assoluti # else if (($bbw ~ /21[12345678]/ || $bbw ~ /22[1234]/) && $bw ~ /,45,/ && $bbw !~ /\);\(/ && $bw !~ /\);\(/) { assegna(campo, "123", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna dei participi passati # quando preceduti da part.pass. + congiunzione assoluti # else if ($bbw ~ /123/ && $bw ~ /,50,/ && $bbw !~ /\);\(/ && $bw !~ /\);\(/) { assegna(campo, "123", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna dei participi passati # quando preceduti da ausiliari # else if (($bw ~ /21[12345678]/ || $bw ~ /22[1234]/ || $bw ~ /,26,/) && $bw !~ /\);\(/) { assegna(campo, "123", end) } else { assegna4(campo, "123", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna dei verbi al passato # quando seguiti da pronomi clitici # else if (campo ~ /,113,3,/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ # # Regola per il caso particolare di verbi all'infinito + 'ölo' # if ((campo ~ /^cominciar_/ || campo ~ /^lasciar_/ || campo ~ /^menar_/ || campo ~ /^portar_/ || campo ~ /^pregar_/ || campo ~ /^recar_/ || (campo ~ /^trovar_/ && $bw ~ /^;_/)) && $fw ~ /^ölo_/) { assegna(campo, "113,3", end) } # # Regola per il caso particolare di 'beve' + 'önne' # else if (campo ~ /^beve_/ && $fw ~ /^önne_/) { assegna(campo, "113,3", end) } # # Regola per il caso particolare di 'riconciliar' + 'ösi' # else if (campo ~ /^riconciliar_/ && $bw ~ /^e_/ && $fw ~ /^ösi_/) { assegna(campo, "113,3", end) } # # Regola per il caso particolare di 'reco' + 'öl' # else if (campo ~ /^reco_/ && ($fw ~ /^öl_/ || $fw ~ /^öll/)) { assegna(campo, "113,3", end) } # # Regola per il caso particolare di 'mostro' + 'ögli' # else if ((campo ~ /^mostro_/ || campo ~ /^rende_/) && ($fw ~ /^ögli_/ || $fw ~ /^öll/)) { assegna(campo, "113,3", end) } # # Regola per il caso particolare di 'penso' + 'ösi' # else if ((campo ~ /^concio_/ || campo ~ /^penso_/) && ($fw ~ /^ösi_/ || $fw ~ /^össi/)) { assegna(campo, "113,3", end) } # # Regola per il caso particolare di verbi all'infinito + 'öe' # else if ($fw ~ /^öe/) { assegna(campo, "113,3", end) } # # Regole generali # else if (($fw ~ /^öll/ || $fw ~ /^öss/) && $fw ~ /,39,3,/) { assegna(campo, "113,3", end) } else if ($fw ~ /^ömm/ && $fw ~ /,39,1,/) { assegna(campo, "113,3", end) } else { assegna3(campo, "113", end) } } # # (2) Regola vera e propria # # Regola per la disambiguazione interna degli aggettivi # quando seguiti da nomi masc./sing. # else if (campo ~ /,26,0,4;5,6;7/ && campo !~ /\);\(/ && $fw ~ /,2[01],/ && $fw ~ /,4,6,/) { nf++ sub (/;5/, "", campo) sub (/;7/, "", campo) print campo } # # (2) Regola vera e propria # # Regola per la disambiguazione interna degli aggettivi # quando seguiti da nomi masc./sing. # else if (campo ~ /,26,0,4;5,6,/ && campo !~ /\);\(/ && $fw ~ /,2[01],/ && $fw ~ /,4,6,/) { nf++ sub (/;5/, "", campo) print campo } # # (2) Regola vera e propria # # Regola per la disambiguazione interna degli aggettivi # quando seguiti da nomi fem./sing. # else if (campo ~ /,26,0,4;5,6;7/ && campo !~ /\);\(/ && $fw ~ /,2[01],/ && $fw ~ /,5,6,/) { nf++ sub (/4;/, "", campo) sub (/;7/, "", campo) print campo } # # (2) Regola vera e propria # # Regola per la disambiguazione interna degli aggettivi # quando seguiti da nomi fem./sing. # else if (campo ~ /,26,0,4;5,6,/ && campo !~ /\);\(/ && $fw ~ /,2[01],/ && $fw ~ /,5,6,/) { nf++ sub (/4;/, "", campo) print campo } # # (2) Regola vera e propria # # Regola per la disambiguazione interna degli aggettivi # quando seguiti da nomi masc./plur. # else if (campo ~ /,26,0,4;5,6;7,/ && campo !~ /\);\(/ && $fw ~ /,2[01],/ && $fw ~ /,4,7,/) { nf++ sub (/;5,6;/, ",", campo) print campo } # # (2) Regola vera e propria # # Regola per la disambiguazione interna degli aggettivi # quando seguiti da nomi masc./plur. # else if (campo ~ /,26,0,4;5,7,/ && campo !~ /\);\(/ && $fw ~ /,2[01],/ && $fw ~ /,4,7,/) { nf++ sub (/;5/, "", campo) print campo } # # (2) Regola vera e propria # # Regola per la disambiguazione interna degli aggettivi # quando seguiti da nomi fem./plur. # else if (campo ~ /,26,0,4;5,6;7,/ && campo !~ /\);\(/ && $fw ~ /,2[01],/ && $fw ~ /,5,7,/) { nf++ sub (/4;/, "", campo) sub (/6;/, "", campo) print campo } # # (2) Regola vera e propria # # Regola per la disambiguazione interna degli aggettivi # quando seguiti da nomi fem./plur. # else if (campo ~ /,26,0,4;5,7,/ && campo !~ /\);\(/ && $fw ~ /,2[01],/ && $fw ~ /,5,7,/) { nf++ sub (/4;/, "", campo) print campo } # (2) Regola vera e propria # # Regole per la disambiguazione esterna dei verbi # quando preceduti da pronome assoluto # else if ((campo ~ /11[12345678]/ || campo ~ /12[1234]/ || campo ~ /21[12345678]/ || campo ~ /22[1234]/ || campo ~ /31[12345678]/ || campo ~ /32[1234]/) && campo ~ /\);\(/ && campo ~ /,20,/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /,39,/ && $bw !~ /\);\(/) { assegna4(campo, "20", end) } else print campo } # (2) Regola vera e propria # # Regola per la disambiguazione esterna degli infiniti # quando preceduti da ausiliari o modali infiniti assoluti # else if (campo ~ /,121,/ && campo ~ /\);\(/ && ($bw ~ /,221,/ || $bw ~ /,321,/) && $bw !~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ assegna(campo, "121", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'ella' # else if (campo ~ /^ella_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^'n_/) { assegna(campo, "38", end) } else { assegna(campo, "37", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'elle' # else if (campo ~ /^elle_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^con_/) { assegna(campo, "38", end) } else { assegna(campo, "37", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'ello' # else if (campo ~ /^ello_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^in_/) { assegna(campo, "38", end) } else { assegna(campo, "37", end) } } # # Regola per la disambiguazione esterna e interna del pronome 'essa' # else if (campo ~ /^essa_/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (($fw ~ /,20,/ && $fw !~ /\);\(/) || $fw ~ /^prima_/) { assegna(campo, "30", end) } else if ($bw ~ /^e[dt]_/ || $bw ~ /^,_/) { assegna(campo, "37", end) } else { assegna(campo, "38", end) } } # # Regola per la disambiguazione esterna e interna del pronome 'esse' # else if (campo ~ /^esse_/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^questi_/) { assegna(campo, "32", end) } else if (($fw ~ /,20,/ && $fw !~ /\);\(/) || $fw ~ /^tre_/) { assegna(campo, "30", end) } else if ($fw ~ /^la_/) { assegna(campo, "37", end) } else { assegna(campo, "38", end) } } # # Regola per la disambiguazione esterna e interna del pronome 'essi' # else if (campo ~ /^essi_/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^questi_/) { assegna(campo, "30", end) } else if ($bw ~ /^ch'_/ || $bw ~ /^onde_/) { assegna(campo, "37", end) } else { assegna(campo, "38", end) } } # # Regola per la disambiguazione esterna e interna del pronome 'esso' # else if (campo ~ /^esso_/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^ad_/ || ($fw ~ /,20,/ && $fw !~ /\);\(/)) { assegna(campo, "30", end) } else if ($bw ~ /^[Ee]t_/ || $bw ~ /^fare_/ || $bw ~ /^k'_/ || $bw ~ /^öe_/ || $fw ~ /lem=dire/ || $fw ~ /^Š_/ || $fw ~ /^ferma_/ || $fw ~ /^gli_/ || $fw ~ /^…_/ || $fw ~ /^medesimo_/ || $fw ~ /^non_/ || $fw ~ /^ti_/) { assegna(campo, "37", end) } else { assegna(campo, "38", end) } } # # Regola per la disambiguazione esterna e interna del pronome 'ögli' # else if (campo ~ /^ögli_\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^mand•_/ || $bw ~ /^appellƒr_/ || $bw ~ /^mettera_/ || $bw ~ /^debbiano_/ || $bw ~ /^traendo_/ || $bw ~ /^mettendo_/ || $bw ~ /^partite_/ || $bw ~ /^demo_/ || $bw ~ /^ebe_/ || $bw ~ /^uccidendo_/ || $bw ~ /^cacciando_/ || $bw ~ /^rimeno_/ || $bw ~ /^mirava_/ || ($bw ~ /^debbia_/ && $fw ~ /^amonire_/) || ($bw ~ /^far_/ && $fw ~ /^fare_/) || ($bw ~ /^die_/ && ($fw ~ /^inn_/ || $fw ~ /^loro_/))) { assegna(campo, "lem=lo", end) } else { assegna(campo, "lem=gli", end) } } # # Regola per la disambiguazione esterna e interna del pronome 'öl' # else if (campo ~ /^öl_\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^lli_/) { assegna(campo, "lem=la", end) } else { assegna(campo, "lem=lo", end) } } # # Regola per la disambiguazione esterna e interna del pronome 'öle' # else if (campo ~ /^öle_\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (($bw ~ /^far_/ && ($fw ~ /^onore_/ || $fw ~ /^pregati_/ || $fw ~ /^una_/ || $fw ~ /^vergongna_/)) || $bw ~ /^venne_/ || $bw ~ /^baciar_/ || $bw ~ /^fara'_/ || $bw ~ /^v…no_/ || $bw ~ /^propuosi_/ || $bw ~ /^dichiarar_/ || $bw ~ /^disignando_/ || $bw ~ /^disse_/ || $bw ~ /^promise_/ || $bw ~ /^vene_/ || $bw ~ /^dicea_/ || $bw ~ /^mostrava_/ || $bw ~ /^chiese_/ || $bw ~ /^richieser_/ || $bw ~ /^piacque_/ || $bw ~ /^render_/ || $bw ~ /^star_/ || $fw ~ /^buoni_/ || $fw ~ /^mettere_/) { assegna(campo, "lem=gli", end) } else if ($fw ~ /^¯_/ || $bw ~ /^sotto_/ || ($bw ~ /^öglie_/ && $fw ~ /^._/) || ($bw ~ /^öli_/ && $fw ~ /^;_/) || ($bw ~ /^öli_/ && $fw ~ /^da_/) || ($bw ~ /^öli_/ && $fw ~ /^rend‚_/)) { sub (/;7/, "", campo) assegna(campo, "lem=lo", end) } else if ($fw ~ /^fatti_/ || $fw ~ /^addietro_/ || ($bw ~ /^öglie_/ && $fw ~ /^;_/)) { sub (/6;/, "", campo) assegna(campo, "lem=lo", end) } else { assegna(campo, "lem=la", end) } } # # Regola per la disambiguazione esterna e interna del pronome 'ölle' # else if (campo ~ /^ölle_\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^d[…]_/ || $bw ~ /^Di_/ || $bw ~ /^fu_/ || $bw ~ /^so_/ || ($bw ~ /^fa_/ && $fw ~ /^umil_/)) { assegna(campo, "lem=gli", end) } else { assegna(campo, "lem=la", end) } } # # Regola per la disambiguazione esterna e interna del pronome 'öli' # else if (campo ~ /^öli_\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ if (($bw ~ /^fece_/ && ($fw ~ /^peccare_/ || $fw ~ /^stare_/ || $fw ~ /^umili_/)) || ($bw ~ /^far_/ && $fw ~ /^discorrere_/ || $fw ~ /^tenere_/) || ($bw ~ /^prese_/ && $fw ~ /^tutti_/) || ($bw ~ /^dar_/ && $fw ~ /^a_/) || $bw ~ /^riprese_/ || $bw ~ /^poter_/ || $bw ~ /^proveder_/ || $bw ~ /lem=recare/ || $bw ~ /^aver_/ || $bw ~ /^demo_/ || $bw ~ /^i?sconfisse_/ || $bw ~ /^maladir_/ || $bw ~ /^ucciser?_/ || $bw ~ /^apportar_/ || $bw ~ /^portar_/ || $bw ~ /^tener_/ || $bw ~ /^privar_/ || $bw ~ /^ammoniva_/ || $bw ~ /^confortava_/ || $bw ~ /^miser_/ || $bw ~ /^mosterra_/ || $bw ~ /^saper_/ || $bw ~ /^appella_/ || $bw ~ /^avendo_/ || $bw ~ /^mettendo_/ || $bw ~ /^pregando_/ || $bw ~ /^bagnando_/ || $bw ~ /^rimandar_/ || $bw ~ /^farete_/ || $bw ~ /^mandamo_/ || $bw ~ /^die'_/ || $bw ~ /^levamo_/ || $bw ~ /^ebe_/ || $bw ~ /^die_/ || $bw ~ /^ricevete_/ || $bw ~ /^anovera'_/ || $bw ~ /^diede_/ || $bw ~ /^…no_/ || $bw ~ /^vengor_/ || $bw ~ /^rinfangava_/ || $bw ~ /^ebbi_/ || $bw ~ /^perde_/ || $bw ~ /^rimisse_/ || $bw ~ /^dara'_/ || $bw ~ /^rendi_/ || $bw ~ /^donar_/ || $bw ~ /^guardar_/ || $bw ~ /^scampava_/ || $bw ~ /^pagar_/ || $bw ~ /^anoverava_/ || $bw ~ /^disturbar_/ || $bw ~ /^sottoposti_/ || $bw ~ /^li_/) { assegna(campo, "lem=lo,39", end) } else if ($bw ~ /^dava_/) { sub (/6;/, "", campo) assegna(campo, "lem=gli,39", end) } else { sub (/;7/, "", campo) assegna(campo, "lem=gli,39", end) } } # Regola per la disambiguazione esterna del pronome 'ölli' else if (campo ~ /^ölli_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^verso_/) { assegna(campo, "lem=lo", end) } else { assegna(campo, "lem=gli", end) } } # Regola per la disambiguazione esterna del pronome 'öllo' else if (campo ~ /^öllo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^[Dd]omando_/) { assegna(campo, "lem=gli", end) } else { assegna(campo, "lem=lo", end) } } # Regola per la disambiguazione esterna del pronome 'gli' else if (campo ~ /^gli_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^abiate_/ || $fw ~ /^aves?t?e_/ || $fw ~ /^chiama_/ || $fw ~ /^dava_/ || $fw ~ /^debia_/ || $fw ~ /^ebbe_/ || $fw ~ /^ha'?_/ || $fw ~ /^misse_/ || $fw ~ /^partirete_/ || $fw ~ /^prestava_/ || $fw ~ /^pruovi_/ || $fw ~ /^volea_/ || ($bw ~ /^che_/ && $fw ~ /^avea_/)) { assegna(campo, "lem=lo", end) } else { assegna(campo, "lem=gli", end) } } # Regola per la disambiguazione esterna del pronome 'il' else if (campo ~ /^il_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^messaggio_/ || $fw ~ /lem=convenire/ || $fw ~ /^domando_/ || $fw ~ /^faremmo_/) { assegna(campo, "lem=gli", end) } else { assegna(campo, "lem=lo", end) } } # Regola per la disambiguazione esterna del pronome "'l" else if (campo ~ /^'l_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^ghera_/) { assegna(campo, "lem=gli", end) } else { assegna(campo, "lem=lo", end) } } # # Regola per la disambiguazione esterna e interna del pronome "l'" # else if (campo ~ /^l'_\(lem=la,39,/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ bbw = bw bbw-- ffw = fw ffw++ if (($fw ~ /21[12345678]/ && $ffw ~ /[123]23,0,5,6,0/) || ($fw ~ /^avesse_/ && ($ffw ~ /^bene_/ || $ffw ~ /^non_/)) || ($fw ~ /^ha_/ && $ffw ~ /^a_/) || ($fw ~ /^avessi_/ && $ffw ~ /^io_/) || ($bw ~ /^io_/ && $fw ~ /^avea_/) || ($bw ~ /^ch‚_/ && $fw ~ /^aveano_/) || ($bw ~ /^cos_/ && $fw ~ /^abbi_/) || ($fw ~ /^…_/ && ($ffw ~ /^öe_/ || $ffw ~ /^gi…_/)) || ($fw ~ /^uccise_/ && ($bw ~ /^elli_/ || $bw ~ /^poscia_/ || $bw ~ /^calcio_/ || $bbw ~ /^tenne_/)) || ($fw ~ /^ho_/ && ($bw ~ /^anzi_/ || $bw ~ /^tutta_/)) || ($fw ~ /^ebbe_/ && ($bw ~ /^elli_/ || $bw ~ /^s_/)) || $bw ~ /^piede_/ || $bw ~ /^solamente_/ || $fw ~ /^abandonassi_/ || $fw ~ /^adomandava_/ || $fw ~ /^adora_/ || $fw ~ /^amolla_/ || $fw ~ /^andai_/ || $fw ~ /^andaro_/ || $fw ~ /^aperse_/ || $fw ~ /^ardisca_/ || $fw ~ /^ardiscon_/ || $fw ~ /^arsero_/ || $fw ~ /^asicura_/ || $fw ~ /^aspettava_/ || $fw ~ /^assaliro_/ || $fw ~ /^attende_/ || $fw ~ /^ebbi_/ || $fw ~ /^insegn•_/ || $fw ~ /^oblia_/ || $fw ~ /^odon_/ || $fw ~ /^uccisi_/ || $fw ~ /^udimmo_/ || $fw ~ /^udirete_/ || $fw ~ /^udisse_/ || $fw ~ /^usassero_/ || $fw ~ /^userai_/) { sub (/;7/, "", campo) assegna(campo, "lem=la,39", end) } else if (($fw ~ /21[12345678]/ && $ffw ~ /[123]23,0,5,7,0/) || ($fw ~ /^ha_/ && $ffw ~ /^tutte_/) || ($bw ~ /^poi_/ && $fw ~ /^udiro_/) || ($bw ~ /^molto_/ && $fw ~ /^avea_/) || $fw ~ /^abbracci•_/ || $fw ~ /^abiamo_/ || $fw ~ /^adomanda_/ || $fw ~ /^atera_/ || $fw ~ /^avanzano_/ || $fw ~ /^oferse_/) { sub (/6;/, "", campo) assegna(campo, "lem=la,39", end) } else if ($fw ~ /^angoscer…_/ || $fw ~ /^ode_/) { sub (/6;/, "", campo) assegna(campo, "lem=lo,39", end) } else { sub (/;7/, "", campo) assegna(campo, "lem=lo,39", end) } } # Regola per la disambiguazione esterna del pronome "ll'" else if (campo ~ /^ll'_\(lem=la,39,/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ if (($fw ~ /21[12345678]/ && $ffw ~ /[123]23,0,5,6,0/) || ($bw ~ /^noú_/ && $fw ~ /^ho_/) || $fw ~ /^acquistano_/ || $fw ~ /^apongono_/ || $fw ~ /^appello_/ || $fw ~ /^apro_/ || $fw ~ /^ebe_/ || $fw ~ /^…i_/ || $fw ~ /^usa_/) { sub (/;7/, "", campo) assegna(campo, "lem=la,39", end) } else if (($fw ~ /^odono_/ && $ffw ~ /^o_/) || ($fw ~ /^aveano_/ && $ffw ~ /123,0,5,7,0/)) { sub (/6;/, "", campo) assegna(campo, "lem=la,39", end) } else { assegna(campo, "lem=lo,39", end) } } # Regola per la disambiguazione esterna del pronome 'le' else if (campo ~ /^le_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^che_/ && $fw ~ /^li_/) { sub (/;7/, "", campo) assegna(campo, "lem=lo,39", end) } else if ($fw ~ /^rendei_/ || $fw ~ /lem=pagare/ || $fw ~ /^veggio_/ || ($bw ~ /^li_/ && $fw !~ /^dica_/)) { sub (/6;/, "", campo) assegna(campo, "lem=lo,39", end) } else if ($fw ~ /^d…_/ || $fw ~ /^vŠn_/) { sub (/;5/, "", campo) assegna(campo, "lem=gli", end) } else if ($fw ~ /lem=portare/ || $fw ~ /lem=muovere/ || $fw ~ /^sapesse_/ || $fw ~ /^sai_/ || ($fw ~ /lem=potere/ && $fw !~ /^potessi_/ && $fw !~ /^posse_/) || ($bw ~ /^chi_/ && $fw ~ /^volea_/) || ($bw ~ /^liberamente_/ && $fw ~ /^fece_/) || ($bw ~ /^Quelli_/ && $fw ~ /^si_/) || $fw ~ /^dissero_/ || $fw ~ /^direbbe_/ || $fw ~ /^dica_/ || $fw ~ /lem=salutare/ || $fw ~ /^vede_/ || $fw ~ /^vidi_/ || $fw ~ /^vo'_/ || $fw ~ /^desse_/ || $fw ~ /lem=pregare/ || $fw ~ /lem=dovere/ || $fw ~ /^disider•_/ || $fw ~ /^sostenesse_/ || $fw ~ /^menassi_/ || $fw ~ /^m'_/ || $fw ~ /^rinchiuse_/ || $fw ~ /^ricevette_/ || $fw ~ /^conosce_/ || $fw ~ /^pascer…_/ || $fw ~ /^mette_/ || $fw ~ /^rivolvi_/ || $fw ~ /^credano_/ || $fw ~ /^lascer•_/ || $fw ~ /^mandare_/ || $fw ~ /^distinguo_/ || $fw ~ /^ringrazio_/ || $fw ~ /^face_/ || $fw ~ /^scrivessi_/ || $fw ~ /^mira_/ || $fw ~ /^intendesse_/ || $fw ~ /^rasengni_/ || $fw ~ /^trovava_/ || $fw ~ /^innizzava_/ || $fw ~ /^teme_/ || $fw ~ /^chiede_/ || $fw ~ /^öne_/ || $fw ~ /^prese_/ || $fw ~ /^tenne_/ || $fw ~ /^migliorasse_/ || $fw ~ /^squarciava_/ || $fw ~ /^lodo_/) { assegna(campo, "lem=la", end) } else { sub (/4;/, "", campo) assegna(campo, "lem=gli", end) } } # Regola per la disambiguazione esterna del pronome 'lle' else if (campo ~ /^lle_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^diede_/ || $fw ~ /^fece_/) { assegna(campo, "lem=gli", end) } else { assegna(campo, "lem=la", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'li' # else if (campo ~ /^li_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ if ($bw ~ /^anzi_/ || $bw ~ /^ben_/ || $bw ~ /^invidia_/ || $bw ~ /^loro_/ || $bw ~ /^manera_/ || $bw ~ /^noi_/ || $bw ~ /^Per•_/ || $bw ~ /^solamente_/ || $fw ~ /^'ncerchia_/ || $fw ~ /^abandoni_/ || $fw ~ /^abia_/ || $fw ~ /^adopera_/ || $fw ~ /^agevolerai_/ || $fw ~ /^am[io]_/ || $fw ~ /^ato_/ || $fw ~ /^assicura_/ || $fw ~ /^avessi_/ || $fw ~ /^aviano_/ || $fw ~ /^avesse_/ || $fw ~ /^avete_/ || $fw ~ /^avis•_/ || $fw ~ /^credeva_/ || $fw ~ /^dar[…•]_/ || $fw ~ /^dicha_/ || $fw ~ /lem=dovere,315,/ || $fw ~ /^eb[ei]_/ || $fw ~ /^ebbe_/ || $fw ~ /^esamin•_/ || $fw ~ /^facciamo_/ || $fw ~ /^faccio_/ || $fw ~ /^facessoro_/ || $fw ~ /^fallasse_/ || $fw ~ /^faremo_/ || $fw ~ /^gittassero_/ || $fw ~ /lem=gravare,/ || $fw ~ /^guardasse_/ || $fw ~ /^guardava_/ || $fw ~ /^guarder•_/ || $fw ~ /^innodia_/ || $fw ~ /^lasciaro_/ || $fw ~ /^maladisse_/ || $fw ~ /^mangiai_/ || $fw ~ /^miri_/ || $fw ~ /^mise_/ || $fw ~ /^mova_/ || $fw ~ /^offese_/ || $fw ~ /^oservano_/ || $fw ~ /^paghai_/ || $fw ~ /^potesse_/ || $fw ~ /^potevano_/ || $fw ~ /^potr…_/ || $fw ~ /^privarono_/ || $fw ~ /^rec•_/ || $fw ~ /^rega_/ || $fw ~ /^rimand•_/ || $fw ~ /^rimettesse_/ || $fw ~ /^ritrasse_/ || $fw ~ /^rivestia_/ || $fw ~ /lem=sconfiggere,/ || $fw ~ /^scrivea_/ || $fw ~ /^seguitaro_/ || $fw ~ /^seguitava_/ || $fw ~ /^servassi_/ || $fw ~ /^sofferse_/ || $fw ~ /^soverrai_/ || $fw ~ /^teneva_/ || $fw ~ /^t'_/ || $fw ~ /^torni_/ || $fw ~ /^trov•_/ || $fw ~ /^vid[ei]_/ || $fw ~ /^voglio_/ || $fw ~ /^vorr…_/ || $fw ~ /^vorann?o_/ || ($bw ~ /^non_/ && $fw !~ /^mi_/) || ($fw ~ /^hai_/ && $ffw ~ /^dirizzati_/) || ($fw ~ /^fanno_/ && $ffw ~ /^._/) || ($fw ~ /^dovesse_/ && $ffw !~ /^dire_/)) { assegna(campo, "lem=lo", end) } else { assegna(campo, "lem=gli", end) } } # Regola per la disambiguazione esterna del pronome 'lli' else if (campo ~ /^lli_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^afrenasse_/ || $fw ~ /^arec•_/ || $fw ~ /^dava_/ || $fw ~ /^faccio_/ || $fw ~ /^mise_/ || $fw ~ /^potesse_/ || $fw ~ /^rendi_/ || $fw ~ /^riprenda_/ || $fw ~ /^sa_/ || $fw ~ /^sappia_/ || $fw ~ /^trovaro_/ || ($bw ~ /^s_/ && ($fw ~ /^facea_/ || $fw ~ /^mando_/))) { assegna(campo, "lem=lo", end) } else { assegna(campo, "lem=gli", end) } } # Regola per la disambiguazione esterna del pronome 'lei' else if (campo ~ /^lei_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^che_/ || $bw ~ /^devozion_/ || $bw ~ /^e_/ || $fw ~ /^paventosa_/) { assegna(campo, "37", end) } else { assegna(campo, "38", end) } } # Regola per la disambiguazione esterna del pronome 'lui' else if (campo ~ /^lui_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^agiato_/ || $fw ~ /^il_/ || $fw ~ /^inn_/ || $fw ~ /^riprende_/ || $fw ~ /^s'_/ || $bw ~ /^venendo_/) { assegna(campo, "37", end) } else { assegna(campo, "38", end) } } # Regola per la disambiguazione esterna del pronome 'lor' else if (campo ~ /^lor_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^avea_/ || $bw ~ /^debbia_/ || $bw ~ /^diede_/ || $bw ~ /^dissi_/ || $bw ~ /^fece_/ || $bw ~ /^Fra_/ || $bw ~ /^infra_/ || $bw ~ /^potea_/ || $bw ~ /^sovra_/ || $bw ~ /^tra_/ || $bw ~ /^verso_/ || $fw ~ /^s_/ || $fw ~ /^&©_/ || $fw ~ /^li_/ || $fw ~ /^non_/ || $fw ~ /^lo_/ || $fw ~ /^chiamar_/ || $fw ~ /^salute_/ || $fw ~ /^vicina_/) { assegna(campo, "38", end) } else { assegna(campo, "33", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'loro' # else if (campo ~ /^loro_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^a_/ || $bw ~ /^Appo_/ || $bw ~ /^apo_/ || $bw ~ /^che_/ || $bw ~ /^choú_/ || $bw ~ /^contra_/ || $bw ~ /^cortesemente_/ || $bw ~ /^cos_/ || $bw ~ /^koú_/ || $bw ~ /^davanti_/ || $bw ~ /^dintorno_/ || $bw ~ /^öe_/ || $bw ~ /^fosse_/ || $bw ~ /^ögli_/ || $bw ~ /^innanzi_/ || $bw ~ /^['i]ntra_/ || $bw ~ /^licito_/ || $bw ~ /^ölo_/ || $bw ~ /^me_/ || $bw ~ /^[ft]ra_/ || $bw ~ /^parole_/ || $bw ~ /^presente_/ || $bw ~ /^prima_/ || $bw ~ /^sanza_/ || $bw ~ /^sopra_/ || $bw ~ /^soprastettero_/ || ($bw ~ /^con_/ && $fw !~ /^consiglio_/) || ($bw ~ /^da_/ && $fw !~ /^ragone_/) || (($bw ~ /^di_/ || $bw ~ /^in_/ || $bw ~ /^[Pp]er_/) && $fw !~ /,20,/) || ($bw ~ /^in_/ && $fw ~ /^sapienzia_/) || ($bw ~ /^tutti_/ && $fw ~ /^[,;]_/) || ($bw ~ /^di_/ && ($fw ~ /^compassione_/ || $fw ~ /^elezioni_/)) || ($bw ~ /,[123][12][12345678],/ && $bw !~ /^sono_/ && $bw !~ /^stando_/ && $fw !~ /^maestro_/ && $fw !~ /^Grosseto_/ && $fw !~ /^dura_/ && $fw !~ /^arti_/ && $fw !~ /^ragione_/ && $fw !~ /^incantamenti_/)) { assegna(campo, "38", end) } else if (($bw ~ /^fecero_/ && $fw ~ /^dura_/) || ($bw ~ /^tutti_/ && $fw ~ /^ad_/) || ($bw ~ /^stando_/ && $fw ~ /^a_/)) { assegna(campo, "37", end) } else { assegna(campo, "33", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'noi' # else if (campo ~ /^noi_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /,56,/ || $bw ~ /^fece_/ || $bw ~ /^ubidire_/ || $fw ~ /^odono_/ || $bw ~ /^piangere_/ || $bw ~ /^öci_/ || $bw ~ /^trovando_/ || $bw ~ /^maraviglia_/ || ($bw ~ /^ora_/ && $fw ~ /^e_/)) { assegna(campo, "38", end) } else { assegna(campo, "37", end) } } # Regola per la disambiguazione esterna del pronome 'te' else if (campo ~ /^te_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^infinghi_/ || $fw ~ /^lodo_/ || ($bw !~ /^a_/ && $fw ~ /^ne_/)) { assegna(campo, "39", end) } else { assegna(campo, "38", end) } } else { nf++ print campo } } }