
These are our optimization modules.

Contents:

badopt.sml          A broken optimization that should be caught and
                        disabled.

identity.sml        An optimization that does nothing.

whitespace-sig.sml
whitespace.sml      Compresses adjacent whitespace.

plshortcut-sig.sml
plshortcut.sml      Uses the <PL> shortcut as seen in contest doc.

fusetags.sml        Fuses <B>adjacent</B><B>tags</B>.

hoist.sml           Tag motion and fusion. See comment in file.

colorredund.sml     Removes <c><g>redundant color specs</g></c>.
                    Also <1><5>redundant size specs</5></1>.

useless.sml         Removes tags which are never used because
                    their meaning is shadowed. (similar to redundant,
                    but "backwards")

attrthenpl.sml      Removes <B><PL>attributes overriden by PL</PL></B>.

pushspaces.sml      Moves spaces into tags.

scopedElim.sml      Attempts to remove semantically redundant tags.

redundant.sml       Another pass at redundant tag removal.

colorNest.sml       Does color nesting tricks (as in doc).

testconvert.sml     Tests conversion to and from linear form.

exnopt.sml          Raises an exception, to test disabling.

overlap.sml         Attempts overlap inversion, as in doc.

reencode.sml        Attempts to reencode the document in a more optimal form
