Ó Raghallaigh in ICU
First pass at implementing Ó Raghallaigh (2010), in ICU (incomplete)
$wb=[^[:L:][:M:]];
$alpha = [abcdefghijklmnopqrstuvwxyz];
$cons = [bcdfghjklmnpqrstvwxyz];
$nonsyllabic = [ábcdfghjklmnópqrstúvwxyz#]
# broad future/conditional endings
$bfce = [á{adh}{aidh}{aidís}{aimid}{aimis}{ainn}{as}];
# slender future/conditional endings
$sfce = [{eá}{eadh}{idh}{idís}{imid}{imis}{inn}];
$l = [{ll}l];
$mn = [mn];
$fmp = [fmp];
$lnr = [lnr];
$lrst = [lrst];
$dnlst = [dnlst];
$dnst = [dnst];
$rdnlr = [{rd}{rn}{rl}{rr}];
$vowel = [aáeéiíoóuú];
# left context short broad vowel
$lcsbv = [{ea}{io}{iu}aou];
# left context short slender vowel
$lcssv = [{ai}{eai}{ei}e{iui}i{oi}{ui}];
# left context broad vowel
$lcbv = [{adh}{ae}{ao}aá{ea}{eá}{eo}{éa}{io}{iu}{iú}{ío}oó{uío}uú];
# right context broad vowel
$rcbv = [{aei}{ae}{ai}{aoi}{ao}{a}{ái}á{oi}o{ói}ó{ui}{uío}{uí}u{úi}ú];
# left context slender vowel
$lcsv = [{aei}{aidh}{ai}{aí}{aoi}{ái}{eai}{eái}{ei}{eoi}e{éi}é{iai}{iui}{iúi}ií{oi}{ói}{uai}{ui}{uí}{úi}];
# right context slender vowel
$rcsv = [{aei}{ea}{eái}{eá}{ei}{eoi}e{éa}{éi}é{iai}{ia}{io}{iui}{iu}{iúi}{iú}i{ío}í];
# left context long vowel
$lclv = [{aei}{ae}{aoi}{ao}{ái}{á}{eái}{eá}{eoi}{eó}{eo}{éi}é{iúi}{iú}{ío}í{ói}ó{uío}{uí}{úi}ú];
# left context slender long vowel
$lcslv = [{aei}{aidh}{aoi}{ái}{eái}{eoi}{éi}é{iúi}í{ói}{uai}{uí}{úi}];
ádh → AA _;
ái → AA _;
á → AA _;
abh → ABH _;
adh } $wb → ADH _;
adh → AI _;
agh → AI _;
aei → EE _;
ae → EE _;
aíodh } $wb → ÍODH;
aío → AÍO _;
aí → II _;
aidh } $wb → IDH;
aidh → AI _;
aigh } $wb → IGH;
aigh → AI _;
aithe } $wb → ITHE;
$wb $cons* $vowel* abh { ai } $cons+ → '';
$wb $cons* $vowel* adh { ai } $cons+ → '';
$wb $cons* $vowel* agh { ai } $cons+ → '';
$wb $cons* $vowel* amh { ai } $cons+ → '';
$wb $cons* obh { ai } $cons+ → '';
$wb $cons* $vowel* ódh { ai } $cons+ → '';
$wb $cons* odh { ai } $cons+ → '';
$wb $cons* $vowel* ogh { ai } $cons+ → '';
$wb $cons* $vowel* omh { ai } $cons+ → '';
$wb $cons* $vowel* umh { ai } $cons+ → '';
$wb $cons* { ai } $rdnlr → AA _;
$wb $cons* { ai → A _;
$vowel+ $cons+ { ai → @@;
ai → A;
amh { $wb → AMH;
amh → AU _;
aoi → AO;
ao → AO;
$wb $cons* $vowel* abh { a } $cons+ → '';
$wb $cons* $vowel* adh { a } $cons+ → '';
$wb $cons* $vowel* agh { a } $cons+ → '';
$wb $cons* $vowel* amh { a } $cons+ → '';
$wb $cons* obh { a } $cons+ → '';
$wb $cons* $vowel* ódh { a } $cons+ → '';
$wb $cons* odh { a } $cons+ → '';
$wb $cons* $vowel* ogh { a } $cons+ → '';
$wb $cons* $vowel* omh { a } $cons+ → '';
$wb $cons* $vowel* umh { a } $cons+ → '';
$wb $cons* { a } $rdnlr → AA _;
$wb $cons* { a → A _;
$vowel+ $cons+ { a → @ _;
a → A _;
éa → EE _;
éi → EE _;
é → EE _;
eái → AA _;
eá → AA _;
eabh → ABH _;
eadh } $wb → ADH;
eadh → AU _;
eagh → AI _;
eai → A _;
eamh } $wb → AMH;
$wb $cons* eamh → AU _;
$wb $cons* $vowel igh { ea } $cons+ → '';
abhainn ABH NNJ
bualadh B U@ LL ADH
sadhbh S AI V
saghas S AI S
gaeilge G EE LJ GJ @@
saolaíodh S AO LL ÍODH
gardaí G AA R D II
dúnfaidh D UU NN_D IDH
aidhm AI MJ
cheadaigh XJ A D IGH
aighneas AI NJ @@ S
diúltaithe DJ UU LL T ITHE
seabhaic SJ ABH KJ
feadhain FJ AU NJ
teaghais TJ AI SJ
eamhain AU NJ
lobhair LL OBH RJ
leódhais LJ OO SJ
bodhair B ODH RJ
eoghain OO NJ
broghais B R OGH SJ
comhair K OO RJ
ciumhais KJ UU SJ
airde AA RJ DJ @@
cait K A TJ
sodair S O D @@ RJ
ait A TJ
déanamh DJ EE NN AMH
amharc AU R K
gaoil G AO LJ
gaol G AO L
seabhac SJ ABH K
ceadharlach KJ AU R LL @@ X
teaghasán TJ AI S AA NN
lobhar LL OBH R
leódhas LL OO S
bodhar B ODH R
eoghan OO NN
bogha B OGH
comhar K OO R
dumhach D UU X
ard AA R D
cat K A T
sodar S O D @@ R
at A T
éan EE NN
éiníní EE NJ II NJ II
é EE