
                         The compile_to_jvm command
                                      
   The compile_to_jvm command is the SmallEiffel 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
   SmallEiffel/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 [2]version number of the SmallEiffel 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, and -all_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 SmallEiffelRuntime.java class
   
   The SmallEiffelRuntime.java class implements some low-level external
   features. This file is in the directory SmallEiffel/sys/runtime. The
   file SmallEiffelRuntime.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 SmallEiffelRuntime.class to some appropriate
   directory.
   
   Examples
   
   Example 1
   When SmallEiffel 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]<SmallEiffel@loria.fr>
                Last modified: Thu Feb 14 21:46:20 MET 2002 

References

   1. file://localhost/home/colnet/SmallEiffel/man/man/finder.html
   2. file://localhost/home/colnet/SmallEiffel/man/man/SmallEiffelFAQ.html#Q02
   3. file://localhost/home/colnet/SmallEiffel/man/man/compile_to_c.html
   4. mailto:SmallEiffel@loria.fr
