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