public void run(String args [])
public void run ()
    public void run(String args [])    {        boolean scheduledRun = true;        boolean printGraph = false;        boolean doRun = true;        int nIters = -1;        // read the args:        if (args != null)        {            int length = args.length;            int index;            for (index = 0; index < length; index++)            {                if (args [index].equals ("-nosched"))                {                    scheduledRun = false;                } else                if (args [index].equals ("-printgraph"))                {                    printGraph = true;                } else                if (args [index].equals ("-i"))                {                    index++;                    nIters = Integer.valueOf (args[index]).intValue ();                } else                if (args [index].equals ("-printdot"))                {                    printdot = true;                } else                if (args [index].equals ("-norun"))                {                    doRun = false;                } else {                    ERROR ("Unrecognized argument: " + args [index] + ".");                }            }        }        setupOperator ();        ASSERT (getInputChannel () == null);        ASSERT (getOutputChannel () == null);        // setup the scheduler        if (printGraph)        {            // this is not implemented yet.  when I'm done with            // some certain amount of the scheduler, I can start            // using the iterators to do this properly.            ASSERT (false);        }        if (!doRun) System.exit (0);        // setup the scheduler        if (scheduledRun)        {            // not implemented yet. waiting for the scheduler to            // be done.            ASSERT (false);                        /*            scheduler = new SimpleHierarchicalScheduler ();                SchedStream stream;            stream = (SchedStream) constructSchedule ();            ASSERT (stream);                scheduler.useStream (stream);            scheduler.computeSchedule ();                // setup the buffer lengths for the stream setup here:            setupBufferLengths (scheduler.getSchedule ());                // run the init schedule:            runSchedule (scheduler.getSchedule ().getInitSchedule ());                // and run the steady schedule forever:            while (nIters != 0)            {                runSchedule (scheduler.getSchedule ().getSteadySchedule ());                if (nIters > 0) nIters--;            }            */        } else {            while (true)            {                runSinks ();                drainChannels ();            }        }    }