define L1 [a];
define L2 [b];
read regex [L1 L2];
print net
define L3 [b*];
read regex [L2 L3];
print net
read regex [b+];
print net
read regex [a:b];
print net
print upper
print lower
read regex [a:b*];
print net
print upper
apply down aaaaa
apply up bbbb
apply up aaaa
read regex [a|b];
print net
print upper
print lower
apply up a
apply down a
apply up aa
read regex [a^{3,4}];
print upper
read regex [C V (C)]^{1,2};
print upper
read regex [h ? t];
print upper
apply up hat
apply up hoot
read regex [h ? t (oo)];
apply up hoot
print net
read regex [h a:0 t];
apply down hat
apply up ht
read regex [?* %+:0 ?*] | \[%+]*;
apply down a+b
apply up ab
define suffixes [ %+ e d | %+ s ];
read text verb_lexicon
define verbs
define underlying [verbs suffixes];
read regex underlying;
print upper
define Rule3 [ [ ?* %+:0 ?* ] | [ \[%+]* ] ];
read regex [underlying .o. Rule3];
print upper
print lower