# # Motore di disambiguazione - Versione 2.0 # # Modulo 2: # Disambiguazione di: # # - casi particolari di nomi e aggettivi. # 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++ } } 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 per la disambiguazione esterna di 'Amor' # else if (campo ~ /^Amor_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^mio_/ || ($bw ~ /^._/ && $fw ~ /^con_/)) { assegna(campo, "20", end) } else { assegna(campo, "21", end) } } # # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Amore' # else if (campo ~ /^Amore_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^"_/ || ($bw ~ /^._/ && $fw ~ /^…_/)) { assegna(campo, "20", end) } else { assegna(campo, "21", end) } } # # (2) Regola vera e propria # # Regola di disambiguazione esterna per la parola 'Angelo' # else if (campo ~ /^Angelo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^Angiolieri_/) { assegna(campo, "21", end) } else { assegna(campo, "20", end) } } # # (2) Regola vera e propria # # Regola di disambiguazione esterna per la parola 'antichi' # else if (campo ~ /^antichi_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" ffw = fw ffw++ nf++ if ($bw ~ /^li_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # # (2) Regola vera e propria # # Regola di disambiguazione esterna per la parola 'balia' # else if (campo ~ /^balia_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" ffw = fw ffw++ nf++ if ($fw ~ /^di_/ && $ffw ~ /,121,/) { assegna(campo, "bala", end) } else { assegna(campo, "balia", end) } } # # (2) Regola vera e propria # # Regola di disambiguazione esterna per la parola 'basso' # else if (campo ~ /^basso_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^pi—_/ && $fw ~ /^._/) { assegna(campo, "45", end) } else { assegna(campo, "26", end) } } # # (2) Regola vera e propria # # Regola di disambiguazione esterna per la parola 'bene' # else if (campo ~ /^bene_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (($bw ~ /,60,/ && $fw !~ /,20,/) || ($bw ~ /^avesse_/ && $fw ~ /,71,/) || ($bw ~ /,26,/ && $bw !~ /^presente_/) || (($bw ~ /^che_/ || $bw ~ /^önne_/ || $bw ~ /^Š_/) && $fw ~ /^a_/) || ($bw ~ /^di_/ && ($fw ~ /^e_/ || $fw ~ /,71,/)) || ($bw ~ /^e_/ && ($fw ~ /^che_/ || $fw ~ /^da_/ || $fw ~ /^altrui_/ || $fw ~ /^;_/)) || ($bw ~ /^per_/ && ($fw ~ /^Dio_/ || $fw ~ /^._/)) || $bw ~ /^o_/ || $bw ~ /^da_/ || $bw ~ /^de_/ || $bw ~ /^in_/ || $bw ~ /^se_/ || $bw ~ /^öli_/ || $bw ~ /^öti_/ || $bw ~ /^önne_/ || $bw ~ /^avessi_/ || $bw ~ /^quanto_/ || $bw ~ /^quello_/ || $bw ~ /^tutto_/ || $bw ~ /^tanto_/ || $bw ~ /^cotanto_/ || $bw ~ /^alcun_/ || $bw ~ /^altrui_/ || $bw ~ /^adopera_/ || $bw ~ /^discernere_/ || $bw ~ /^n[ei]uno_/ || $bw ~ /^perpetual_/ || $bw ~ /^suo_/ || $bw ~ /^Qual_/ || $bw ~ /^pi—_/ || $bw ~ /^capitato_/ || $bw ~ /^volere_/ || $fw ~ /^capitato_/ || $fw ~ /^alcuno_/ || $fw ~ /^odiato_/ || $fw ~ /^fuori_/ || $fw ~ /^sia_/ || $fw ~ /^ser…_/) { assegna(campo, "20", end) } else { assegna(campo, "45", end) } } # # (2) Regola vera e propria # # Regola di disambiguazione esterna per la parola 'ben' # else if (campo ~ /^ben_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^de_/ || $bw ~ /^cerne_/ || $bw ~ /^neun_/ || ($bw ~ /,60,/ && $fw !~ /^fare_/) || ($bw ~ /^per_/ && $fw ~ /^n‚_/)) { assegna(campo, "20", end) } else { assegna(campo, "45", end) } } # # (2) Regola vera e propria # # Regola di disambiguazione esterna per la parola 'brieve' # else if (campo ~ /^brieve_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^parlare_/) { assegna(campo, "45", end) } else { assegna(campo, "26", end) } } # # (2) Regola vera e propria # # Regola di disambiguazione esterna per la parola 'Brigata' # else if (campo ~ /^Brigata_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^di_/) { assegna(campo, "20", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'cassa' # else if (campo ~ /^cassa_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^di_/) { assegna(campo, "casa", end) } else if ($bw ~ /^Babillona_/) { assegna(campo, "casso", end) } else { assegna(campo, "cassa", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'certo' # else if (campo ~ /^certo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^bene?_/ || $bw ~ /^Ch‚_/ || $bw ~ /^consiglio_/ || $bw ~ /^esser_/ || $bw ~ /^piacere_/ || $bw ~ /^pi—_/ || $fw ~ /^che_/ || $fw ~ /^n‚_/ || $fw ~ /^stato_/ || $fw ~ /^modo_/ || $fw ~ /^fine_/ || ($bw ~ /^per_/ && $fw !~ /^misfatto_/) || ($bw ~ /lem=essere/ && $fw ~ /^di_/) || ($bw ~ /^Š_/ && $fw ~ /^l?a_/)) { assegna(campo, "26", end) } else if ($bw ~ /^a_/ || $fw ~ /^misfatto_/ || $fw ~ /^sengnale_/) { assegna(campo, "32", end) } else if ($bw ~ /^non_/ || $bw ~ /^matera_/ || $bw ~ /^ch[eŠ‚]_/ || $bw ~ /^\(_/ || $fw ~ /^degna_/) { assegna(campo, "45", end) } else { assegna(campo, "47", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'certi' # else if (campo ~ /^certi_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^sono_/) { assegna(campo, "26", end) } else { assegna(campo, "32", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'chomune' # else if (campo ~ /^chomune_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^lo_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'comune' # else if (campo ~ /^comune_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /60,0,4,6/ || $bw ~ /^in_/ || $bw ~ /^medesimo_/ || $bw ~ /^nostro_/ || $bw ~ /^suo_/ || $fw ~ /^d'_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'cierti' # else if (campo ~ /^cierti_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^buoni_/) { assegna(campo, "32", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'cittadini' # else if (campo ~ /^cittadini_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^consoli_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Color' # else if (campo ~ /^Color_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^che_/) { assegna(campo, "30", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'contra' # else if (campo ~ /^contra_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^in_/) { assegna(campo, "20", end) } else if ($bw ~ /^dica_/ || $fw ~ /^ad_/ || $fw ~ /^di_/ || (($bw ~ /^far…_/ || $bw ~ /^facesse_/) && $fw ~ /^la_/)) { assegna(campo, "45", end) } else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'contrarŒ' # else if (campo ~ /^contrarŒ_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /,60,/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'contrario' # else if (campo ~ /^contrario_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^Š_/ || $bw ~ /^tutto_/ || $bw ~ /^caso_/ || $bw ~ /^pare_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Corte' # else if (campo ~ /^Corte_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^Nuova_/) { assegna(campo, "21", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'corto' # else if (campo ~ /^corto_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^di_/ && $fw ~ /^,_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'cosi' # else if (campo ~ /^cosi_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ if ($fw ~ /^presenti_/) { assegna(campo, "20", end) } else if ($fw ~ /^öe_/ && ($ffw ~ /^viene_/ || $ffw ~ /^interviene_/)) { assegna(campo, "47", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'dassezzo' # else if (campo ~ /^dassezzo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^e_/) { assegna(campo, "47", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'destra' # else if (campo ~ /^destra_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^parte_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'dubitoso' # else if (campo ~ /^dubitoso_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^,_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'deliberativo' # else if (campo ~ /^deliberativo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ if ($bw ~ /^öl_/ || ($bw ~ /^e_/ && $ffw ~ /^Dicere_/)) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'diliberativo' # else if (campo ~ /^diliberativo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^e_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'dimostrativo' # else if (campo ~ /^dimostrativo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (($bw ~ /^öl_/ || $bw ~ /^cioŠ_/ || $bw ~ /^e_/) && $fw ~ /^e_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'diverse' # else if (campo ~ /^diverse_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^s¡_/ || $bw ~ /^eran_/ || $bw ~ /^sono_/ || $bw ~ /^tanto_/ || $fw ~ /^da_/ || ($bw ~ /^di_/ && $fw ~ /^ragioni_/)) { assegna(campo, "26", end) } else { assegna(campo, "32", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'diversi' # else if (campo ~ /^diversi_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^cos_/ || $bw ~ /^siano_/ || $bw ~ /^sono_/ || $bw ~ /^visi_/ || $fw ~ /^colori_/ || $fw ~ /^riggimenti_/ || $fw ~ /^tempi_/ || ($bw ~ /^e_/ && $fw ~ /^,_/)) { assegna(campo, "26", end) } else { assegna(campo, "32", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'drudo' # else if (campo ~ /^drudo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^cor_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'mirabile' # else if (campo ~ /^mirabile_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" bbw = bw bbw-- nf++ if ($bbw !~ /^onesta_/ && $bw ~ /^,_/ && $fw ~ /^,_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'vile' # else if (campo ~ /^vile_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" ffw = fw ffw++ nf++ if ($bw ~ /^a_/ || ($bw ~ /^,_/ && $ffw !~ /^dubiosa_/) || ($bw ~ /^öl_/ && $fw ~ /^._/)) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'fedeli' # else if (campo ~ /^fedeli_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^ö[ls]i_/ || $fw ~ /^amici_/ || $fw ~ /^orazioni_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'fiore' # else if (campo ~ /^fiore_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^mente_/ || $bw ~ /^speranza_/) { assegna(campo, "45", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'fiso' # else if (campo ~ /^fiso_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^ben_/) { assegna(campo, "26", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'freddo' # else if (campo ~ /^freddo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^bangno_/ || $bw ~ /^tutto_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'generale' # else if (campo ~ /^generale_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^appellato_/ || $bw ~ /^altro_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'giovane' # else if (campo ~ /^giovane_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^Un_/ || $bw ~ /^uno_/ || $bw ~ /^[EeIi]l_/ || $bw ~ /^altro_/ || $bw ~ /^questo_/ || ($bw ~ /^[ö']l_/ && $fw !~ /^consiglio_/ && $fw !~ /^savio_/)) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'giusto' # else if (campo ~ /^giusto_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^Teba_/ || $bw ~ /^primaio_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'giusti' # else if (campo ~ /^giusti_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^¯_/ || $bw ~ /^l?i_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'grossi' # else if (campo ~ /^grossi_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^alquanti_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'guelfi' # else if (campo ~ /^guelfi_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^seguagi_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'iguale' # else if (campo ~ /^iguale_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /,60,/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'infermo' # else if (campo ~ /^infermo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^alcuno_/ || $bw ~ /^cotale_/ || $bw ~ /^o_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'ingiusto' # else if (campo ~ /^ingiusto_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^quando_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'intento' # else if (campo ~ /^intento_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /,60,/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'inutile' # else if (campo ~ /^inutile_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^et_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'iudiciale' # else if (campo ~ /^iudiciale_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^e_/ || $bw ~ /^n‚_/ || $bw ~ /^[ö']l_/ || $bw ~ /^[,:]_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'llor' # else if (campo ~ /^llor_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^iú_/ || $bw ~ /^a_/) { assegna(campo, "33", end) } else { assegna(campo, "38", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'loco' # else if (campo ~ /^loco_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^son_/ || $bw ~ /^udiresti_/ || $bw ~ /^avene_/ || $fw ~ /^dove_/) { assegna(campo, "45", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'lontano' # else if (campo ~ /^lontano_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^molto_/ || $bw ~ /^fosse_/ || $bw ~ /^paese_/) { assegna(campo, "26", end) } else if ($bw ~ /^da_/ || $bw ~ /^di_/) { assegna(campo, "20", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'lungo' # else if (campo ~ /^lungo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^aspet\&\[t\&\]ato_/) { assegna(campo, "lungo,45", end) } else if ($fw ~ /^da_/) { assegna(campo, "lungi", end) } else if ($fw ~ /^questo_/ || $fw ~ /^me_/ || $fw ~ /^via_/ || $fw ~ /^l['eo]_/) { assegna(campo, "56", end) } else { assegna(campo, "26", end) } } # # (2) Regola vera e propria # # Regola di disambiguazione esterna per la parola "male" # else if (campo ~ /^male_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^öne_/ || ($bw ~ /^per_/ && $fw ~ /^,_/) || ($bw ~ /^molto_/ && $fw ~ /^ad_/) || $bw ~ /lem=dire/ || $bw ~ /^va_/ || $bw ~ /^guidava_/ || $bw ~ /^parve_/ || $fw ~ /^infamato_/ || $fw ~ /^partiti_/ || $fw ~ /^andate_/ || $fw ~ /^spendere_/ || $fw ~ /^avete_/) { assegna(campo, "45", end) } else if ($fw ~ /^animo_/ || $fw ~ /^provedimento_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'matti' # else if (campo ~ /^matti_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^ö'_/ || $bw ~ /^fusero_/ || $bw ~ /^paiono_/ || $bw ~ /^uomini_/ || $bw ~ /^veramente_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'matto' # else if (campo ~ /^matto_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^ogni_/ || $bw ~ /^[Ii]l_/ || $bw ~ /^,61,_/ || ($bw ~ /^öl_/ && $fw !~ /^il_/)) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'meglo' # else if (campo ~ /^meglo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^il_/) { assegna(campo, "20", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'meglio' # else if (campo ~ /^meglio_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^[iö']l_/ || $bw ~ /^lo_/ || $bw ~ /^in_/) { assegna(campo, "20", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Merzede' # else if (campo ~ /^Merzede_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^!_/) { assegna(campo, "20", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'necessario' # else if (campo ~ /^necessario_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^e_/) { assegna(campo, "20", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'negoziale' # else if (campo ~ /^negoziale_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ if (($fw ~ /^._/ && $ffw ~ /^Il_/) || ($fw ~ /^;_/ && $ffw ~ /^de_/)) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'nero' # else if (campo ~ /^nero_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^'l_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'oltremare' # else if (campo ~ /^oltremare_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^d'_/) { assegna(campo, "20", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'onesto' # else if (campo ~ /^onesto_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^d'_/ || $bw ~ /^:_/ || $bw ~ /^cioŠ_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Or' # else if (campo ~ /^Or_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^vi_/) { assegna(campo, "45", end) } else { assegna(campo, "47", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'or' # else if (campo ~ /^or_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (($bw ~ /^;_/ && ($fw ~ /^dicer…_/ || $fw ~ /^s_/ || $fw ~ /^non_/)) || ($bw ~ /^:_/ && ($fw ~ /^voi_/ || $fw ~ /^vena_/ || $fw ~ /^non_/ || $fw ~ /^come_/)) || ($bw ~ /^,_/ && $fw ~ /^diremo_/) || ($bw ~ /^Ma_/ && $fw ~ /^ti_/)) { assegna(campo, "47", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'ora' # else if (campo ~ /^ora_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^ha_/ || $bw ~ /^ö?e_/ || $bw ~ /^sono_/ || $bw ~ /^levate_/ || $bw ~ /^viene_/ || $bw ~ /^paiano_/ || $bw ~ /^[;,]_/ || $bw ~ /^gi…_/ || $bw ~ /^et_/ || $bw ~ /^ma_/ || $bw ~ /^vuole_/ || $bw ~ /^rispondo_/ || $bw ~ /^fa_/ || $bw ~ /^n‚_/ || $bw ~ /^Š_/ || $bw ~ /^soave_/ || $bw ~ /^fatto_/ || $bw ~ /^sse_/ || $bw ~ /^morire_/ || $bw ~ /^fier_/ || $bw ~ /^vede_/ || $bw ~ /^sarei_/ || $bw ~ /^voglio_/ || $bw ~ /^mangiare_/ || $bw ~ /^öne_/ || $bw ~ /^avrebbe_/ || $bw ~ /^pur_/ || $bw ~ /^s•l_/ || ($bw ~ /^che_/ && $fw !~ /^mi_/) || ($bw ~ /^ad?_/ && ($fw ~ /^v['i]_/ || $fw ~ /^e_/ || $fw ~ /^noi_/))) { assegna(campo, "45", end) } else if ($bw ~ /^:_/ || $bw ~ /^Et_/ || $bw ~ /^Ma_/) { assegna(campo, "47", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'oscuro' # else if (campo ~ /^oscuro_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ bbw = bw bbw-- if ($bw ~ /^et_/ || ($bbw ~ /^De_/ || $bw ~ /^öll'_/)) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'piano' # else if (campo ~ /^piano_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^troppo_/ || $bw ~ /^e_/ || $fw ~ /^che_/) { assegna(campo, "45", end) } else if ($bw ~ /^öl_/ || $bw ~ /^a_/ || $bw ~ /^di_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Peccato' # else if (campo ~ /^Peccato_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^face_/) { assegna(campo, "20", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'peggio' # else if (campo ~ /^peggio_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^che_/ || $bw ~ /^far…_/) { assegna(campo, "45", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'peregrino' # else if (campo ~ /^peregrino_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^spirito_/ || $fw ~ /^spirito_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'podere' # else if (campo ~ /^podere_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^suo_/ && $fw ~ /^di_/) { assegna(campo, "podere", end) } else { assegna(campo, "potere", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Poscia' # else if (campo ~ /^Poscia_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^quando_/) { assegna(campo, "47", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'poscia' # else if (campo ~ /^poscia_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" bbw = bw bbw-- nf++ if ($bbw ~ /^morte_/ && $bw ~ /^,_/ && $fw ~ /^,_/) { assegna(campo, "47", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'possibile' # else if (campo ~ /^possibile_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^e_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'potenti' # else if (campo ~ /^potenti_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^huomini_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'poveri' # else if (campo ~ /^poveri_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^tutti_/ || $bw ~ /^infermi_/ || $bw ~ /^fossero_/ || $fw ~ /^cavalieri_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'presso' # else if (campo ~ /^presso_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ assegna(campo, "45", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'propie' # else if (campo ~ /^propie_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^parole_/ || $bw ~ /^s_/) { assegna(campo, "26", end) } else { assegna(campo, "33", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'propria' # else if (campo ~ /^propria_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^la_/) { assegna(campo, "26", end) } else { assegna(campo, "33", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'proprio' # else if (campo ~ /^proprio_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^il_/) { assegna(campo, "26", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'rado' # else if (campo ~ /^rado_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^di_/) { assegna(campo, "26", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'religioso' # else if (campo ~ /^religioso_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^alchuno_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'reo' # else if (campo ~ /^reo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^öli_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'ricchi' # else if (campo ~ /^ricchi_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^ö?'_/ || $bw ~ /^a_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'ricco' # else if (campo ~ /^ricco_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^öl_/ || $bw ~ /^lo_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Secondo' # else if (campo ~ /^Secondo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^cominciamento_/) { assegna(campo, "65", end) } else if ($fw ~ /^k'_/) { assegna(campo, "45", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'secondo' # else if (campo ~ /^secondo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /,60,/ || $bw ~ /,21,/) { assegna(campo, "65", end) } else if ($fw ~ /lem=che,/ || $bw ~ /^angeli_/) { assegna(campo, "45", end) } else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'sere' # else if (campo ~ /^sere_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^O_/) { assegna(campo, "sire", end) } else { assegna(campo, "sera", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'sesta' # else if (campo ~ /^sesta_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^a_/) { assegna(campo, "20", end) } else { assegna(campo, "65", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'sesto' # else if (campo ~ /^sesto_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^per_/ || $bw ~ /^uno_/ || $fw ~ /^d'_/) { assegna(campo, "20", end) } else { assegna(campo, "65", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'sexto' # else if (campo ~ /^sexto_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /,21,/ || $bw ~ /^ll?ibro_/) { assegna(campo, "65", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'soave' # else if (campo ~ /^soave_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^pi—_/ || $fw ~ /^ora_/) { assegna(campo, "45", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'sol' # else if (campo ~ /^sol_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^per_/ || $bw ~ /^il_/ || $bw ~ /^che_/) { assegna(campo, "20", end) } else if ($bw ~ /^ovunque_/ || $fw ~ /^ne_/) { assegna(campo, "26", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'sole' # else if (campo ~ /^sole_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^quelle_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Sole' # else if (campo ~ /^Sole_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^öl_/) { assegna(campo, "21", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'sottile' # else if (campo ~ /^sottile_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^e_/) { assegna(campo, "45", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'speziale' # else if (campo ~ /^speziale_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^Bartolino_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'spezie' # else if (campo ~ /^spezie_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^molte_/) { assegna(campo, "spezie", end) } else { assegna(campo, "specie", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'stretta' # else if (campo ~ /^stretta_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^grande_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'suora' # else if (campo ~ /^suora_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^Esionam_/) { assegna(campo, "suora2", end) } else { assegna(campo, "suora1", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "pro'" # else if (campo ~ /^pro'_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^tenere_/) { assegna(campo, "26", end) } else if ($bw ~ /^abbia_/) { assegna(campo, "45", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'traditore' # else if (campo ~ /^traditore_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^disleale_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'pro' # else if (campo ~ /^pro_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^anima_/) { assegna(campo, "56", end) } else if ($fw ~ /^a_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "pro'" # else if (campo ~ /^pro'_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^fatto_/) { assegna(campo, "45", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'prode' # else if (campo ~ /^prode_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^a_/ || $bw ~ /^che_/ || $bw ~ /^di_/ || $bw ~ /^far?_/ || $bw ~ /^[öi]l_/ || $bw ~ /^per_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'sinestra' # else if (campo ~ /^sinestra_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^ölla_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'tondo' # else if (campo ~ /^tondo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /,60,/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'umile' # else if (campo ~ /^umile_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^Alexandro_/) { assegna(campo, "45", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'uso' # else if (campo ~ /^uso_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^Š_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'utile' # else if (campo ~ /^utile_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^connoscere_/ || $bw ~ /^paiono_/ || $bw ~ /^sono_/ || $bw ~ /^d'_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'vaio' # else if (campo ~ /^vaio_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^muletto_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'vecchi' # else if (campo ~ /^vecchi_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^ö'_/ || $bw ~ /^Li_/ || $bw ~ /^savi_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'vecchio' # else if (campo ~ /^vecchio_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (($bw ~ /^,_/ && $fw ~ /^,_/) || ($bw ~ /^un_/ && $fw !~ /^¯_/) || ($bw ~ /^il_/ && $fw !~ /^marito_/) || $bw ~ /^E_/ || $bw ~ /^[Ieö]l_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'vedova' # else if (campo ~ /^vedova_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^la_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'vergato' # else if (campo ~ /^vergato_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /,asino,/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'vergine' # else if (campo ~ /^vergine_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /,6[01],/ || $fw ~ /^Maria_/ || ($fw ~ /^Madonna_/ && $bw !~ /^sempre_/)) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'vero' # else if (campo ~ /^vero_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^o_/) { assegna(campo, "45", end) } else if (($bw ~ /,60,/ && $bw !~ /^öl_/) || $bw ~ /lem=dire/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'via' # else if (campo ~ /^via_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /lem=cacciare,/ || $bw ~ /lem=fuggire,/ || $bw ~ /lem=andare/ || $bw ~ /^ito_/ || $bw ~ /^partir_/ || $bw ~ /^portato_/ || $bw ~ /^öllo_/ || $bw ~ /^ösi_/) { assegna(campo, "via,45", end) } else if ($fw ~ /^Š_/ || $fw ~ /^pi—_/) { assegna(campo, "vie,45", end) } else if ($bw ~ /^tre_/ || $fw ~ /^tre_/) { assegna(campo, "56", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'vie' # else if (campo ~ /^vie_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^pi[—£]_/ || $fw ~ /^meno_/ || $fw ~ /^migliore_/ || $fw ~ /^peggiore_/) { assegna(campo, "45", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'villano' # else if (campo ~ /^villano_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^pi—_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'vivente' # else if (campo ~ /^vivente_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^tuo_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'volgare' # else if (campo ~ /^volgare_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^lingua_/ || $bw ~ /^poeta_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione interna ed esterna della forma 'fedele' # else if (campo ~ /^fedele_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^amore_/ || $fw ~ /^consiglio_/ || $bw ~ /^neuno_/ || ($bw ~ /^e_/ && $fw ~ /^._/)) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'fero' # else if (campo ~ /^fero_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^di_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione interna ed esterna della forma 'folle' # else if (campo ~ /^folle_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^öl_/ || $fw ~ /^guardare_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione interna ed esterna della forma 'forte' # else if (campo ~ /^forte_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^öli_/ || $bw ~ /^ös?si_/ || $bw ~ /^pensando_/ || $bw ~ /^lamentavano_/ || $bw ~ /^sospirando_/ || $bw ~ /^pianger_/ || $bw ~ /^sospiri_/ || $bw ~ /^temo_/ || $bw ~ /^Fiorentini_/ || $bw ~ /lem=riprendere/ || $bw ~ /^maravigliava_/ || $bw ~ /^biastemava_/ || $bw ~ /^dubit•_/ || $bw ~ /^adira_/ || $bw ~ /^Amor_/ || $bw ~ /^se_/ || $fw ~ /^correnti_/ || $fw ~ /^lamentando_/ || $fw ~ /^disdic'_/ || $fw ~ /^m?i_/ || ($bw ~ /^s_/ && $fw ~ /^,_/) || ($bw ~ /^paura_/ && $fw ~ /^¯_/)) { assegna(campo, "45", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione interna ed esterna della forma 'Fede' # else if (campo ~ /^Fede_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ((($fw ~ /,20,/ || $fw ~ /,26,/) && $fw ~ /,4,/ && $fw !~ /\);\(/) || $bw ~ /^detto_/) gsub (/;5/, "", campo) else gsub (/4;/, "", campo) assegna(campo, "21", end) } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'Cristiana' # else if (campo ~ /^Cristiana_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /lem=fede,/) { assegna(campo, "26", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'cristiano' # else if (campo ~ /^cristiano_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^rinegato_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione interna della forma 'arte' # else if (campo ~ /^arte_/) { nf++ if ($bw ~ /^buone_/ || $bw ~ /^sette_/) { sub (/6;/, "", campo) print campo } else { sub (/;7/, "", campo) print campo } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'Bene' # else if (campo ~ /^Bene_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^öl_/) { sub (/;5/, "" ,campo) sub (/;7/, "" ,campo) assegna(campo, "21", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'Cavaliere' # else if (campo ~ /^Cavaliere_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^®_/) { sub (/;5/, "" ,campo) sub (/;7/, "" ,campo) assegna(campo, "21", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'Dama' # else if (campo ~ /^Dama_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^®_/) { sub (/;5/, "" ,campo) sub (/;7/, "" ,campo) assegna(campo, "20", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'oggi' # else if (campo ~ /^oggi_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^d'_/ || $bw ~ /^da_/) { assegna(campo, "20", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'om' # else if (campo ~ /^om_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ bbw = bw bbw-- if ($fw ~ /lem=mortale/ || $bw ~ /lem=ahi,68,0,0,0,0,0/ || ($bbw ~ /^E_lem=e,50,0,0,0,0,0/ && $bw ~ /^l'_\(lem=lo,60,0,4,6;7,0,0\);\(lem=la,60,0,5,6;7,0,0\);\(lem=la,39,3,5,6,0,0\);\(lem=lo,39,3,4,6,0,0\)/)) { assegna(campo, "20", end) } else { assegna(campo, "32", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'on' # else if (campo ~ /^on_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^d'_/ || $bw ~ /^'n_/) { assegna(campo, "20", end) } else { assegna(campo, "32", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna e interna di 'Padre' # else if (campo ~ /^Padre_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^:_/ || $bw ~ /^®_/ || $fw ~ /^nostro_/) { assegna(campo, "20", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna e interna di 'pater' # else if (campo ~ /^pater_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /lem=nostro,33,/) { sub (/6;/, "", campo) assegna(campo, "20", end) } else { assegna(campo, "75", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Roma' # else if (campo ~ /^Roma_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^,_/ && $fw ~ /^,_/) { assegna(campo, "75", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'regina' # else if (campo ~ /^regina_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^o_/ && $fw ~ /^,_/) { assegna(campo, "75", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Sancte' # else if (campo ~ /^Sancte_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^Porte_/) { assegna(campo, "75", end) } else if ($fw ~ /^Marie_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Sancti' # else if (campo ~ /^Sancti_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^Chattera_/) { assegna(campo, "75", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'fiera' # else if (campo ~ /^fiera_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /,20,/) { assegna(campo, "26", end) } else if ($fw ~ /^da_/) { assegna(campo, "lem=fiera1", end) } else { assegna(campo, "lem=fiera2", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'Figliuolo' # else if (campo ~ /^Figliuolo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^Suo_/) { assegna(campo, "21", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'figliuole' # else if (campo ~ /^[Ff]igliuole_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /,71,/ && $fw ~ /,71,/) { assegna(campo, "figliolo", end) } else { assegna(campo, "figliola", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'fra' # else if (campo ~ /^fra_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^Guittone_lem=guittone,21,0,4,6,0,0/) { assegna(campo, "20", end) } else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'francesco' # else if (campo ~ /^francesco_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^cavaliere_/ || $bw ~ /^quale_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna delle forme 'Frode' e 'Invidia' # else if ((campo ~ /^Frode_/ || campo ~ /^Invidia_/) && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^Š_/) { assegna(campo, "20", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'genti' # else if (campo ~ /^genti_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^sien_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'chome' # else if (campo ~ /^chome_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^questa_/) { assegna(campo, "51", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma "Com'" # else if (campo ~ /^Com'_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ if ($fw ~ /^Š_/ && $ffw ~ /^ampia_/) { assegna(campo, "40", end) } else if ($fw ~ /^Š_/ && $ffw ~ /^ci•_/) { assegna(campo, "35", end) } else if ($fw ~ /^se_/ || $fw ~ /^Š_/) { assegna(campo, "45", end) } else { assegna(campo, "51", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma "com'" # else if (campo ~ /^com'_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ if ($fw ~ /^Š_/ && ($ffw ~ /^grande_/ || $ffw ~ /^travagliata_/)) { assegna(campo, "40", end) } else if ($bw ~ /^sicuranza_/ || $bw ~ /^apertamente_/ || $bw ~ /^inteso_/ || $bw ~ /^omai_/ || $bw ~ /^Tullio_/ || $bw ~ /^ricord•_/ || $bw ~ /^durar_/ || $bw ~ /^parole_/ || $bw ~ /^cosa_/ || $bw ~ /^dimostrava_/ || $bw ~ /^fatto_/ || $bw ~ /^trov•_/ || $bw ~ /^fante_/ || $bw ~ /^dir•_/ || $bw ~ /^guardƒr_/ || $bw ~ /^mente_/ || $bw ~ /^Mercede_/ || $bw ~ /^difensione_/ || $fw ~ /^ellino_/ || $fw ~ /^ell'_/ || ($bw ~ /^,_/ && $fw ~ /^egli_/) || ($bw ~ /^dico_/ && ($fw ~ /^elli_/ || $fw ~ /^e'_/)) || ($bw ~ /^e_/ && ($fw ~ /^io_/ || $fw ~ /^elli_/)) || ($bw ~ /^[,e]_/ && $fw ~ /^ella_/ && $ffw ~ /^si_/) || ($bw ~ /^s_/ && $fw ~ /^egli_/ && $ffw ~ /^Š_/) || ($fw ~ /^era_/ && ($ffw ~ /^nata_/ || $ffw ~ /^temuto_/)) || ($fw ~ /^ella_/ && ($ffw ~ /^n'_/ || $ffw ~ /^fu_/)) || ($fw ~ /^Š_/ && ($ffw ~ /^stellato_/ || $ffw ~ /^drittamente_/ || $ffw ~ /^presta_/)) || ($fw ~ /^elli_/ && $ffw ~ /^manda_/) || ($fw ~ /^io_/ && $ffw ~ /^trovai_/)) { assegna(campo, "51", end) } else if ($bw ~ /^so_/ || $bw ~ /^ölo_/ || $bw ~ /^dimandare_/ || $bw ~ /^diligenzia_/ || $bw ~ /^vedere_/ || $fw ~ /^hai_/ || $fw ~ /^avea_/ || ($bw ~ /^dire_/ && $fw ~ /^ella_/) || ($fw ~ /^elli_/ && $ffw ~ /^capiterebono_/)) { assegna(campo, "35", end) } else if ($bw ~ /^via_/ || ($fw ~ /^Š_/ && $ffw ~ /^ritondo_/)) { assegna(campo, "36", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'Come' # else if (campo ~ /^Come_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^®_/ && $fw ~ /^,_/) { assegna(campo, "40", end) } else if ($fw ~ /^ha_/ || $fw ~ /^hanno_/ || $fw ~ /^intendete_/ || $fw ~ /^vuo'_/ || $fw ~ /^poss'_/ || $fw ~ /^dispensasti_/ || $fw ~ /^va_/ || $fw ~ /^pu•_/ || $fw ~ /^hai_/ || $fw ~ /^dispendi_/ || $fw ~ /^ist‚_/ || $fw ~ /^Š_/ || $fw ~ /^debbo_/ || $fw ~ /^m'_/ || ($bw ~ /^®_/ && $fw ~ /^si_/)) { assegna(campo, "35", end) } else if ($fw ~ /^noi_/ || $fw ~ /^a_/ || $fw ~ /^ci_/) { assegna(campo, "45", end) } else { assegna(campo, "51", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'come' # else if (campo ~ /^come_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ bbw = bw bbw-- ffw = fw ffw++ if ($fw ~ /^fate_/ || $fw ~ /^saresti_/ || ($bw ~ /^,_/ && ($fw ~ /^son_/ || $fw ~ /^Š_/)) || ($bw ~ /^,_/ && ($fw ~ /^ti_/ && $ffw ~ /^mostri_/))) { assegna(campo, "40", end) } else if ($bw ~ /^ricordi_/ || $bw ~ /^ricordare_/ || $bw ~ /^inteso_/ || $bw ~ /^Filosofia_/ || $bw ~ /^mostrato_/ || $bw ~ /^molto_/ || $bw ~ /^intendere_/ || $bw ~ /^via_/ || $bw ~ /^ved[ei]_/ || $bw ~ /^oggimai_/ || $bw ~ /^cavalero_/ || $bw ~ /^contiamo_/ || $bw ~ /^Tull?io_/ || $bw ~ /^prover…_/ || $bw ~ /^extimare_/ || $bw ~ /^mosterr…_/ || $bw ~ /^mostrare_/ || $bw ~ /^dicer…_/ || $bw ~ /^diremo_/ || $bw ~ /^dicendo_/ || $bw ~ /^detto_/ || $bw ~ /^insegnare_/ || $bw ~ /^insegnato_/ || $bw ~ /^sofficientemente_/ || $bw ~ /^vedere_/ || $bw ~ /^prima_/ || $bw ~ /^poi_/ || $bw ~ /^mostrasse_/ || $bw ~ /^dicesse_/ || $bw ~ /^donna_/ || $bw ~ /^spe‡ialmente_/ || $bw ~ /^segui‡ione_/ || $bw ~ /^Vide_/ || $bw ~ /^contare_/ || $bw ~ /^insegnar•_/ || $bw ~ /^rimanterr•_/ || $bw ~ /^sentiste_/ || $bw ~ /^vider_/ || $bw ~ /^senti_/ || $bw ~ /^mira_/ || $bw ~ /^Vedi_/ || $fw ~ /^peccaro_/ || $fw ~ /^furono_/ || $fw ~ /^dobbiamo_/ || $fw ~ /^tra_/ || $fw ~ /^puote_/ || $fw ~ /^Vanaglolia_/ || $fw ~ /^Invidia_/ || $fw ~ /^Ira_/ || $fw ~ /^Lussuria_/ || $fw ~ /^trovai_/ || $fw ~ /^'n_/ || $fw ~ /^molte_/ || $fw ~ /^tocca_/ || $fw ~ /^ordinare_/ || $fw ~ /^ornare_/ || $fw ~ /^tenere_/ || $fw ~ /^profferere_/ || $fw ~ /^Tullio_/ || $fw ~ /^quel_/ || $fw ~ /^grande_/ || $fw ~ /^sarebbe_/ || $fw ~ /^Elena_/ || $fw ~ /^Troia_/ || $fw ~ /^forma_/ || $fw ~ /^virtuosamente_/ || $fw ~ /^reduce_/ || $fw ~ /^adopera_/ || $fw ~ /^leggiero_/ || $fw ~ /^promisi_/ || $fw ~ /^operava_/ || $fw ~ /^ebbe_/ || $fw ~ /^altri_/ || $fw ~ /^Ierusalem_/ || $fw ~ /^Ricciardo_/ || $fw ~ /^nodrido_/ || $fw ~ /^stava_/ || $fw ~ /^conquise_/ || $fw ~ /^servir_/ || $fw ~ /^donate_/ || $fw ~ /^onne_/ || $fw ~ /^consiglio_/ || $fw ~ /^quelli_/ || $fw ~ /^quando_/ || $fw ~ /^Neri_/ || ($bbw ~ /^mondo_/ && $bw ~ /^,_/ && $fw ~ /^fu_/) || ($bw ~ /^ricorda_/ && $fw ~ /^tutte_/) || ($bw ~ /^lettera_/ && $fw ~ /^il_/) || ($bw ~ /^tu_/ && $fw ~ /^Tristizia_/) || ($bw ~ /^ragioni_/ && $fw ~ /^era_/) || ($bw ~ /^lei_/ && $fw ~ /^la_/) || ($bw ~ /^scritto_/ && $fw ~ /^questo_/) || ($bw ~ /^E_/ && $fw ~ /^per_/) || ($bw ~ /^dire_/ && ($fw ~ /^si_/ || $fw ~ /^fu_/ || $fw ~ /^noi_/)) || ($bw ~ /^dire_/ && $fw ~ /^s'_/ && $ffw ~ /^acquista_/) || ($bw ~ /^E_/ && $fw ~ /^a_/ && $ffw ~ /^grandi_/) || ($bw ~ /^s_/ && ($fw ~ /^quest[ao]_/ || $fw ~ /^era_/ || $fw ~ /^gli_/)) || (($bw ~ /^dire_/ || $bw ~ /^dimostrare_/) && $fw ~ /^si_/) || ($bw ~ /^dice_/ && ($fw ~ /^i[on]_/ || $fw ~ /^me_/ || $fw ~ /^,_/)) || ($bw ~ /^dico_/ && ($fw ~ /^io_/ || $fw ~ /^non_/ || $fw ~ /^credo_/ || $fw ~ /^questa_/ || $fw ~ /^elli_/ || $fw ~ /^l'_/)) || ($bw ~ /^,_/ && ($fw ~ /^ne_/ || $fw ~ /^io_/)) || ($bw ~ /^e_/ && ($fw ~ /^pi—_/ || $fw ~ /^[ft]u_/ || $fw ~ /^non_/ || $fw ~ /^parve_/ || $fw ~ /^sopra_/)) || (($bw ~ /^cioŠ_/ || $bw ~ /^conto_/ || $bw ~ /^dire_/) && $fw ~ /^noi_/) || (($bw ~ /^vedere_/ || $bw ~ /^,_/) && $fw ~ /^le_/) || ($bw ~ /^,_/ && (($fw ~ /^ne_/ && $ffw ~ /^ölla_/) || ($fw ~ /^si_/ && $ffw ~ /^dovesse_/))) || ($bw ~ /^bene_/ && ($fw ~ /^la_/ || $fw ~ /^si_/ || $fw ~ /^Religione_/)) || ($bw ~ /^e_/ && ($fw ~ /^fur_/ || $fw ~ /^era_/ || $fw ~ /^tutti_/ || $fw ~ /^son_/ || $fw ~ /^un_/)) || ($bw ~ /^e_/ && (($fw ~ /^per_/ && $ffw ~ /^lei_/) || ($fw ~ /^per_/ && $ffw ~ /^fedele_/) || ($fw ~ /^si_/ && $ffw ~ /^puote_/) || ($fw ~ /^noi_/ && $ffw ~ /^dovemo_/) || ($fw ~ /^la_/ && $ffw ~ /^gente_/) || ($fw ~ /^l'_/ && $ffw ~ /^uno_/) || ($fw ~ /^il_/ && $ffw ~ /^suo_/))) || ($fw ~ /^la_/ && ($ffw ~ /^potente_/ || $ffw ~ /^detta_/ || $ffw ~ /^possa_/)) || ($fw ~ /^il_/ && ($ffw ~ /^padre_/ || $ffw ~ /^vizio_/ || $ffw ~ /^Filgluolo_/ || $ffw ~ /^tempo_/)) || ($fw ~ /^per_/ && ($ffw ~ /^bene_/ || $ffw ~ /^queste_/ || $ffw ~ /^l[ae]_/ || $ffw ~ /^natura_/ || $ffw ~ /^ragione_/)) || ($fw ~ /^si_/ && ($ffw ~ /^debbono_/ || $ffw ~ /^debbia_/ || $ffw ~ /^rende_/ || $ffw ~ /^rifrenano_/ || $ffw ~ /^muove_/ || $ffw ~ /^partio_/)) || ($fw ~ /^avea_/ && ($ffw ~ /^fatto_/ || $ffw ~ /^trovata_/)) || ($fw ~ /^a_/ && $ffw ~ /^ciascun_/) || ($fw ~ /^in_/ && $ffw ~ /^quell[ao]_/) || ($fw ~ /^l'_/ && $ffw ~ /^amico_/) || ($fw ~ /^questa_/ && $ffw ~ /^via_/) || ($fw ~ /^noi_/ && $ffw ~ /^il_/) || ($fw ~ /^cotale_/ && $ffw ~ /^veduta_/) || ($fw ~ /^i_/ && $ffw ~ /^nemici_/) || ($fw ~ /^era_/ && $ffw ~ /^,_/) || ($fw ~ /^l'_/ && $ffw ~ /^uno_/) || ($fw ~ /^sono_/ && $ffw ~ /^istato_/) || ($fw ~ /^,_/ && $ffw ~ /^dopo_/) || ($fw ~ /^si_/ && $ffw ~ /^propuose_/) || ($fw ~ /^i_/ && $ffw ~ /^Giuderi_/) || ($fw ~ /^per_/ && $ffw ~ /^fermo_/)) { assegna(campo, "51", end) } else if ($bw ~ /^accorsi_/ || $fw ~ /^cominci•_/ || ($bw ~ /^dimostrare_/ && $fw ~ /^e_/) || ($bw ~ /^e_/ && ($fw ~ /^Š_/ || $fw ~ /^;_/)) || ($fw ~ /^,_/ && ($ffw ~ /^la_/ || $ffw ~ /^e_/)) || ($fw ~ /^elli_/ && ($ffw ~ /^debiano_/ || $ffw ~ /^tratter…_/)) || ($fw ~ /^si_/ && $ffw ~ /^trasse_/)) { assegna(campo, "32", end) } else if ($bw ~ /^:_/ || $bw ~ /^io_/ || $bw ~ /^me_/ || $bw ~ /^n‚_/ || $bw ~ /^or_/ || $bw ~ /^domandaro_/ || $bw ~ /^pens[oi]_/ || $bw ~ /^aprendere_/ || $bw ~ /^sappie_/ || $bw ~ /^invenire_/ || $bw ~ /^dichi_/ || $bw ~ /^il_/ || $fw ~ /^credi_/ || $fw ~ /^esser_/ || $fw ~ /^facesti_/ || $fw ~ /^far_/ || $fw ~ /^possa_/ || $fw ~ /^potesse_/ || $fw ~ /^saper_/ || ($bw ~ /^ömi_/ && $fw ~ /^lo_/) || ($bw ~ /^[eE]_/ && $fw ~ /^hanno_/) || ($bw ~ /^o_/ && $fw ~ /^,_/) || ($fw ~ /^si_/ && $ffw ~ /^stava_/) || ($fw ~ /^di_/ && $ffw ~ /^tanta_/) || ($bw ~ /^,_/ && ($fw ~ /^ti_/ || $fw ~ /^Tristizia_/ || $fw ~ /^[df]a_/ || $fw ~ /^non_/))) { assegna(campo, "35", end) } else if ($bw ~ /^modo_/ || $bw ~ /^maniera_/ || $fw ~ /^Ermagoras_/ || $fw ~ /^vol_/ || ($bw ~ /^ragioni_/ && $fw ~ /^si_/) || ($fw ~ /^,_/ && $ffw ~ /^insegner…_/) || ($fw ~ /^se_/ && $ffw ~ /^alcuno_/)) { assegna(campo, "36", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'como' # else if (campo ~ /^como_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^diraggio_/) { assegna(campo, "51", end) } else { assegna(campo, "35", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna della forma 'punti' # else if (campo ~ /^punti_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^dolorosi_/) { assegna(campo, "20", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione interna di 'servente' # else if (campo ~ /^servente_/) { nf++ if ($bw ~ /^le_/) { sub (/4;5,6;7/, "5,7", campo) print campo } else if ($bw ~ /^vostra_/) { sub (/4;5,6;7/, "5,6", campo) print campo } else { sub (/4;5,6;7/, "4,6", campo) print campo } } # (2) Regola vera e propria # # Regola per la disambiguazione interna del lemma 'oste' # basata su approccio statistico # else if (campo ~ /lem=oste,/) { nf++ if ($bw ~ /,4,[67],/) { sub (/;5/, "", campo) print campo } else { sub (/4;/, "", campo) print campo } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "detto" # else if (campo ~ /^detto_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (($bw ~ /,60,/ || $bw ~ /,61,/) && $fw ~ /,20,/ || $fw ~ /,21,/) { assegna(campo, "26", end) } else if (($bw ~ /,60,/ || $bw ~ /,61,/) && $fw !~ /,20,/) { assegna(campo, "20", end) } else print campo } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "dette" # else if (campo ~ /^dette_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (($bw ~ /,60,/ || $bw ~ /,61,/) && ($fw ~ /,20,/ || $fw ~ /,21,/ || $fw ~ /,64,/)) { assegna(campo, "26", end) } else print campo } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "detti" # else if (campo ~ /^detti_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (($bw ~ /,60,/ || $bw ~ /,61,/) && $fw ~ /,20,/ || $fw ~ /,21,/) { assegna(campo, "26", end) } else if (($bw ~ /,60,/ || $bw ~ /,61,/) && $fw !~ /,20,/) { assegna(campo, "20", end) } else print campo } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'pari' # else if (campo ~ /^pari_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^nostri_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "mo'" # else if (campo ~ /^mo'_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^questo_/) { assegna(campo, "20", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'molle' # else if (campo ~ /^molle_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^di_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Morte' # else if (campo ~ /^Morte_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^Š_/) { assegna(campo, "20", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'futuro' # else if (campo ~ /^futuro_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^'l_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'presente' # else if (campo ~ /^presente_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ ffw = fw ffw++ if (($bw ~ /^qui_/ && $fw ~ /^le_/) || ($bw ~ /^d_/ && $fw ~ /^fece_/) || ($bw ~ /^vidi_/ && $fw ~ /^:_/) || $bw ~ /^fossero_/ || $bw ~ /^volta_/) { assegna(campo, "45", end) } else if ($bw ~ /,61,/ || $bw ~ /^n‚_/ || $bw ~ /^a_/ || $bw ~ /^di_/ || ($bw ~ /^'l_/ && $fw ~ /^;_/) || ($bw ~ /,60,/ && $fw ~ /^,_/) || ($bw ~ /^,_/ && $fw ~ /^._/) || ($bw ~ /^alcuno_/ && $fw ~ /^fuori_/)) { assegna(campo, "20", end) } else if ($bw ~ /^e_/ || $bw ~ /^,_/) { assegna(campo, "56", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'presenti' # else if (campo ~ /^presenti_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^ö'_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'preterito' # else if (campo ~ /^preterito_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^in_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'amico/a/i' # else if ((campo ~ /^amico_/ || campo ~ /^amica_/ || campo ~ /^amici_/) && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /lem=essere/ || $bw ~ /^vizio_/ || (($bw ~ /^molto_/ || $bw ~ /^tanto_/ || $bw ~ /^öe_/ || $bw ~ /^s_/) && $fw ~ /^di_/) || ($bw ~ /^per_/ && $fw ~ /^persona_/)) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'dritt'' # else if (campo ~ /^dritt'_/ && campo ~ /\);\(/ && $fw ~ /^amanti_/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /lem=stare/ || $bw ~ /^Levante_/ || ($bw ~ /^e_/ && $fw ~ /^per_/)) { assegna(campo, "26", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'd(i)ritto' # else if (campo ~ /lem=diritto,/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /lem=stare/ || $bw ~ /^Levante_/ || ($bw ~ /^e_/ && $fw ~ /^per_/)) { assegna(campo, "45", end) } else if ($bw ~ /,33,/ || $bw ~ /,60,/ || $bw ~ /,61,/ || $bw ~ /^a_/ || $bw ~ /^per_/ || $bw ~ /lem=fare/ || ($bw ~ /^di_/ && $fw ~ /^e_/) || ($bw ~ /^non_/ && $fw ~ /^;_/) || ($bw ~ /^ömmi_/ && $fw ~ /^di_/)) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'primiera' # else if (campo ~ /^primiera_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^la_/ && $fw ~ /^lettera_/) { assegna(campo, "65", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'puro' # else if (campo ~ /^puro_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^il_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'quarto' # else if (campo ~ /^quarto_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (($bw ~ /^uno_/ && $fw ~ /^di_/) || ($bw ~ /^il_/ && $fw ~ /^danari_/)) { assegna(campo, "20", end) } else { assegna(campo, "65", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione interna di 'danari' # else if (campo ~ /^danari_/) { nf++ if ($bw ~ /^quarto_/) sub (/;7/, "", campo) else sub (/6;/, "", campo) print campo } # (2) Regola vera e propria # # Regola per la disambiguazione interna di 'cari' # else if (campo ~ /^cari_/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^i_/ && $fw ~ /^figliuoli_/) sub (/8;/, "", campo) else sub (/;10/, "", campo) print campo } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'caro' # else if (campo ~ /^caro_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^gran_/ || $bw ~ /^grandissimo_/ || $bw ~ /^il_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'cardinale' e 'cardinali' # else if (campo ~ /^cardinal[ei]_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^virt£_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'certa' # else if (campo ~ /^certa_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^affensa_/ || $fw ~ /^difirenza_/ || $fw ~ /^guerra_/ || $fw ~ /^malivolglenza_/ || $fw ~ /^parte_/ || $fw ~ /^pietan‡a_/ || $fw ~ /^quantit…_/ || $fw ~ /^quantitade_/ || ($bw ~ /^una_/ && $fw ~ /^persona_/) || ($bw ~ /^a_/ && $fw ~ /^pena_/)) { assegna(campo, "32", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'certe' # else if (campo ~ /^certe_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^cotali_/) { assegna(campo, "26", end) } else { assegna(campo, "32", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione interna ed esterna di 's' # else if (campo ~ /lem=s,/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (($bw ~ /l_/ && $bw !~ /^qual_/) || ($bw ~ /lem=italicsopen,/ && $fw ~ /lem=italicsclosed,/)) { assegna(campo, "20", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione interna ed esterna di 'rede' # else if (campo ~ /^rede_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^aliene_/) { assegna(campo, "ereda", end) } else { assegna(campo, "erede", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione interna ed esterna di 'tardi' # else if (campo ~ /^tardi_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^e_/ && $bw ~ /^a_/) { assegna(campo, "26", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'saggio' # else if (campo ~ /^saggio_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^in_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'salvo' # else if (campo ~ /^salvo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /lem=che,/ || $fw ~ /^se_/) { assegna(campo, "45", end) } else if ($bw ~ /^e_/ || $fw ~ /^in_/) { assegna(campo, "26", end) } else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'sancto' # else if (campo ~ /^sancto_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^in_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'santo' # else if (campo ~ /^santo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^'l_/ || $bw ~ /^ciascun_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'savio' # else if (campo ~ /^savio_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (($bw ~ /^un_/ && $fw !~ /^filosafo_/ && $fw !~ /^religioso_/) || ($bw ~ /^uno_/ && $fw !~ /^predicatore_/ && $fw !~ /^huomo_/) || ($bw ~ /^il_/ && $fw !~ /^[;e]_/ && $fw !~ /^uomo_/) || ($bw ~ /^alcuno_/ && $fw ~ /^che_/) || $bw ~ /^El_/ || $bw ~ /^gran_/ || $bw ~ /^grande_/ || $bw ~ /^grandissimo_/ || $fw ~ /^costrinse_/ || $fw ~ /^dice_/ || $fw ~ /^esaminare_/ || $fw ~ /^mette_/ || $fw ~ /^rispose_/ || $fw ~ /^;_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione interna ed esterna di 'Saracini' # else if (campo ~ /^Saracini_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^re_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Otto' # else if (campo ~ /^Otto_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^generazioni_/) { assegna(campo, "64", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'nove' # else if (campo ~ /^nove_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^foresette_/ || $fw ~ /^adornezze_/ || $fw ~ /^voglie_/) { assegna(campo, "26", end) } else { assegna(campo, "64", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'nona' # else if (campo ~ /^nona_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^fermamente_/ || $fw ~ /^ora_/) { assegna(campo, "65", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'venti' # else if (campo ~ /^venti_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^li_/ || $bw ~ /^senza_/ || $fw ~ /^s_/) { assegna(campo, "20", end) } else { assegna(campo, "64", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'beati' # else if (campo ~ /^beati_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^ö'_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Beato' # else if (campo ~ /^Beato_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^,_/) { assegna(campo, "26", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Bello' # else if (campo ~ /^Bello_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^di_/) { assegna(campo, "26", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'bianco' # else if (campo ~ /^bianco_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^il_/ || $bw ~ /^compriso_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'torta' # else if (campo ~ /^torta_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^e_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'ver'' # else if (campo ~ /^ver'_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^Š_/) { assegna(campo, "26", end) } else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'ver' # else if (campo ~ /^ver_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^lo_/ || $fw ~ /^noi_/ || $fw ~ /^lei_/ || $fw ~ /^di_/) { assegna(campo, "56", end) } else if ($fw ~ /^dice_/ || $fw ~ /^dire_/ || $fw ~ /^sentire_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'tre' # else if (campo ~ /^tre_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^cotanta_/) { assegna(campo, "45", end) } else { assegna(campo, "64", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'triste' # else if (campo ~ /^triste_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^maravigliosamente_/ || $fw ~ /^penne_/) { assegna(campo, "tristo", end) } else { assegna(campo, "triste", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'mal' # else if (campo ~ /^mal_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^altrui_/ || $bw ~ /^grave_/ || $bw ~ /^metti_/ || $bw ~ /^ogni_/ || $fw ~ /^che_/ || $fw ~ /^commesso_/ || $fw ~ /^d'_/ || $fw ~ /^non_/ || $fw ~ /^perduto_/) { assegna(campo, "20", end) } else if (($bw ~ /^di_/ && $fw ~ /^talento_/) || $bw ~ /^in_/ || $bw ~ /^un_/ || $fw ~ /^compagno_/ || $fw ~ /^fiorino_/ || $fw ~ /^merito_/ || $fw ~ /^motto_/) { assegna(campo, "26", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'martiri' # else if (campo ~ /^martiri_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (($bw ~ /^ö'_/ && $fw ~ /^,_/) || ($bw ~ /^di_/ && $fw ~ /^che_/)) { assegna(campo, "martire", end) } else { assegna(campo, "martirio", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'simigliante' # else if (campo ~ /^simigliante_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /,60,/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'simil' # else if (campo ~ /^simil_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^E_/) { assegna(campo, "45", end) } else if ($bw ~ /^di_/) { assegna(campo, "26", end) } else if ($fw ~ /^me_/) { assegna(campo, "56", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'simile' # else if (campo ~ /^simile_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^da_/ && $fw ~ /^o_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'solo' # else if (campo ~ /^solo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^era_/ || $bw ~ /^meno_/ || $bw ~ /^ebe_/ || $bw ~ /^Uno_/ || $fw ~ /^punto_/ || $fw ~ /^grano_/ || $fw ~ /^e_/ || $fw ~ /^seduto_/ || $fw ~ /^motto_/ || $fw ~ /^remane_/ || $fw ~ /^torneamento_/ || $fw ~ /^inganno_/ || $fw ~ /^sanza_/) { assegna(campo, "26", end) } else { assegna(campo, "45", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'soma' # else if (campo ~ /^soma_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^la_/ && $fw ~ /^,_/) { assegna(campo, "soma", end) } else { assegna(campo, "somma", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'sommo' # else if (campo ~ /^sommo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^öl_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Romano' # else if (campo ~ /^Romano_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^grande_/) { assegna(campo, "20", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'giudeo' # else if (campo ~ /^giudeo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^n‚_/ || $bw ~ /^Iosep_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'grandi' # else if (campo ~ /^grandi_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^ö'_/ || $fw ~ /^di_/ || ($bw ~ /^certi_/ && $fw ~ /^de_/)) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'greco' # else if (campo ~ /^greco_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^prigione_/ || $bw ~ /^savio_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'piccioli' # else if (campo ~ /^piccioli_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^di_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'maggio' # else if (campo ~ /^maggio_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^di_/ || $bw ~ /^ka~_/ || $bw ~ /^kalende_/ || $bw ~ /^calendi_/ || $bw ~ /^uscie\&\[n\&\]tte_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'maggiori' # else if (campo ~ /^maggiori_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^nostri_/ || $bw ~ /^o_/ || ($bw ~ /^ö'_/ && $fw !~ /^benificŒ_/ && $fw !~ /^di_/)) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'mezo' # else if (campo ~ /^mezo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^e_/) { assegna(campo, "45", end) } else if ($fw ~ /^mio_/ || $fw ~ /^amico_/ || $fw ~ /lem=gennaio,/ || $fw ~ /lem=febraio,/ || $fw ~ /lem=marzo,/ || $fw ~ /lem=aprile,/ || $fw ~ /lem=maggio,/ || $fw ~ /lem=giugno,/ || $fw ~ /lem=luglio,/ || $fw ~ /lem=agosto,/ || $fw ~ /lem=settembre,/ || $fw ~ /lem=ottobre,/ || $fw ~ /lem=novembre,/ || $fw ~ /lem=dicembre,/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'mezzo' # else if (campo ~ /^mezzo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^\&\[e\&\]_/ || $bw ~ /^rimuraro_/) { assegna(campo, "45", end) } else if ($fw ~ /^tempo_/ || $fw ~ /^pane_/ || $fw ~ /lem=marzo,/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'nemica' # else if (campo ~ /^nemica_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^mia_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'nimico' # else if (campo ~ /^nimico_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^öe_/ || $bw ~ /^se'_/ || ($bw ~ /^e_/ && $fw ~ /^de_/)) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'anno' # else if (campo ~ /^anno_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^tu_/ || $bw ~ /^c'_/) { assegna(campo, "45", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "aconcio" # else if (campo ~ /^aconcio_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^nostro_/ || $bw ~ /^con_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "albore" # else if (campo ~ /^albore_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^l'_/) { assegna(campo, "albore", end) } else { assegna(campo, "albero", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "animale" # else if (campo ~ /^animale_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^spirito_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "giusta" # else if (campo ~ /^giusta_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^la_/) { assegna(campo, "56", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "comuni" # else if (campo ~ /^comuni_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^fatti_/ || $bw ~ /^sono_/ || $bw ~ /^lle_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "Cicilia" # else if (campo ~ /^Cicilia_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^Sanc?ta_/) { assegna(campo, "cicilia", end) } else { assegna(campo, "sicilia", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'terza' # else if (campo ~ /^terza_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^gi…_/ || $fw ~ /^a_/) { assegna(campo, "20", end) } else { assegna(campo, "65", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Terza' # else if (campo ~ /^Terza_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^la_/) { assegna(campo, "21", end) } else { assegna(campo, "65", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Filosofia' e 'Natura' # else if (campo ~ /^Filosofia_/ || campo ~ /^Natura_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^Š_/) { assegna(campo, "20", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'naturale' # else if (campo ~ /^naturale_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^grande_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'fin' # else if (campo ~ /^fin_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^presio_/) { assegna(campo, "26", end) } else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione interna ed esterna di 'fine' # else if (campo ~ /^fine_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^molto_/ || $bw ~ /^oro_/ || $bw ~ /^pi—_/ || $fw ~ /^argento_/ || $fw ~ /^apetito_/ || $fw ~ /^crostata_/ || $fw ~ /^ronzone_/) { if ($bw ~ /^molto_/ || $bw ~ /^pi—_/ || $fw ~ /^crostata_/) { sub (/4;/, "", campo) assegna(campo, "26", end) } else { sub (/;5/, "", campo) assegna(campo, "26", end) } } else if ($bw ~ /,5,6,/ || $bw ~ /^quale_/ || $bw ~ /^fec[ei]_/ || $bw ~ /^öne_/ || $fw ~ /^intra_/ || $fw ~ /^s_/) { sub (/4;/, "", campo) assegna(campo, "20", end) } else if ($bw ~ /,4,6,/ || $bw ~ /^cotale_/ || $bw ~ /^Ma_/ || $bw ~ /^suo_/ || $bw ~ /^verace_/) { sub (/;5/, "", campo) assegna(campo, "20", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'Ponte' # else if (campo ~ /^Ponte_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^di_/) { assegna(campo, "20", end) } else { assegna(campo, "21", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'povero' # else if (campo ~ /^povero_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^Il_/ || $bw ~ /^alchuno_/ || $fw ~ /^fugire_/ || $fw ~ /^ne_/) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "prigione" # else if (campo ~ /^prigione_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^di_/ || $fw ~ /^co_/ || $fw ~ /^greco_/) { assegna(campo, "prigione1", end) } else { assegna(campo, "prigione2", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di "Vecchio" # else if (campo ~ /^Vecchio_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^Guido_/) { assegna(campo, "21", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'tenpo' # else if (campo ~ /^tenpo_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^öl_/ && $fw ~ /^;_/) { assegna(campo, "tempio", end) } else { assegna(campo, "tempo", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione interna di 'gente' # else if (campo ~ /^gente_/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^le_/ || $fw ~ /^raccorte_/) { sub (/4;/, "", campo) sub (/6;/, "", campo) print campo } else if ($fw ~ /^traditore_/) { sub (/;5/, "", campo) sub (/;7/, "", campo) print campo } else { sub (/4;/, "", campo) sub (/;7/, "", campo) print campo } } # (2) Regola vera e propria # # Regola per la disambiguazione interna di 'maggiore' # else if (campo ~ /^maggiore_/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^la_/) { sub (/4;/, "", campo) sub (/9;/, "", campo) print campo } else if ($bw ~ /^öl_/ && $fw ~ /^honore_/) { sub (/;5/, "", campo) sub (/9;/, "", campo) print campo } else { sub (/;5/, "", campo) sub (/;10/, "", campo) print campo } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna e interna di 'maggior' # else if (campo ~ /^maggior_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^essute_/) { assegna(campo, "45", end) } else { if ($bw ~ /^la_/) { sub (/4;/, "", campo) sub (/9;/, "", campo) } else if ($fw ~ /,20,0,5,6,/ || $fw ~ /,20,0,5,6;7,/ ||$fw ~ /^gente_/) { sub (/4;/, "", campo) sub (/;10/, "", campo) } else { sub (/;5/, "", campo) sub (/;10/, "", campo) } assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'mastri' # else if (campo ~ /^mastri_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^porti_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'mastro' # else if (campo ~ /^mastro_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^padiglione_/) { assegna(campo, "26", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'nobili' # else if (campo ~ /^nobili_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^noi_/ || ($bw ~ /^i_/ && $fw !~ /^ingegni_/)) { assegna(campo, "20", end) } else { assegna(campo, "26", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione interna di 'nobile' # else if (campo ~ /^nobile_/) { nf++ if ($bw ~ /,5,6,/ || $fw ~ /,5,6,/ || $bw ~ /^assai_/ || $bw ~ /^fece_/ || $bw ~ /^pi—_/ || $fw ~ /^citt…_/ || $fw ~ /^ambasceria_/ || ($bw ~ /^e_/ && $fw ~ /^e_/)) { sub (/4;/, "", campo) print campo } else if ($bw ~ /,4,6,/ || $fw ~ /,4,6,/ || $bw ~ /^molto_/) { sub (/;5/, "", campo) print campo } else print campo } # (2) Regola vera e propria # # Regola per la disambiguazione interna di 'parente' # else if (campo ~ /^parente_/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (($bw ~ /,6[01],0,5,6/) || ($bw ~ /^overo_/ && $fw ~ /^._/) || ($bw ~ /^con_/ && $fw ~ /^,_/)) { sub (/4;/, "", campo) print campo } else if ($bw ~ /,6[01],0,4,6/ || $bw ~ /^suo_/ || ($bw ~ /^e_/ && $fw ~ /^d‚_/) || ($bw ~ /^leal_/ && $fw ~ /^,_/)) { sub (/;5/, "", campo) print campo } else print campo } # (2) Regola vera e propria # # Regola per la disambiguazione interna di 'Baldovino' # else if (campo ~ /^Baldovino_/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^conte_/ || $fw ~ /^Rinucci_/) { sub (/;5/, "", campo) sub (/;7/, "", campo) print campo } else print campo } # (2) Regola vera e propria # # Regola per la disambiguazione interna di 'Uffredi' # else if (campo ~ /^Uffredi_/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^Uffredi_/) { sub (/;5/, "", campo) sub (/;7/, "", campo) print campo } else print campo } # (2) Regola vera e propria # # Regola per la disambiguazione interna di 'Berlinghieri' # else if (campo ~ /^Berlinghieri_/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^de_/) { sub (/;5/, "", campo) sub (/;7/, "", campo) print campo } else print campo } # (2) Regola vera e propria # # Regola per la disambiguazione interna di 'regi' # else if (campo ~ /^regi_/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^facto_/) { sub (/;7/, "", campo) print campo } else { sub (/6;/, "", campo) print campo } } # # Regola per 'Die': # else if (campo ~ /Die_\(lem=d,/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw !~ /,77,/) { assegna(campo, "21", end) } else if ($fw ~ /,77,/) { assegna(campo, "20", end) } else print campo } # # Regola per 'signore': # else if (campo ~ /^signore_/) { if (campo ~ /¾$/) end = "¾" else end = "" bbw = bw bbw-- nf++ if (($bw ~ /^öl_/ && ($fw ~ /^naturalmente_/ || $fw ~ /^._/)) || ($bw ~ /^nostro_/ && $fw ~ /^,_/) || ($bw ~ /^il_/ && $fw ~ /^suo_/) || ($bbw ~ /_lem=soggetto,/ && $bw ~ /^e_/) || $bw ~ /^altissimo_/ || $fw ~ /^serva_/) { assegna(campo, "21", end) } else { assegna(campo, "20", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna dei nomi propri # else if (campo ~ /,21,/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if (campo ~ /,20,/ && $bw !~ /lem=stop,70,0,0,0,0,0/ && $bw !~ /®/ && $bw !~ /¸/) { if (campo ~ /,5,6;7,/ && $bw ~ /0,5,6,/) gsub (/;7/, "", campo) else if (campo ~ /,5,6;7,/ && $bw ~ /0,5,7,/) gsub (/6;/, "", campo) else if (campo ~ /,4;5,6,/ && $bw ~ /0,5,6,/) gsub (/4;/, "", campo) else if (campo ~ /,4;5,6,/ && $bw ~ /0,4,6,/) gsub (/;5/, "", campo) assegna(campo, "21", end) } else if (campo !~ /,20,/ && campo ~ /\);\(/ && $bw ~ /,60,/) { if (campo ~ /,5,6;7,/ && $bw ~ /0,5,6,/) gsub (/;7/, "", campo) else if (campo ~ /,5,6;7,/ && $bw ~ /0,5,7,/) gsub (/6;/, "", campo) else if (campo ~ /,4;5,6,/ && $bw ~ /0,5,6,/) gsub (/4;/, "", campo) else if (campo ~ /,4;5,6,/ && $bw ~ /0,4,6,/) gsub (/;5/, "", campo) else if (campo ~ /,4;5,6;7,/ && $bw ~ /0,4,6,/) { gsub (/;5/, "", campo) gsub (/;7/, "", campo) } assegna(campo, "21", end) } else print campo } # # (2) Regola vera e propria # # Regola per la disambiguazione interna del nome # quando preceduto da articolo o dimostrativo o possessivo masc./sing. # else if ($bw !~ /^che_/ && $bw !~ /^[Qq]ue'_/ && ($bw ~ /,60,.,4,6,/ || $bw ~ /,61,.,4,6,/ || $bw ~ /,26,.,4,6,/ || $bw ~ /,30,.,4,6,/ || $bw ~ /,32,.,4,6,/ || $bw ~ /,33,.,4,6,/) && (campo ~ /,20,/ || campo ~ /,76,/) && campo ~ /;/) { nf++ # # Regola per i nomi che possono assumere tutte le combinazioni di gen./num. # if (campo ~ /,4;5,6;7,/) { sub (/;5/, "", campo) sub (/;7/, "", campo) print campo } # # Regola per i nomi maschili sing./plur. # else if (campo ~ /,4,6;7,/) { sub (/;7/, "", campo) print campo } else if (campo ~ /,4;5,6,/) { sub (/;5/, "", campo) print campo } else print campo } # # (2) Regola vera e propria # # Regola per la disambiguazione interna del nome # quando preceduto da articolo o dimostrativo o possessivo masc./plur. # else if (($bw ~ /,60,.,4,7,/ || $bw ~ /,61,.,4,7,/ || $bw ~ /,26,.,4,7,/ || $bw ~ /,30,.,4,7,/ || $bw ~ /,32,.,4,7,/ || $bw ~ /,33,.,4,7,/ || $bw ~ /^[Qq]ue'_/) && (campo ~ /,20,/ || campo ~ /,76,/) && campo ~ /;/) { nf++ # # Regola per i nomi maschili sing./plur. # if (campo ~ /,4,6;7,/) { sub (/6;/, "", campo) print campo } else if (campo ~ /,4;5,7,/) { sub (/;5/, "", campo) print campo } else print campo } # # (2) Regola vera e propria # # Regola di controllo per evitare assegnazioni improprie con nomi fem. sing./plur. # Se la base di dati oggetto di elaborazione è corretta, la regola non deve applicarsi # # else # if ($bw ~ /\);\(/ && $bw ~ /,60,0,5,6,/ && $bw ~ /,60,0,5,7,/ && (campo ~ /,20,/ || campo ~ /,76,/) && campo ~ /,5,6;7,/) # { # nf++ # print campo # } # # (2) Regola vera e propria # # Regola per la disambiguazione interna del nome # quando preceduto da articolo o dimostrativo o possessivo fem./sing. # else if (($bw ~ /,60,.,5,6,/ || $bw ~ /,61,.,5,6,/ || $bw ~ /,26,.,5,6,/ || $bw ~ /,30,.,5,6,/ || $bw ~ /,32,.,5,6,/ || $bw ~ /,33,.,5,6,/) && (campo ~ /,20,/ || campo ~ /,76,/) && campo ~ /;/) { nf++ # # Regola per i nomi femminili sing./plur. # if (campo ~ /,5,6;7,/) { sub (/;7/, "", campo) print campo } else if (campo ~ /,4;5,6,/) { sub (/4;/, "", campo) print campo } else print campo } # # (2) Regola vera e propria # # Regola per la disambiguazione interna del nome # quando preceduto da articolo o dimostrativo o possessivo fem./plur. # else if (($bw ~ /,60,.,5,7,/ || $bw ~ /,61,.,5,7,/ || $bw ~ /,26,.,5,7,/ || $bw ~ /,30,.,5,7,/ || $bw ~ /,32,.,5,7,/ || $bw ~ /,33,.,5,7,/) && (campo ~ /,20,/ || campo ~ /,76,/) && campo ~ /;/) { nf++ # # Regola per i nomi masc./fem. plur. # if (campo ~ /,4;5,7,/) { sub (/4;/, "", campo) print campo } # # Regola per i nomi femminili sing./plur. # else if (campo ~ /,5,6;7,/) { sub (/6;/, "", campo) print campo } else print campo } # (2) Regola vera e propria # # Regola per la disambiguazione interna del nome # quando preceduto o seguito da numerale # else if (campo ~ /,20,/ && campo ~ /;/) { nf++ if (campo ~ /,4,6;7,/ && ($bw ~ /lem=uno,/ || $fw ~ /lem=uno,/)) { sub (/;7/, "", campo) print campo } else if (campo ~ /,4,6;7,/ && ($bw ~ /,64,/ || $fw ~ /,64,/ || $bw ~ /,77,/ || $fw ~ /,77,/)) { sub (/6;/, "", campo) print campo } else print campo } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'sopra' # else if (campo ~ /^sopra_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($bw ~ /^di_/ || $fw ~ /^\;_/ || $fw ~ /^\._/ || $fw ~ /^dette_/) { assegna(campo, "45", end) } else { assegna(campo, "56", end) } } # (2) Regola vera e propria # # Regola per la disambiguazione esterna di 'e' # else if (campo ~ /^e_/ && campo ~ /\);\(/) { if (campo ~ /¾$/) end = "¾" else end = "" nf++ if ($fw ~ /^converso_/) { assegna(campo, "75", end) } else if ($fw ~ /^medesimi_/) { assegna(campo, "60", end) } else { assegna(campo, "50", end) } } else { nf++ print campo } } }