Provided by: mozart_1.4.0-8ubuntu1_i386 bug

NAME

       ozc - compile oz code

SYNOPSIS

       ozc [mode] options ...

       MODES

       The  `ozc'  compiler  can  operate in one of several mutually exclusive
       modes selected by the options below:

       -h, -?, --help
              Prints out information on all legal options, then exits

       -c, --dump
              `ozc -c FILE.oz' compiles and evaluates the expression  in  file
              FILE.oz,  then pickles the resulting value into the output file,
              FILE.ozf by default.

       -e, --feedtoemulator
              `ozc -e FILE.oz' compiles and executes  the  statement  in  file
              FILE.oz. This is the default mode of operation.

       -E, --core
              `ozc  -E  FILE.oz' translates the statement in file FILE.oz into
              the core language, then  writes  this  expanded  form  into  the
              output file, FILE.ozi by default.

       -S, --outputcode
              `ozc -S FILE.oz' compiles the statement in file FILE.oz into the
              assembly bytecode format, then writes it  to  the  output  file,
              FILE.ozm by default.

       -x, --executable
              `ozc  -x  FILE.oz'  much  like  -c,  compiles  and evaluates the
              expression in file FILE.oz, then writes the resulting value into
              the  output  file, by default: FILE (no extension) under Unix or
              FILE.exe under Windows. Additionally, it makes the  output  file
              executable.  Thus,  if  Foo.oz  contains an application functor:
              `ozc -x Foo.oz' creates the file Foo  (Foo.exe  under  Windows),
              which  is executable and can be invoked directly from the shell.
              However, you can always run an application functor  as  follows:
              `ozengine  url  args  ...'  where  url is a URL or pathname that
              references the application functor.

       OPTIONS

       Additionally, the compiler understands the following general options:

       -v, --verbose
              Display all compiler messages

       -q, --quiet
              Inhibit compiler messages

       -M, --makedepend
              Instead of executing, write a list of dependencies to stdout

       -o FILE, --outputfile=FILE
              Write output to FILE (- for stdout)

       --execheader=STRING
              When invoked with option -x the compiler first outputs a  header
              so  that  the  output  file  may be interpreted by the operating
              system as an executable. Under Unix, the default behaviour is to
              use the following as header:

              #!/bin/sh
              exec ozengine $0 "$@"

              The  --execheader  option  allows  you  to  specify  a different
              header.

       --execpath=STRING
              Uses the header given above in the description of  --execheader,
              except that ozengine is replaced by STRING.

       --execfile=FILE
              Reads  in  FILE  and  uses  this  as  header. Under Windows, the
              default   behaviour   is   to   use   the   file   provided   in
              ozhome/bin/ozwrapper.bin,  where ozhome is Mozart's installation
              folder. ozwrapper.bin is  a  Windows  executable  that  launches
              ozengine.

       --execwrapper=FILE
              Reads  in  ozhome/bin/FILE  and uses it as header for executable
              files. Apart from ozwrapper.bin, an ozwrapperw.bin  is  supplied
              that   launches  ozenginew  instead  of  ozengine.  This  option
              provides a convenient way to use this alternative wrapper.

       -z N, --compress=N
              Pickles may be written in a compressed format. By  default  they
              are  not compressed. `-z N' selects a compression level: N is an
              integer between 1  and  9.  Compressing  a  pickle  may  improve
              loading/downloading time.

       -D NAME, --define=NAME
              Define   macro   NAME.   Code  source  may  have  `\ifdef  NAME'
              conditional directives that tests whether macro NAME is defined.

       -U NAME, --undefine=NAME
              Undefines macro NAME

       -l MODULES, --environment=MODULES

              ozc -l Baz=$HOME/baz.ozf -c Foo.oz

              Makes  MODULES,  a  comma-separated  list  of   pairs   VAR=URL,
              available  in  the  environment.  For  each  VAR=URL, the module
              available through the functor at URL  is  obtained  and  VAR  is
              bound  to  it. The file Foo.oz being compiled can then reference
              variable VAR.

       -I DIR, --incdir=DIR
              Adds DIR to the head of OZPATH which is used to locate files  to
              \insert.

       --include=FILE
              Compile  and execute the statement in FILE before processing the
              remaining options.  This  can  be  used  e.  g.  to  extend  the
              compilation environment by executing a declare.

       --maxerrors=N
              Limit the number of errors reported to N.

       --baseurl=STRING
              Set  the  base  URL  to  resolve imports of computed functors to
              STRING.

       SWITCHES

       Finally, phases of the compiler  can  be  controlled  by  the  compiler
       switches below:

       -g, --(no)debuginfo
              Emits  code  with  debugging information. Use this option if you
              want to take advantage of The Mozart Debugger. The -g option  is
              actually    an    abbreviation    for    the    combination   of
              --controlflowinfo and --staticvarnames.

       --(no)controlflowinfo
              Include control flow information

       --(no)staticvarnames
              Include static variable name information

       -p, --(no)profile
              Emits code with profiling information. Use this  option  if  you
              want to take advantage of The Mozart Profiler.

       --(no)gump
              Allow Gump definitions.

       --(no)compilerpasses
              Show compiler passes.

       --(no)warnredecl
              Warn about top-level redeclarations.

       --(no)warnshadow
              Warn about all redeclarations.

       --(no)warnunused
              Warn about unused variables.

       --(no)warnunusedformals
              Warn about unused variables and formals.

       --(no)warnforward
              Warn about oo forward declarations.

       --(no)warnopt
              Warn about missed optimizations.

       --(no)expression
              Expect expressions, not statements.

       --(no)allowdeprecated
              Allow use of deprecated syntax.

       --(no)staticanalysis
              Run static analysis.

       --(no)realcore
              Output the real non-fancy core syntax.

       --(no)debugvalue
              Annotate variable values in core output.

       --(no)debugtype
              Annotate variable types in core output.

       --functionalpatterns
              Use functional pattern-matching.

                                                                        ozc(1)