
                         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.

   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
   [2]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 -
                         [3]<SmartEiffel@loria.fr>
               Last modified: Mon Sep 9 13:30:22 MET DST 2002
                                      

References

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