Fri Sep 5 12:14:52 CEST 2008

Staapl command line compiler

I've added a standard command line interface to the compiler.  It is
accessible as:

  mzscheme -p zwizwa/staapl/staaplc -- <arg> ...

The default language environment is pic18.  It is a simple frontend
for a couple of scheme functions, and best explained by quoting it's
main routine, after command line argument processing.

    (require ,(base-language))
    (forth-load/compile ,(filename))
    (current-console '(,(device) ,(baud)))
    (save-ihex ,(output-hex))
    (save-dict ,(output-dict)))

Given a source file, it produces an Intel HEX file to upload to the
target, and a script which instantiates the dictionary (global symbol
table) and console information.  The latter is only useful when the
target contains the monitor code.

I.e. to compile a file "foo.f" containing:

   : foo 1 2 3 ;
   : bar foo foo bar ;

Do this:

   mzscheme -p zwizwa/staapl/staaplc -- foo.f

This produces the files foo.hex and foo.ss

It is possible to install a launcher called 'staaplc' by issuing the
following command:

   mzscheme -p zwizwa/staapl/install

You probably need to do this using administrator priviliges.  From
then on it's possible to use

   staaplc <arg> ...