The 'magic' program does the magic-templates transformation.  
It accepts a module, and a query form specified in the export argument of
the module, and generates a corresponding magic program.
Sips may be specified for any rules.  If any sips for any needed adornment
are missing, left to right sips for that adornment are generated automatically.
The program takes the following options:


	-l:  Create a listing of the original program.

	-a:  Chooses the adornment type as follows:  The default is that an
		argument of a predicate occurrence is bound if any variable 
		in it is bound.  If -a is specified, an argument is bound if 
		all variables in the argument are bound.

	-s:  If this option is chosen, the magic templates program generated 
		has supplementary rules.  The default is to not generate
		supplementary rules.

	-d:  Turns on debug mode, where various messages are printed out.

	-p:  Prints the original program along with the sips that are
		generated for it.

