   The compile_to_jvm Command

   The compile_to_jvm command is the SmartEiffel Java byte code generator
   for  the  Java  Virtual  Machine.  There  are  two  invocation  modes:
   traditional  and  ACE.  In  traditional  mode,  a  variety of compiler
   options  can  be  specified  on  the  command line. In ACE mode, these
   options  are  not permitted; it is presumed that the required compiler
   options are listed in the ACE file.

   Usage

   Traditional mode
   compile_to_jvm [options] <RootClass> [<RootProcedure>]

   ACE mode
   compile_to_jvm [general_options] <ACEfile.ace>

   In traditional mode, the compile_to_jvm command must be given at least
   one  argument  to indicate the starting execution point of the system.
   Thus  your  program  will start in <RootProcedure> of <RootClass>. The
   default <RootProcedure> is make.

   In  ACE  mode, the name of the ACE file must end with the .ace suffix.
   For   examples   of  how  to  use  ACE  files,  have  a  look  in  the
   SmartEiffel/tutorial/ace directory.

   Load Path for Eiffel Source Files

   compile_to_jvm  uses  the technique described in the documentation for
   the  [1]finder  command  to locate the Eiffel source files it tries to
   compile.  Note  that  what  actually happens depends on the invocation
   mode (traditional or ACE).

   General Options

   -help:
          Display  a  brief  summary  of  the  command-line  syntax and a
          complete list of compiler options.
   -verbose:
          Print  system  information during the compilation (full path of
          files loaded, type inference score, removed files, etc.).
   -version:
          Display  the  version  number of the SmartEiffel release you're
          using.

   -loadpath <loadpath_file>:
   Adds  a  loadpath  file for class lookup. See details in the [2]finder
   man page.

   Options to Select Eiffel Compilation Modes (traditional mode only)

   As  with  the  compile_to_c command, there are 8 different compilation
   modes:     -boost,     -no_check,    -require_check,    -ensure_check,
   -invariant_check, -loop_check, -all_check and -debug_check.
   These  options  have  the  same  meaning as with compile_to_c. See the
   [3]compile_to_c documentation for details.

   Other Options (traditional mode only)

   -o <output_name>:
          Place  the  main  output in <output_name>.class and other class
          files  in  the  directory  <output_name>.  When  this option is
          absent, the default is <Root-Class>.
   -no_style_warning:
          Suppress   output   for   warning   messages   related  to  the
          non-respecting   of   standard  Eiffel  style  guidelines  (for
          example, ItEm will not trigger a warning).
   -case_insensitive:
          Switch case-insensitive mode on.
          For  example,  when  this  mode  is selected, the Eiffel parser
          considers  that  the  following  identifiers  refer to the same
          feature: item, ITEM, ItEm, ...
   -no_warning:
          Suppress  output  for all warning messages. (Error messages are
          still printed.)

   The SmartEiffelRuntime.java class

   The  SmartEiffelRuntime.java  class implements some low-level external
   features.  This  file is in the directory SmartEiffel/sys/runtime. The
   file  SmartEiffelRuntime.class  must  be  present  to execute the Java
   byte-code generated by the compile_to_jvm command. Don't forget to add
   this class to your Java CLASSPATH system environment variable. You can
   also  copy  the  file  SmartEiffelRuntime.class  to  some  appropriate
   directory.

   Examples

   Example 1
   When  SmartEiffel  is  correctly installed, you can type the following
   command to test the hello world program :
          compile_to_jvm hello_world

   Then, in order to execute the Java byte code produced, you can use the
   command:
          java hello_world

   Example 2
   As  for the compile_to_c command you can add the option -boost to omit
   all assertion checking:
          compile_to_jvm -boost hello_world

   Example 3
   To change the name of the generated main class, you have to add the -o
   option:
          compile_to_jvm -boost -o out hello_world

   Then, you can run the Java byte code with:
          java out

   Note  that the name used for the class files directory is also changed
   (this directory is also named out).

   Example 4
   Finally,  the  -verbose  option may be useful to check which files are
   loaded, which files are created, or to fix some installation problem:
          compile_to_jvm -verbose hello_world

                                   [Line]
             Copyright  Dominique COLNET and Suzanne COLLIN -
                         [4]<SmartEiffel@loria.fr>
                Last modified: Tue Feb 11 12:14:05 CET 2003

References

   1. file://localhost/users/miro/colnet/SmartEiffel/man/finder.html
   2. file://localhost/users/miro/colnet/SmartEiffel/man/finder.html
   3. file://localhost/users/miro/colnet/SmartEiffel/man/compile_to_c.html
   4. mailto:SmartEiffel@loria.fr
