leavesfirst - reorder procedures to put leaves first
leavesfirst infile outfile { infile outfile } *
The leavesfirst program reorders procedures so that called procedures come before calling procedures, as much as possible. That way subsequent passes that go through the procedures one at a time will see called procedures before the callers.
This program was written by Chris Wilson.