# PEX v.0.2 # # Modulo D'=di_da: # BEGIN { RS = "" nf = 20 } # { 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++ # omette le stringhe contenenti: # '@' # '%' # '$' # '£' # '#' if ($fw ~ /\@/ || $fw ~ /\%/ || $fw ~ /\$/ || $fw ~ /\£/ || $fw ~ /\#/) fw++ if ($fw ~ /\@/ || $fw ~ /\%/ || $fw ~ /\$/ || $fw ~ /\£/ || $fw ~ /\#/) fw++ if ($fw ~ /\@/ || $fw ~ /\%/ || $fw ~ /\$/ || $fw ~ /\£/ || $fw ~ /\#/) fw++ ffw = fw ffw++ 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-- bbw = bw bbw-- # salta i campi che non contengono l'elemento da cercare (d') # if (campo !~ /^d'_/) { nf++ } # Serie di query CQP trasformate in regole AWK # else if ($fw ~ /,[123]21,/) { if (($bw ~ /^è_/ && ($fw ~ /^avere_/ || $fw ~ /^aiutare_/ || $fw ~ /^aprendere_/ || $fw ~ /^operare_/)) || $fw ~ /^amonire_/ || $fw ~ /^amaestrare_/) { nf++ } else if (($bw ~ /^tempo_/ && $fw ~ /^attendere_/) || ($bw ~ /^parrà_/ && $fw ~ /^avere_/) || ($bw ~ /^via_/ && ($fw ~ /^acquistar_/ || $fw ~ /^intendere_/)) || $bw ~ /^apparecchiamento_/ || $bw ~ /^guardassi_/ || $bw ~ /^passaggio_/) { nf++ } else { nf++ } } else if (($bw ~ /^che_/ && $fw ~ /^amore_/) || ($fw ~ /^una_/ && $ffw ~ /^parte_/) || ($fw ~ /^ogn[ie]_/ && ($ffw ~ /^canto_/ || $ffw ~ /^lato_/ || $ffw ~ /^parte_/)) || ($bw ~ /^ha_/ && $fw ~ /^alta_/) || ($bw ~ /^mosso_/ && $fw ~ /^ottima_/) || ($bw ~ /^muta_/ && $fw ~ /^un_/) || (($bw ~ /^solo_/ || $bw ~ /^morto_/) && $fw ~ /^una_/) || ($bw ~ /^die_/ && $fw ~ /^Andrea_/) || ($bw ~ /^e_/ && $fw ~ /^altra_/) || ($bw ~ /^o_/ && $fw ~ /^alcuna_/) || ($bw ~ /^e_/ && $fw ~ /^un_/ && $ffw ~ /^tempo_/) || (($bw ~ /^sapremo_/ || $bw ~ /^o_/ || $bw ~ /^inparare_/) && $fw ~ /^altrui_/) || ($bw ~ /^ella_/ && $fw ~ /^Amore_/) || ($bw ~ /^accompagnata_/ && $fw ~ /^alcuna_/) || ($bw ~ /^consiglio_/ && $fw ~ /^ivi_/) || ($bw ~ /^sol_/ && $fw ~ /^una_/ && $ffw ~ /^donna_/) || ($bw ~ /^tratto_/ && $fw ~ /^occhi_/) || ($fw ~ /^ogni_/ && $ffw ~ /^luogo_/) || $fw ~ /^entro_/) { nf++ } else if (($bw ~ /^che_/ && $fw ~ /^alta_/) || ($bw ~ /^presso_/ && $fw ~ /^alcuno_/) || ($bw ~ /^voi_/ && $fw ~ /^angeli\&\[ca\&\]_/) || ($bw ~ /^nascono_/ && ($fw ~ /^Invidia_/ || $fw ~ /^Ira_/ || $fw ~ /^Avarizia_/)) || (($bw ~ /^lei_/ || $bw ~ /^e_/ || $bw ~ /^,_/) && $fw ~ /^ogni_/) || ($bw ~ /^nate_/ && $fw ~ /^una_/) || ($bw ~ /^guarde_/ && $fw ~ /^avarizia_/) || ($bw ~ /^e_/ && $fw ~ /^altrui_/) || ($bw ~ /^batte_/ && $fw ~ /^intorno_/) || ($bw ~ /^o_/ && ($fw ~ /^ovo_/ || $fw ~ /^altr[ao]_/)) || ($bw ~ /^informate_/ && $fw ~ /^angelica_/) || (($bw ~ /^mondo_/ || $bw ~ /^veggono_/ || $bw ~ /^e_/ || $bw ~ /^trovai_/ || $bw ~ /^là_/ || $bw ~ /^femine_/ || $bw ~ /^ride_/ || $bw ~ /^castella_/ || $bw ~ /^volse_/ || $bw ~ /^veggono_/) && $fw ~ /^intorno_/) || ($bw ~ /^giunto_/ && $fw ~ /^alcun_/) || ($bw ~ /^guarda_/ && $fw ~ /^una_/) || ($bw ~ /^÷ti_/ && $fw ~ /^ogne_/) || ($bw ~ /^÷ti_/ && $fw ~ /^esso_/) || ($bw ~ /^che_/ && $fw ~ /^orgogliose_/) || ($bw ~ /^,_/ && $fw ~ /^invidia_/) || ($bw ~ /^proviene_/ && $fw ~ /^eloquenzia_/) || ($bw ~ /^muovono_/ && $fw ~ /^onesto_/) || ($bw ~ /^e_/ && $fw ~ /^utile_/) || ($bw ~ /^nato_/ && $fw ~ /^onestissime_/) || ($bw ~ /^furato_/ && $fw ~ /^una_/) || ($bw ~ /^calice_/ && $fw ~ /^uno_/) || ($bw ~ /^sacrata_/ && $fw ~ /^uno_/) || ($bw ~ /^tolse_/ && $fw ~ /^uno_/) || ($bw ~ /^cioè_/ && $fw ~ /^una_/) || ($bw ~ /^ma_/ && $fw ~ /^un_/ && $ffw ~ /^altro_/) || ($bw ~ /^difensione_/ && $fw ~ /^un_/ && $ffw ~ /^altro_/) || ($bw ~ /^nasce_/ && $fw ~ /^alcuna_/) || ($bw ~ /^ritraeva_/ && $fw ~ /^altre_/) || ($bw ~ /^che_/ && $fw ~ /^esse_/) || ($bw ~ /^estratto_/ && $fw ~ /^alto_/) || ($bw ~ /^cacciat[io]_/ && $fw ~ /^altra_/) || ($bw ~ /^movea_/ && $fw ~ /^amoroso_/) || ($bw ~ /^procede_/ && $fw ~ /^un'_/ && $ffw ~ /^anima_/) || ($bw ~ /^levato_/ && $fw ~ /^una_/) || ($bw ~ /^che_/ && $fw ~ /^allora_/) || ($bw ~ /^notaio_/ && $fw ~ /^Oltra\&\[r\&\]no_/) || (($bw ~ /^notaio_/ || $bw ~ /^viturale_/ || $bw ~ /^alberchiere_/) && $fw ~ /_lem=orvieto,/) || ($bw ~ /^÷e_/ && $fw ~ /^uno_/ && $ffw ~ /^paese_/) || ($bw ~ /^terra_/ && $fw ~ /^un_/) || ($bw ~ /^tanto_/ && $fw ~ /^una_/) || ($bw ~ /^viandante_/ && $fw ~ /^albergho_/) || ($bw ~ /^che_/ && $fw ~ /^allora_/ && $ffw ~ /^innanzi_/) || ($bw ~ /^tratto_/ && $fw ~ /^ongne_/) || ($bw ~ /^tornò_/ && $fw ~ /^oltremare_/) || ($bw ~ /^nato_/ && $fw ~ /^Inghilterra_/) || ($bw ~ /^passare_/ && $fw ~ /^un_/ && $ffw ~ /^picciolo_/) || ($bw ~ /^crociati_/ && $fw ~ /^Italia_/) || ($bw ~ /^nasscerà_/ && $fw ~ /^una_/) || ($bw ~ /^nato_/ && $fw ~ /^Asscholi_/) || ($bw ~ /^venia_/ && $fw ~ /^Alangna_/) || ($bw ~ /^cardinale_/ && $fw ~ /^Acquassparte_/) || ($bw ~ /^ritornò_/ && $fw ~ /^Inghilterra_/) || ($bw ~ /^togliesse_/ && $fw ~ /^ogni_/) || ($bw ~ /^÷e_/ && $fw ~ /^una_/ && $ffw ~ /^in_/) || ($bw ~ /^gravati_/ && $fw ~ /^angosciosa_/) || ($bw ~ /^,_/ && $fw ~ /^una_/ && $ffw ~ /^scuritate_/) || ($bw ~ /^e_/ && $fw ~ /^allegrezza_/ && $ffw ~ /^è_/) || ($bw ~ /,21,/ && $bw !~ /^Dio_/ && $bw !~ /^Dido_/ && $fw ~ /,21,/) || ($fw ~ /^altra_/ && $ffw ~ /^maniera_/) || ($fw ~ /^ogn[ei]_/ && $ffw ~ /^tempo_/) || ($bw ~ /^fuori_/ && $fw !~ /^un_/) || ($bw ~ /^For_/ && $fw ~ /^ogne_/) || ($bw ~ /^mercatante_/ && $fw ~ /^Egitto_/) || ($bw ~ /^sapesse_/ && $fw ~ /^arte_/) || (($bw ~ /^sapremo_/ || $bw ~ /^inparare_/) && $fw ~ /^altrui_/) || ($bw ~ /^cittadini_/ && $fw ~ /^uno_/) || ($bw ~ /^segnore_/ && $fw ~ /^esto_/) || (($bw ~ /lem=podestà,/ || $bw ~ /lem=re,/ || $bw ~ /lem=conte,/ || $bw ~ /lem=duca,/ || $bw ~ /lem=cavaliere,/ || $bw ~ /lem=vescovo,/ || $bw ~ /lem=cardinale,/ || $bw ~ /lem=principe,/ || $bw ~ /^nonane_/ || $bw ~ /lem=notaio,/ || $bw ~ /^cheric/ || $bw ~ /^mercatant/ || $bw ~ /^alberchier/) && $fw ~ /,21,/) || ($bw ~ /lem=essere/ && ($fw ~ /^Egitto_/ || $fw ~ /^Italia_/)) || $fw ~ /^oltremonte_/ || $fw ~ /^onni_/ || $fw ~ /^oltremirabile_/) { nf++ } else if (campo ~ /^d'_/) { gsub (/_.*/, "", campo) back = nf back-- forw = nf forw++ lineout = campo while ($back !~ /_lem=stop,/) { vback = $back if (vback ~ /\@/ || vback ~ /\%/ || vback ~ /\$/ || vback ~ /\£/ || vback ~ /\#/) back-- else { gsub (/_.*/, "", vback) lineout = vback " " lineout back-- } } while ($forw !~ /_lem=stop,/) { vforw = $forw if (vforw ~ /\@/ || vforw ~ /\%/ || vforw ~ /\$/ || vforw ~ /\£/ || vforw ~ /\#/) forw++ else { gsub (/_.*/, "", vforw) lineout = lineout " " vforw forw++ } } vforw = $forw gsub (/_.*/, "", vforw) lineout = lineout " " vforw print lineout nf++ } } }