|
|
|
|
# -*- coding:cp1252 -*-
# Flexion des verbes du corse, v. 1.56, 154 verbes.
# Flexion des verbes du corse, 01.09.2005, par Vincent Comiti, http://cadrat.saynete.net , vincent@saynete.net
# Classe de traitement du corpus
class Trt_lex_initial:
def __init__(s,cg='',fd='',fa='',ts='',rd='',std='',sta=''):
s.conj=cg #
Ensemble de la conjugaison, ex: contenu de cong_arhi
s.frm_dep=fd #
Graphème de départ pour la svucalatura
s.frm_arr=fa #
Graphème d arrivée pour la svucalatura
s.tempu_svu=ts #
Temps de conjugaison
s.verb=rd #
Lemme du verbe
s.term_dep=std #
Terminaison de départ du lemme pour la svucalatura
s.term_arr=sta #
Terminaison d arrivée du lemme pour la svucalatura
# Fonction de copie dure (ou
clonage) des variables, liste par liste
def clone(s):
double=[['',['']]]
for
db in range(0,len(s.conj)-1):
double[db:db]=[[['temp'],
['morph']]]
for
db in range(0,len(s.conj)):
dd=s.conj[db][0]
double[db][0]=dd[:]
ee=s.conj[db][1]
double[db][1]=ee[:]
return
double
# Fonction de modification de la racine
def svucalatura(s):
svu_i = re.compile('\n(\w*)'+s.frm_dep+'(.{1,5})'+s.term_dep+'\t\*'+s.verb+'\t'+s.tempu_svu)
s.conj=svu_i.sub('\n\\1'+s.frm_arr+'\\2'+s.term_arr+'\t*'+s.verb+'\t'+s.tempu_svu,s.conj)
return
s.conj
# Classe de conjugaison des verbes
class Cunghjucazione:
# Distribution des variables
# Morphèmes de genre, nombre
et personne :
f0='';f1='+SG+P1';f2='+SG+P2';f3='+SG+P3';f4='+PL+P1';f5='+PL+P2';f6='+PL+P3';fms='+Mas+SG';fmp='+Mas+PL';ffs='+Fem+SG';ffp='+Fem+PL';
tabl=''
# Désinences :
# Arhizotonique
cong_arhi=[\
['Ver:IPri',['u',f1,'i',f2,'a',f3,'e',f3,'emu',f4,'imu',f4,'emi',f4,'eti',f5,'ate',f5,'anu',f6,'enu',f6,'ani',f6,'ini',f6]],\
['Ver:IImp',['avu',f1,'ava',f1,'aia',f1,'aiu',f1,'avi',f2,'ai',f2,'ava',f3,'ave',f3,'aia',f3,'avamu',f4,'aiami',f4,'avati',f5,'avate',f5,'aiati',f5,'avanu',f6,'avenu',f6,'aiani',f6]],\
['Ver:IFut',['eraghju',f1,'araghju',f1,'erai',f2,'arè',f2,'erà',f3,'arà',f3,'eremu',f4,'aremu',f4,'aremi',f4,'erete',f5,'areti',f5,'aranu',f6,'eranu',f6,'arani',f6]],\
['Ver:IPad',['ai',f1,'eti',f1,'asti',f2,'esti',f2,'ò',f3,'eti',f3,'aimu',f4,'etimi',f4,'aste',f5,'esti',f5,'onu',f6,'etini',f6]],\
['Ver:CPrp',['eria',f1,'eriu',f1,'aria',f1,'ariu',f1,'erii',f2,'eristi',f2,'arii',f2,'aristi',f2,'eria',f3,'erie',f3,'aria',f3,'eriamu',f4,'ariami',f4,'eriate',f5,'ariasti',f5,'aristi',f5,'erianu',f6,'erienu',f6,'ariani',f6]],\
['Ver:CPrd',['erebbi',f1,'eribbe',f1,'eresti',f2,'erebbe',f3,'eribbe',f3,'erebbimu',f4,'eribbemu',f4,'ereste',f5,'erebbenu',f6,'eribbenu',f6]],\
['Ver:SPri',['i',f1,'i',f2,'i',f3,'e',f3,'imu',f4,'imi',f4,'ite',f5,'iti',f5,'inu',f6,'enu',f6,'ini',f6]],\
['Ver:SImp',['assi',f1,'essi',f1,'assi',f2,'essi',f2,'assi',f3,'essi',f3,'assimu',f4,'essimu',f4,'essimi',f4,'assite',f5,'essite',f5,'essiti',f5,'assinu',f6,'essinu',f6,'essini',f6]],\
['Ver:PPas',['atu',fms,'ati',fmp,'ata',ffs,'ate',ffp]],\
['Ver:PPri',['endu',fms]],\
['Ver:GPri',['endu',fms]],\
['Ver:ImPr',['a',f2,'emu',f4,'emi',f4,'imu',f4,'ate',f5,'eti',f5]],\
['Ver:IfPr',['à',f0]],\
]
# Arhizotonique avec variante
en -eghj -ighj
cong_arhi_eghj=Trt_lex_initial(cong_arhi).clone()
cong_arhi_eghj[0][1][0]='eghju';cong_arhi_eghj[0][1].append('ighju');cong_arhi_eghj[0][1].append(f1)
cong_arhi_eghj[0][1][2]='eghji';cong_arhi_eghj[0][1].append('ighji');cong_arhi_eghj[0][1].append(f2)
cong_arhi_eghj[0][1][4]='eghja';cong_arhi_eghj[0][1][6]='eghje';cong_arhi_eghj[0][1].append('ighja');cong_arhi_eghj[0][1].append(f3)
cong_arhi_eghj[0][1][18]='eghjanu';cong_arhi_eghj[0][1][20]='eghjenu';cong_arhi_eghj[0][1][22]='eghjani';cong_arhi_eghj[0][1][24]='eghjini';cong_arhi_eghj[0][1].append('ighjani');cong_arhi_eghj[0][1].append(f6)
cong_arhi_eghj[6][1]=['eghji',f1,'ighji',f1,'eghji',f2,'ighji',f2,'eghji',f3,'ighji',f3,'eghje',f3,'eghjimu',f4,'eghjimi',f4,'ighjimi',f4,'eghjite',f5,'eghjiti',f5,'ighjiti',f5,'eghjinu',f6,'eghjenu',f6,'eghjini',f6,'ighjini',f6]
cong_arhi_eghj[11][1][0]='eghja';cong_arhi_eghj[11][1].append('ighja');cong_arhi_eghj[11][1].append(f2)
# Arhizotonique avec variante
en -eghj -ighj facultatif
cong_arhi_eghj_falc=Trt_lex_initial(cong_arhi_eghj).clone()
cong_arhi_eghj_falc[0][1].append('u');cong_arhi_eghj_falc[0][1].append(f1)
cong_arhi_eghj_falc[0][1].append('i');cong_arhi_eghj_falc[0][1].append(f1)
cong_arhi_eghj_falc[0][1].append('a');cong_arhi_eghj_falc[0][1].append(f3);cong_arhi_eghj_falc[0][1].append('e');cong_arhi_eghj_falc[0][1].append(f3);
cong_arhi_eghj_falc[0][1].append('anu');cong_arhi_eghj_falc[0][1].append(f6);cong_arhi_eghj_falc[0][1].append('enu');cong_arhi_eghj_falc[0][1].append(f6);cong_arhi_eghj_falc[0][1].append('ani');cong_arhi_eghj_falc[0][1].append(f6);cong_arhi_eghj_falc[0][1].append('ini');cong_arhi_eghj_falc[0][1].append(f6);
cong_arhi_eghj_falc.append(['Ver:SPri'])
cong_arhi_eghj_falc[13].append(['i',f1,'i',f2,'i',f3,'e',f3,'imu',f4,'imi',f4,'ite',f5,'iti',f5,'inu',f6,'enu',f6,'ini',f6])
cong_arhi_eghj[11][1].append('a');cong_arhi_eghj[11][1].append(f2)
# Arhizotonique avec variante
en -g
cong_arhi_g=Trt_lex_initial(cong_arhi).clone()
cong_arhi_g[0][1][0]='gu';
cong_arhi_g[6][1]=['ga',f1,'ghi',f1,'ga',f2,'ghi',f2,'ga',f3,'ghi',f3,'gamu',f4,'ghimu',f4,'gami',f4,'ghimi',f4,'gate',f5,'ghite',f5,'gati',f5,'ghiti',f5,'ganu',f6,'ghinu',f6,'gani',f6,'ghini',f6]
# Arhizotonique avec variante
soit en -g soit en -eghj
cong_arhi_g_eghj=Trt_lex_initial(cong_arhi_eghj).clone()
cong_arhi_g_eghj[0][1].append('gu');cong_arhi_g_eghj[0][1].append(f1);
cong_arhi_g_eghj.append(['Ver:SPri'])
cong_arhi_g_eghj[13].append(['ga',f1,'ghi',f1,'ga',f2,'ghi',f2,'ga',f3,'ghi',f3,'gamu',f4,'ghimu',f4,'gami',f4,'ghimi',f4,'gate',f5,'ghite',f5,'gati',f5,'ghiti',f5,'ganu',f6,'ghinu',f6,'gani',f6,'ghini',f6])
# Arhizotonique à double participe
passé
cong_arhi_ppas=Trt_lex_initial(cong_arhi).clone()
cong_arhi_ppas.append(['Ver:PPas',['u',fms,'i',fmp,'a',ffs,'e',ffp]])
# Arhizotonique des -ì -isce
cong_arhi_isce=[\
['Ver:IPri',['iscu',f1,'isci',f2,'isce',f3,'isci',f3,'imu',f4,'imi',f4,'iscimi',f4,'ite',f5,'iti',f5,'isciti',f5,'iscenu',f6,'iscini',f6]],\
['Ver:IImp',['iu',f1,'ia',f1,'ii',f2,'ia',f3,'iamu',f4,'iami',f4,'iimi',f4,'iate',f5,'iati',f5,'iiti',f5,'ianu',f6,'iani',f6,'iini',f6]],\
['Ver:IFut',['isceraghju',f1,'isicaraghju',f1,'iscerai',f2,'isciarè',f2,'iscerà',f3,'isciarà',f3,'isceremu',f4,'isciaremu',f4,'isciaremi',f4,'iscerete',f5,'isciareti',f5,'isciaranu',f6,'isceranu',f6]],\
['Ver:IPad',['ii',f1,'isti',f2,'ì',f3,'iimu',f4,'iimi',f4,'iste',f5,'isti',f5,'inu',f6,'ini',f6]],\
['Ver:CPrp',['isceria',f1,'isceriu',f1,'isciaria',f1,'isciariu',f1,'iscerii',f2,'isceristi',f2,'isciarii',f2,'isciaristi',f2,'isceria',f3,'isciaria',f3,'isceriamu',f4,'isciariami',f4,'isceriate',f5,'isceriste',f5,'isciariati',f5,'iscerianu',f6,'isceriani',f6,]],\
['Ver:CPrd',['iscerebbi',f1,'isceribbe',f1,'isceresti',f2,'iscerebbe',f3,'isceribbe',f3,'iscerebbimu',f4,'isceribbemu',f4,'iscereste',f5,'iscerebbenu',f6,'isceribbenu',f6]],\
['Ver:SPri',['isca',f1,'ischi',f1,'isca',f2,'ischi',f2,'isca',f3,'ischi',f3,'iscamu',f4,'ischimi',f4,'iscate',f5,'ischiti',f5,'iscanu',f6,'ischini',f6]],\
['Ver:SImp',['issi',f1,'issi',f2,'issi',f3,'issimu',f4,'issimi',f4,'issite',f5,'issiti',f5,'issinu',f6,'issini',f6]],\
['Ver:PPas',['itu',fms,'iti',fmp,'ita',ffs,'ite',ffp]],\
['Ver:PPri',['endu',fms,'indu',fms,'iscendu',fms]],\
['Ver:GPri',['endu',fms,'indu',fms,'iscendu',fms]],\
['Ver:ImPr',['isci',f2,'imu',f4,'iscimi',f4,'ite',f5,'iti',f5,'isciti',f5]],\
['Ver:IfPr',['ì',f0]],\
]
# Arhizotonique des -ì -isce,
à double participe passé
cong_arhi_ippa=Trt_lex_initial(cong_arhi_isce).clone()
cong_arhi_ippa.append(['Ver:IPaa'])
cong_arhi_ippa[13].append(['si',f1,'isti',f2,'se',f3,'si',f3,'simu',f4,'simi',f4,'iste',f5,'isti',f5,'senu',f6,'sini',f6])
cong_arhi_ippa.append(['Ver:PPas',['uttu',fms,'utti',fmp,'utta',ffs,'utte',ffp]])
# Rhizotonique ppas en -utu
cong_rhiz_utu=[\
['Ver:IPri',['u',f1,'i',f2,'e',f3,'i',f3,'emu',f4,'imu',f4,'imi',f4,'ite',f5,'iti',f5,'enu',f6,'ini',f6]],\
['Ver:IImp',['iu',f1,'ia',f1,'ii',f2,'ia',f3,'iamu',f4,'iami',f4,'iate',f5,'iati',f5,'ianu',f6,'iani',f6]],\
['Ver:IFut',['eraghju',f1,'araghju',f1,'erai',f2,'arè',f2,'erà',f3,'arà',f3,'eremu',f4,'aremu',f4,'aremi',f4,'erete',f5,'areti',f5,'eranu',f6,'arani',f6]],\
['Ver:IPad',['ii',f1,'isti',f2,'ì',f3,'iimu',f4,'iimi',f4,'iste',f5,'isti',f5,'inu',f6,'ini',f6]],\
['Ver:IPaa',['iti',f1,'eti',f1,'esti',f2,'ete',f3,'iti',f3,'eti',f3,'etimu',f4,'etimi',f4,'itimi',f4,'iste',f5,'isti',f5,'etenu',f6,'etini',f6,'itini',f6]],\
['Ver:CPrp',['eria',f1,'eriu',f1,'aria',f1,'ariu',f1,'erii',f2,'eristi',f2,'arii',f2,'aristi',f2,'eria',f3,'aria',f3,'eriamu',f4,'ariami',f4,'eriate',f5,'ariati',f5,'eristi',f5,'erianu',f6,'ariani',f6]],\
['Ver:CPrd',['erebbi',f1,'eribbe',f1,'eresti',f2,'erebbe',f3,'eribbe',f3,'erebbimu',f4,'ereste',f5,'erebbenu',f6,'eribbenu',f6]],\
['Ver:SPri',['i',f1,'i',f2,'i',f3,'imu',f4,'imi',f4,'ite',f5,'iti',f5,'inu',f6,'ini',f6]],\
['Ver:SImp',['issi',f1,'essi',f1,'issi',f2,'essi',f2,'issi',f3,'essi',f3,'issimu',f4,'essimu',f4,'issimi',f4,'essite',f5,'issite',f5,'issiti',f5,'issinu',f6,'essinu',f6,'issini',f6]],\
['Ver:PPas',['utu',fms,'uti',fmp,'uta',ffs,'ute',ffp]],\
['Ver:PPri',['endu',fms,'indu',fms]],\
['Ver:GPri',['endu',fms,'indu',fms]],\
['Ver:IfPr',['e',f0,'a',f0]],\
]
# Rhizotonique ppas en -utu,
infinitif en ia
cong_rhiz_utu_ia=Trt_lex_initial(cong_rhiz_utu).clone()
cong_rhiz_utu_ia[12][1][2]='ia';
# Rhizotonique ppas en -itu
cong_rhiz_itu=Trt_lex_initial(cong_rhiz_utu).clone()
cong_rhiz_itu[9][1]=['itu',fms,'iti',fmp,'ita',ffs,'ite',ffp]
# Rhizotonique ppas en -itu,
infinitif en ia (Cogle pour Coglie)
cong_rhiz_itu_ia=Trt_lex_initial(cong_rhiz_utu).clone()
cong_rhiz_itu_ia[12][1][2]='ia';
# Rhizotonique ppas en -tu,
sur radical irrégulier,
cong_rhiz_tu=Trt_lex_initial(cong_rhiz_utu).clone()
del cong_rhiz_tu[9]
# suppression du PPas
cong_rhiz_tu[3][1]=['isti',f2,'iste',f5,'isti',f5]
# Rhizotonique ppas en -tu,
infinitif en ia
cong_rhiz_tu_ia=[['Ver:Infi',['ia',f0]]]
# à plusieurs graphèmes de
la désinence, type assume
cong_rhiz_desi_tu=['Ver:PPad',['si',f1,'si',f3,'se',f3,'simu',f4,'simi',f4,'senu',f6,'sini',f6]]
cong_rhiz_tu_ppas_untu=[['Ver:PPas',['ntu',fms,'nti',fmp,'nta',ffs,'nte',ffp]],cong_rhiz_desi_tu]
cong_rhiz_tu_ppas_eltu=[['Ver:PPas',['ltu',fms,'lti',fmp,'lta',ffs,'lte',ffp]],cong_rhiz_desi_tu]
cong_rhiz_tu_ppas_tu=[['Ver:PPas',['tu',fms,'ti',fmp,'ta',ffs,'te',ffp]],cong_rhiz_desi_tu]
cong_rhiz_tu_ppas_ltu=[['Ver:PPas',['ltu',fms,'lti',fmp,'lta',ffs,'lte',ffp]],cong_rhiz_desi_tu]
# Rhizotonique ppas en -ttu,
sur radical irrégulier,
cong_rhiz_ttu=Trt_lex_initial(cong_rhiz_tu).clone()
# Rhizotonique ppas en -ttu,
type scrive, a
cong_rhiz_tu_ppas_ttu_e=Trt_lex_initial(cong_rhiz_utu).clone()
del cong_rhiz_tu_ppas_ttu_e[12];
# Suppr de l infi
del cong_rhiz_tu_ppas_ttu_e[9];
# Suppr du PPas
del cong_rhiz_tu_ppas_ttu_e[3][1][0:2];del
cong_rhiz_tu_ppas_ttu_e[3][1][2:8];del cong_rhiz_tu_ppas_ttu_e[3][1][6:]
# Suppr des IPad
cong_rhiz_tu_ppas_ttu_e.append(['Ver:IfPr',['a',f0,'e',f0]])
cong_rhiz_tu_ppas_ttu_e_ipad=[['Ver:PPad',['ssi',f1,'ssi',f3,'sse',f3,'ssimu',f4,'ssimi',f4,'ssenu',f6,'ssini',f6]]]
cong_rhiz_tu_ppas_ttu_e_ipad.append(['Ver:PPas',['ttu',fms,'tti',fmp,'tta',ffs,'tte',ffp]])
# Rhizotonique ppas en -ttu,
type cunduce, ia
cong_rhiz_tu_ppas_ttu_ia=Trt_lex_initial(cong_rhiz_utu).clone()
del cong_rhiz_tu_ppas_ttu_ia[12];
# Suppr de l infi
del cong_rhiz_tu_ppas_ttu_ia[9];
# Suppr du PPas
del cong_rhiz_tu_ppas_ttu_ia[3][1][0:2];del
cong_rhiz_tu_ppas_ttu_ia[3][1][2:8];del
cong_rhiz_tu_ppas_ttu_ia[3][1][6:] # Suppr
des IPad
cong_rhiz_tu_ppas_ttu_ia.append(['Ver:IfPr',['ia',f0,'e',f0]])
cong_rhiz_tu_ppas_ttu_ia_ipad=[['Ver:PPad',['ssi',f1,'ssi',f3,'sse',f3,'ssimu',f4,'ssimi',f4,'ssenu',f6,'ssini',f6]]]
cong_rhiz_tu_ppas_ttu_ia_ipad.append(['Ver:PPas',['ttu',fms,'tti',fmp,'tta',ffs,'tte',ffp]])
# Rhizotonique ppas en -ttu,
régulier, type rompe, a
cong_rhiz_tu_ppas_ttu_irre=Trt_lex_initial(cong_rhiz_utu).clone()
del cong_rhiz_tu_ppas_ttu_irre[12];
# Suppr de l infi
del cong_rhiz_tu_ppas_ttu_irre[9];
# Suppr du PPas
del cong_rhiz_tu_ppas_ttu_irre[3][1][0:2];del
cong_rhiz_tu_ppas_ttu_irre[3][1][2:8];del
cong_rhiz_tu_ppas_ttu_irre[3][1][6:] # Suppr
des IPad
cong_rhiz_tu_ppas_ttu_irre.append(['Ver:IfPr',['a',f0,'e',f0]])
cong_rhiz_tu_ppas_ttu_irre_ppas=[['Ver:PPas',['ttu',fms,'tti',fmp,'tta',ffs,'tte',ffp]]]
# Rhizotonique ppas en -su,
sur radical irrégulier,
cong_rhiz_su=Trt_lex_initial(cong_rhiz_tu).clone()
# Rhizotonique ppas en -su,
type perde, a
cong_rhiz_tu_ppas_su=Trt_lex_initial(cong_rhiz_utu).clone()
del cong_rhiz_tu_ppas_su[12];
# Suppr de l infi
cong_rhiz_tu_ppas_su.append(['Ver:IfPr',['a',f0,'e',f0]])
del cong_rhiz_tu_ppas_su[9];
# Suppr du PPas
del cong_rhiz_tu_ppas_su[3][1][0:2];del
cong_rhiz_tu_ppas_su[3][1][2:8];del cong_rhiz_tu_ppas_su[3][1][6:]
# Suppr des IPas
cong_rhiz_tu_ppas_su_ipad=[['Ver:PPad',['si',f1,'si',f3,'se',f3,'simu',f4,'simi',f4,'senu',f6,'sini',f6]]]
cong_rhiz_tu_ppas_su_ipad.append(['Ver:PPas',['su',fms,'si',fmp,'sa',ffs,'se',ffp]])
# Rhizotonique ppas en -ssu,
type mette, a
cong_rhiz_tu_ppas_ssu=Trt_lex_initial(cong_rhiz_utu).clone()
del cong_rhiz_tu_ppas_ssu[12];
# Suppr de l infi
cong_rhiz_tu_ppas_ssu.append(['Ver:IfPr',['a',f0,'e',f0]])
del cong_rhiz_tu_ppas_ssu[9];
# Suppr du PPas
del cong_rhiz_tu_ppas_ssu[3][1][0:2];del
cong_rhiz_tu_ppas_su[3][1][2:8];del cong_rhiz_tu_ppas_su[3][1][6:]
# Suppr des IPad
cong_rhiz_tu_ppas_ssu_ipad=[['Ver:PPad',['ssi',f1,'ssi',f3,'sse',f3,'ssimu',f4,'ssimi',f4,'ssenu',f6,'ssini',f6]]]
cong_rhiz_tu_ppas_ssu_ipad.append(['Ver:PPas',['ssu',fms,'ssi',fmp,'ssa',ffs,'sse',ffp]])
# Rhizotonique ppas en -ertu,
type apre, a
cong_rhiz_tu_ppas_ertu=Trt_lex_initial(cong_rhiz_utu).clone()
del cong_rhiz_tu_ppas_ertu[12];
# Suppr de l infi
cong_rhiz_tu_ppas_ertu.append(['Ver:IfPr',['a',f0,'e',f0]])
del cong_rhiz_tu_ppas_ertu[9];
# Suppr du PPas
cong_rhiz_tu_ppas_ertu_ppas=[['Ver:PPas',['ertu',fms,'erti',fmp,'erta',ffs,'erte',ffp,'artu',fms,'arti',fmp,'arta',ffs,'arte',ffp]]]
# Rhizotonique infixe -g,
irrégulier en -tu
cong_rhiz_g_tu=Trt_lex_initial(cong_rhiz_utu).clone()
del cong_rhiz_g_tu[0][1][0:2]#
suppression deux premiers présent
del cong_rhiz_g_tu[12];
# Suppr de l infi
cong_rhiz_g_tu.append(['Ver:IfPr',['e',f0]])
del cong_rhiz_g_tu[7];
# Suppr du subjonctif présent
del cong_rhiz_g_tu[3][1][0:2];del
cong_rhiz_g_tu[3][1][2:8];del cong_rhiz_g_tu[3][1][4:10]#
suppression deux premiers IPad
del cong_rhiz_g_tu[8];
# Suppr du PPas
cong_rhiz_g_tu_spri=[['Ver:IPri',['u',f1]]]
cong_rhiz_g_tu_spri.append(['Ver:PPas',['tu',fms,'ti',fmp,'ta',ffs,'te',ffp]])
cong_rhiz_g_tu_spri.append(['Ver:SPri',['ga',f1,'ghi',f1,'ga',f2,'ghi',f2,'ga',f3,'ghi',f3,'gamu',f4,'ghimi',f4,'ghimu',f4,'gate',f5,'ghite',f5,'ghiti',f5,'ganu',f6,'ghini',f6,'ghinu',f6]])
cong_rhiz_g_tu_spri.append(['Ver:IPad',['si',f1,'se',f2,'se',f3,'si',f3,'simu',f4,'simi',f4,'senu',f6,'sini',f6]])
cong_rhiz_g_tu_infi=[['Ver:IfPr',['gna',f1]]]
# Rhizotonique infixe -g,
régulier
cong_rhiz_g_reg=Trt_lex_initial(cong_rhiz_itu).clone()
cong_rhiz_g_reg[0][1][0]='gu';
# modification présent
cong_rhiz_g_reg[7][1]=['ga',f1,'ghi',f1,'ga',f2,'ghi',f2,'ga',f3,'ghi',f3,'gamu',f4,'ghimi',f4,'ghimu',f4,'gate',f5,'ghite',f5,'ghiti',f5,'ganu',f6,'ghini',f6,'ghinu',f6]
del cong_rhiz_g_reg[8];
# Suppr du PPas
cong_rhiz_g_reg.append(['Ver:IPaa',['si',f1,'isti',f2,'se',f3,'si',f3,'simu',f3,'simi',f4,'isti',f5,'sini',f6,'senu',f6]])
cong_rhiz_g_reg.append(['Ver:PPas',['tu',fms,'ti',fmp,'ta',ffs,'te',ffp]])
# Rhizotonique infixe -g,
régulier en -utu
cong_rhiz_g_reg_utu=Trt_lex_initial(cong_rhiz_g_reg).clone()
cong_rhiz_g_reg_utu[13][1]=['utu',fms,'uti',fmp,'uta',ffs,'ute',ffp]
cong_rhiz_g_reg_utu_ppa=[['Ver:PPas',['utu',fms,'uti',fmp,'uta',ffs,'ute',ffp]]]
# Rhizotonique infixe -g,
régulier pour crede
cong_rhiz_g_reg_r=Trt_lex_initial(cong_rhiz_g_reg_utu).clone()
del cong_rhiz_g_reg_r[-2];del
cong_rhiz_g_reg_r[4] # Efface IPaa
# Rhizotonique infixe -g,
régulier en -su
cong_rhiz_g_reg_su=Trt_lex_initial(cong_rhiz_g_reg).clone()
cong_rhiz_g_reg_su[13][1]=['su',fms,'si',fmp,'sa',ffs,'se',ffp]
cong_rhiz_g_reg_su[3][1]=['si',f1,'isti',f2,'se',f3,'si',f3,'simu',f3,'simi',f4,'isti',f5,'sini',f6,'senu',f6]
del cong_rhiz_g_reg_su[-2];del
cong_rhiz_g_reg_su[4] # Efface IPaa
# Rhizotonique infixe -g,
régulier en -stu
cong_rhiz_g_reg_stu=Trt_lex_initial(cong_rhiz_g_reg).clone()
del cong_rhiz_g_reg_stu[13];del
cong_rhiz_g_reg_stu[-1];del cong_rhiz_g_reg_stu[4]
# Efface IPaa et PPas
cong_rhiz_g_reg_stu_ppa=[['Ver:PPas',['stu',fms,'sti',fmp,'sta',ffs,'ste',ffp]]]
# Rhizotonique infixe -g et
-chi, vede
cong_rhiz_g_chi=Trt_lex_initial(cong_rhiz_utu).clone()
del cong_rhiz_g_chi[0][1][0:2]#
Suppression deux premiers présent
del cong_rhiz_g_chi[7];
# Suppr du subjonctif présent
del cong_rhiz_g_chi[8];
# Suppr du PPas
cong_rhiz_g_chi_deux=[['Ver:IPri',['cu',f1]]]
cong_rhiz_g_chi_deux.append(['Ver:PPas',['stu',fms,'sti',fmp,'sta',ffs,'ste',ffp]])
cong_rhiz_g_chi_deux.append(['Ver:SPri',['ca',f1,'ca',f2,'ca',f3,'camu',f4,'cate',f5,'canu',f6]])
cong_rhiz_g_chi_deux.append(['Ver:SPri',['chi',f1,'chi',f2,'chi',f3,'chimi',f4,'chiti',f5,'chini',f6]])
cong_rhiz_g_chi_deux_i=[['Ver:SPri',['chi',f1,'chi',f2,'chi',f3,'chimi',f4,'chiti',f5,'chini',f6]]]
cong_rhiz_g_chi_deux_i.append(['Ver:IPri',['cu',f1,'di',f2,'di',f3,'dimu',f4,'diti',f5,'dini',f6]])
cong_rhiz_g_chi_deux_i.append(['Ver:IfPr',['da',f0]])
# Attribution des arguments
def __init__(s,vb='',md='',rd=-1):
s.verb=vb #
Lemme du verbe
s.mode=md #
Famille du verbe, ex: valeur cong_arhi
s.radi=rd #
Longueur du radical, tronqué de 1 par defaut
if
s.verb[s.radi-1:]=='ia' or s.verb[s.radi-1:]=='ie'
or s.verb[s.radi-1:]=='ià':
s.radi=-2
s.radical=s.verb[0:s.radi]
# Radical du verbe
# Fonction de modification
de la désinence (et alternance de la racine)
def disinenza(s):
exec('conjugaison=s.cong_'+s.mode)
#
formation de l étiquette
for
tp in conjugaison:
etiquette=s.radical+'%s\t*'+s.verb+'\t'+tp[0]+'%s'
conjug=str('\n'.join([etiquette
% (tp[1][morph],tp[1][morph+1]) for morph
in range(0,len(tp[1]),2)]))
s.tabl='\n'+s.tabl+conjug+'\n'
#
svucalatura
if
s.verb[s.radi:]=='à': #
pour les Arhizotoniques
for
svu in range(2,5):
penul=['i','e','u','o']
for
pe in range(0,3,2):
if
s.verb[-svu]==penul[pe]: # pour i et u sur
la pénultième du lemme
s.tabl=Trt_lex_initial(s.tabl,penul[pe],penul[pe+1],'Ver:ImPr\+SG\+P2',s.verb).svucalatura()
s.tabl=Trt_lex_initial(s.tabl,penul[pe],penul[pe+1],'Ver:SPri',s.verb).svucalatura()
s.tabl=Trt_lex_initial(s.tabl,penul[pe],penul[pe+1],'Ver:SPri',s.verb,'emu','imu').svucalatura()
s.tabl=Trt_lex_initial(s.tabl,penul[pe],penul[pe+1],'Ver:SPri',s.verb,'emi','imi').svucalatura()
s.tabl=Trt_lex_initial(s.tabl,penul[pe],penul[pe+1],'Ver:SPri',s.verb,'ete','ite').svucalatura()
s.tabl=Trt_lex_initial(s.tabl,penul[pe],penul[pe+1],'Ver:SPri',s.verb,'eti','iti').svucalatura()
s.tabl=Trt_lex_initial(s.tabl,penul[pe],penul[pe+1],'Ver:SPri',s.verb,'enu','inu').svucalatura()
s.tabl=Trt_lex_initial(s.tabl,penul[pe],penul[pe+1],'Ver:SPri',s.verb,'eni','ini').svucalatura()
s.tabl=Trt_lex_initial(s.tabl,penul[pe],penul[pe+1],'Ver:IPri',s.verb).svucalatura()
s.tabl=Trt_lex_initial(s.tabl,penul[pe+1],penul[pe],'Ver:IPri',s.verb,'emu','imu').svucalatura()
s.tabl=Trt_lex_initial(s.tabl,penul[pe+1],penul[pe],'Ver:IPri',s.verb,'emi','emi').svucalatura()
s.tabl=Trt_lex_initial(s.tabl,penul[pe+1],penul[pe],'Ver:IPri',s.verb,'eti','eti').svucalatura()
s.tabl=Trt_lex_initial(s.tabl,penul[pe+1],penul[pe],'Ver:IPri',s.verb,'ate','ate').svucalatura()
s.tabl=Trt_lex_initial(s.tabl,penul[pe],penul[pe+1],'Ver:IPri',s.verb,'eni','eni').svucalatura()
s.tabl=Trt_lex_initial(s.tabl,'o','u','Ver:IPri',s.verb,'emu','imu').svucalatura()
if
s.verb[-2:]=='cà':
s.tabl=Trt_lex_initial(s.tabl,'ci','chi','',s.verb).svucalatura()
s.tabl=Trt_lex_initial(s.tabl,'ce','che','',s.verb).svucalatura()
s.tabl=Trt_lex_initial(s.tabl,'','','',s.verb,'ci','chi').svucalatura()
if
s.verb[-2:]=='gà':
s.tabl=Trt_lex_initial(s.tabl,'gi','ghi','',s.verb).svucalatura()
s.tabl=Trt_lex_initial(s.tabl,'ge','ghe','',s.verb).svucalatura()
s.tabl=Trt_lex_initial(s.tabl,'','','',s.verb,'gi','ghi').svucalatura()
if
conjugaison==s.cong_rhiz_tu_ppas_ertu:
for
ertu in ['rtu','rti','rta','rte']:
s.tabl=Trt_lex_initial(s.tabl,'o','u','Ver:PPas',s.verb,ertu,ertu).svucalatura()
if
conjugaison==s.cong_rhiz_g_reg:
s.tabl=Trt_lex_initial(s.tabl,'o','u','Ver:IPad',s.verb).svucalatura()
s.tabl=Trt_lex_initial(s.tabl,'o','u','Ver:IPri\+PL\+P1',s.verb).svucalatura()
s.tabl=Trt_lex_initial(s.tabl,'o','u','Ver:IPaa\+SG\+P2',s.verb).svucalatura()
s.tabl=Trt_lex_initial(s.tabl,'o','u','Ver:IPaa\+PL\+P2',s.verb).svucalatura()
if
conjugaison==s.cong_rhiz_g_reg_utu_ppa:
s.tabl=Trt_lex_initial(s.tabl,'e','i','Ver:PPas',s.verb).svucalatura()
if
conjugaison==s.cong_rhiz_g_reg_r:
s.tabl=Trt_lex_initial(s.tabl,'d','r','Ver:SPri',s.verb).svucalatura()
if
conjugaison==s.cong_rhiz_g_chi_deux_i:
s.tabl=Trt_lex_initial(s.tabl,'e','i','',s.verb).svucalatura()
#
nettoyage du corpus
for
n in range(10):s.tabl=s.tabl.replace('\n\n','\n')
s.tabl=s.tabl.replace('\\+','+')
return
s.tabl
# Module des chaînes de caractère
import string
# Module des expressions régulières
import re
# Liste des verbes
liste=[['arhi',['cantà','paghjellà','cascà','lampà','parlà','pusà','nittà','manghjà','magnà','cibà','scagnulà','pranzà','purtà','pinsà','falà','duvè','trigà']],\
['arhi_eghj',['sciaccamanà','cuntinuà','pridicà','ghjudicà','dubbità','calculà','favurizà','participà','purificà','numinà','identificà','lucalizà','qualificà','assucià','valorizà']],\
['arhi_eghj_falc',['appiccicà','trinnicà','runzicà','annannà','mursicà','liticà','sminticà','stuzzicà','luccicà','praticà','vindicà','merità','occupà','suvità','sunnià']],\
['arhi_g',['falà','minà','ghjurà','sperà','mirà','sunà','innamurà']],\
['arhi_g_eghj',['bastunà','bufunà','vutulà','suminà']],\
['arhi_ppas',['cumprà','tumbà','circà','buscà','liccà','struppià','tuccà']],\
['arhi_isce',['finì','capì','pulì']],\
['arhi_ippa',['custruì','apparì','scumparì']],\
['rhiz_utu',['vende','sparte','batte','cresce','crede','empie','sente','accunsente','accade','parte','beie']],\
['rhiz_utu_ia',['cresce']],\
['rhiz_itu',['fughje','dorme','dromma','arruste','bolle','bodda','budda','cosge']],\
['rhiz_itu_ia',['cosge']],\
['rhiz_tu',['assume','riassume','sceglie','scedda','sparghje','vince','torce','coglie','codda']],\
['rhiz_tu_ia',['vince','scegle','torce','cogle']],\
]
for variante in liste:
# Appel de la procédure principale, en déroulant les
verbes
for lis in
variante[1]:
result=Cunghjucazione(lis,variante[0]).disinenza()
print
result
# Liste des verbes : Cas des PPas à taille de désinence irrégulière,
liste=[['rhiz_tu_ppas_untu',['assume','riassume'],-2],\
['rhiz_tu_ppas_tu',['sparghje'],-4],\
['rhiz_tu_ppas_tu',['vince','torce'],-2],\
['rhiz_tu_ppas_tu',['vincia','torcia'],-3],\
['rhiz_tu_ppas_ltu',['coglie','sceglie'],-4],\
['rhiz_tu_ppas_ltu',['codda','scedda'],-3],\
['rhiz_tu_ppas_ttu_e',['scrive',
'prutege'],-1],\
['rhiz_tu_ppas_ttu_e_ipad',['scrive','prutege'],-2],\
['rhiz_tu_ppas_ttu_ia',['cunduce','pruduce','elege'],-1],\
['rhiz_tu_ppas_ttu_ia_ipad',['cunduce','pruduce','elege'],-2],\
['rhiz_tu_ppas_ttu_e',['strughje','frighje','distrughje','aleghja','pruteghja'],-3],\
['rhiz_tu_ppas_ttu_e_ipad',['strughje','frighje','distrughje','aleghja','pruteghja'],-4],\
['rhiz_tu_ppas_ttu_irre',['rompe'],-1],\
['rhiz_tu_ppas_ttu_irre_ppas',['rompe'],-3],\
['rhiz_tu_ppas_su',['perde','corre','curra','rode','accende','chjode','chjuda','decide','dicida','difende','ride','tende','stende','rende'],-1],\
['rhiz_tu_ppas_su_ipad',['perde','corre','curra','rode','accende','chjode','chjuda','decide','dicida','difende','ride','tende','stende','rende'],-2],\
['rhiz_tu_ppas_su_ipad',['accende','difende','tende','stende','rende'],-3],\
['rhiz_tu_ppas_ssu',['perde','mette','permette','parmetta','rimette','scumette','move','scote'],-1],\
['rhiz_tu_ppas_ssu_ipad',['perde','mette','permette','parmetta','rimette','scumette'],-3],\
['rhiz_tu_ppas_ssu_ipad',['move','scote'],-2],\
['rhiz_tu_ppas_ertu',['apre','copre','scopre','offre','soffre'],-1],\
['rhiz_tu_ppas_ertu_ppas',['apre','copre','scopre','offre','soffre'],-2],\
['rhiz_g_tu',['pienghje','munghje','ghjunghje','cinghje','stringhje','pinghje','tinghje'],-1],\
['rhiz_g_tu_spri',['pienghje','munghje','ghjunghje','cinghje','stringhje','pinghje','tinghje'],-4],\
['rhiz_g_tu_infi',['pienghje','munghje','ghjunghje','cinghje','stringhje','pinghje','tinghje'],-5],\
['rhiz_g_reg',['more'],-1],\
['rhiz_g_reg_utu',['vene','tene','sustene','mantene'],-1],\
['rhiz_g_reg_utu_ppa',['vene','tene','sustene','mantene','crede'],-1],\
['rhiz_g_reg_r',['crede'],-1],\
['rhiz_g_reg_su',['chere'],-1],\
['rhiz_g_reg_stu',['pone'],-1],\
['rhiz_g_reg_stu_ppa',['pone'],-2],\
['rhiz_g_chi',['vede','rivede','preveda'],-1],\
['rhiz_g_chi_deux',['vede','rivede','preveda'],-2],\
['rhiz_g_chi_deux_i',['vede','rivede','preveda'],-2],\
]
for variante in liste:
for lis in
variante[1]:
result=Cunghjucazione(lis,variante[0],variante[2]).disinenza()
print
result
|
|
|
|