Eiffel batch compiler - es4
Usage:
es4 [-help | -version | -batch -freeze | -finalize [-keep] | -precompile |
-loop | -quick_melt | -clients [-filter filtername] class |
-suppliers [-filter filtername] class |
-flatshort [-filter filtername] [-all | -all_and_parents | class] |
-flat [-filter filtername] [-all | -all_and_parents | class] |
-short [-filter filtername] [-all | -all_and_parents | class] |
-filter filtername [-all | class] |
-descendants [-filter filtername] class |
-ancestors [-filter filtername] class |
-aversions [-filter filtername] class feature |
-dversions [-filter filtername] class feature |
-implementers [-filter filtername] class feature |
-callers [-filter filtername] [-show_all] class feature |
[-stop] [-ace Ace] [-project Project_file_name]|
[-project_path Project_directory_path] [-file File]]
Options:
default (no option): recompile the system.
-ace: specify the Ace file.
-ancestors: show the ancestors of a class.
-aversions: show the ancestor versions of a feature.
-batch: launch the compilation without user request.
-callers: show the callers of a feature.
-clients: show the clients of a class.
-descendants: show the descendants of a class.
-dversions: show the descendant versions of a feature.
-file: save the output to a file.
-filter: show a filtered form (troff, ...) of the class text.
-finalize: finalize the system (discard assertions by default).
-flat: show the flat form of a class.
-flatshort: show the flat-short form of a class.
-freeze: freeze the system.
-help: show this help message.
-implementers: show the classes implementing a feature.
-loop: run es4 as a command loop.
-precompile: precompile the system.
-project: specify the project file to load.
-project_path: specify the compilation directory.
-quick melt: quick melt the system.
-short: show the short form of a class.
-stop: stop on error.
-suppliers: show the suppliers of a class.
-version: show compiler version number.
For example:
- to freeze a project from scratch: es4 -project_path /your_path -ace my_ace.ace
- to freeze an existing project: es4 -project your_project.epr -freeze
- to finalize a project from scratch: es4 -finalize -project_path /your_path -ace my_ace.ace
finish_freezing
On Unix there is no special options for finish_freezing, on Windows they are
only two:
- -location location_path: enables to launch `finish_freezing' on a
remote directory.
- -silent: does not prompt the user with the message box where
the status of the C compilation appears.
Since the introduction of ISE EiffelBench 4.3, you can do some batch
processing on Windows. Until then it was only possible on Unix platforms. With
the introduction of ISE EiffelBench 4.5 new options has been added (see above
for a list of options).
In order to launch a compilation without user intervention you need to specify the `-batch' switch in the `es4' command line,
otherwise the Eiffel compilation will be blocked. We will present below a
typical example of batch processing on both Unix and Windows platforms where we
want to compile a project in both frozen and finalized mode, then to launch the
C compilations. At the same time we want to save the output of `es4' and the C
compilations.
Unix
In a file called `launch_es4' you can have the following:
#!/bin/sh
output_file="/output_path/OUTPUT"
cd /your_project_path
#Launch Eiffel compilation
es4 -batch -ace Ace.ace -finalize 2> $output_file
#Launch C compilation for frozen code
cd EIFGEN/W_code
finish_freezing > $output_file
#Launch C compilation for finalized code
cd EIFGEN/F_code
finish_freezing > $output_file
|
It will go the directory where your project is located and compile your
Eiffel code using the `Ace.ace' file located in your project directory and
compile automatically the C code. All outputs will be stored in the file `/output_path/OUTPUT'.
Note: All output from `es4' are going to
the error output, so do not forget to redirect the error output when you want to
see the results
Windows
In a file called `launched_es4.bat' you can have the following:
cd C:\your_project_path
#Launch Eiffel compilation
es4 -batch -ace Ace.ace -finalize > c:\output_path\OUTPUT
#Launch C compilation for frozen code
cd EIFGEN\W_code
finish_freezing > c:\output_path\OUTPUT
#Launch C compilation for finalized code
cd EIFGEN\F_code
finish_freezing > c:\output_path\OUTPUT
|
It will go the directory where your project is located and compile your
Eiffel code using the `Ace.ace' file located in your project directory and
compile automatically the C code. All outputs will be stored in the file
`c:\output_path/OUTPUT'.
|