gleki asked about incorporating selma'o ZEhEI to PEG and I said it would require modifying lots and lots of rules, basically all the selma'o rules. But maybe not.
I was thinking of ZEhEI as being similar to ZEI, but that's probably not the best way to think about it. ZEhEI is actually much more like BU. The only difference is that instead of creating something like BY, it creates something like BAhE. So we only need to do for ZEhEI wrt to BAhE what we do for BU wrt to BY.
This is still not trivial, because BU interacts with ZEI in weird ways, and now we'd be adding a third ingredient into the mix, which makes it all even more messy. But the required modifications would probably look something like this:
zehei-clause <- pre-clause zehei-clause-no-pre
zehei-clause-no-pre <- pre-zei-bu (zehei-tail? zei-tail / zehei-tail? bu-tail)* zehei-tail post-clause
zei-clause-no-pre <- pre-zei-bu (zei-tail? bu-tail / zei-tail? zehei-tail)* zei-tail post-clause
bu-clause-no-pre <- pre-zei-bu (bu-tail? zei-tail / bu-tail? zehei-tail)* bu-tail post-clause
zehei-tail <- ZEhEI-clause+
pre-zei-bu <- (!ZEhEI-clause !BU-clause !ZEI-clause !SI-clause !SA-clause !SU-clause !FAhO-clause any-word-SA-handling) si-clause?
; turns any word into a BAhE modifier
ZEhEI-clause <- ZEhEI-pre ZEhEI-post
ZEhEI-pre <- pre-clause ZEhEI spaces?
ZEhEI-post <- spaces?
; next word intensifier
BAhE-clause <- (BAhE-pre BAhE-post)+ / zehei-clause+
BAhE-pre <- BAhE spaces?
BAhE-post <- si-clause? !ZEI-clause !BU-clause !ZEhEI-clause
I haven't tested any of this, and it may require further tweaking, but that's the general idea. It may also be necessary to add !ZEhEI-clause wherever there's a !ZEI-clause !BU-clause, but I suspect many of those are actually redundant.
mu'o mi'e xorxes