$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 = [{}{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}{ea}{}{eo}{éa}{io}{iu}{}{ío}{uío}];
# right context broad vowel
$rcbv = [{aei}{ae}{ai}{aoi}{ao}{a}{ái}á{oi}o{ói}ó{ui}{uío}{}u{úi}ú];
# left context slender vowel
$lcsv = [{aei}{aidh}{ai}{}{aoi}{ái}{eai}{eái}{ei}{eoi}e{éi}é{iai}{iui}{iúi}{oi}{ói}{uai}{ui}{}{úi}];
# right context slender vowel
$rcsv = [{aei}{ea}{eái}{}{ei}{eoi}e{éa}{éi}é{iai}{ia}{io}{iui}{iu}{iúi}{}i{ío}í];
# left context long vowel
$lclv = [{aei}{ae}{aoi}{ao}{ái}{á}{eái}{}{eoi}{}{eo}{éi}é{iúi}{}{ío}í{ói}ó{uío}{}{úi}ú];
# left context slender long vowel
$lcslv = [{aei}{aidh}{aoi}{ái}{eái}{eoi}{éi}é{iúi}í{ói}{uai}{}{ú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 _;
  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 _;
  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