The Script

This is the man. page for the omegahat script -- the front end for the Omegahat environment. This script basically provides the command line arguments and specifically the classpath specification for the JVM to run a version of the environment.

Noweb fails to expand the local macro that precedes all the flags with a -. So in the HTML version of this page these are missing.

Argument (-) Default Effect
c OmegaOptions the name of a configuration file. The omega system will attempt to locate this file. An explicit file-name can be used or the file is found in the elements of the searchPath.
i org.omegahat.Environment.Console.omega the name of the class to use as the target of the java call. This must have the usual static &public main method.
ix this is the equivalent of the i except that it takes a partially qualified class name and expands it relative to the org/omegahat directory. For example, the class Console.omega can be specified as omega and this will be expanded to its full package name, org.omegahat.Environment.Console.omega. There is a potential conflict here with GUI.omega. This can be unambiguously resolved by specifying the value Console.omega or GUI.omega for the value of the ix argument. This mechanism uses the Perl script expandOmegaClass which can be used in other arguments also. It does what the Java code also does via the class locator mechanism.
s OmegaInit the name of the script to use to initialize the session. This usually provides the prompt and sets the termination script which is invoked during the q operation of the EvaluatorManager.
verify this is passed to the
CORBA this initializes the environment for CORBA access. It appends the CORBA classes to the classpath and also the CORBA-specific system properties. It takes no secondary value and acts simply as a flag.
help display the help for this script. This is a simplified version of this file. This takes no second argument and causes the script to terminate immediately after displaying the text.
debug this runs the Java debugger, jdb, rather than java with the same arguments as would be passed to java.
D take this argument and pass it directly to the JVM as a system property (-Dname=value).
- all arguments after this are passed directly to the Java application and not the JVM or this script.
w this used to be necessary in order to create a background AWT thread. However I believe it is not necessary now.
verbose this displays both the command and is passed to the JVM which reports the loading of each class and other messages.
u do not read the user's default initialization script.
In addition to these, there are several system properties that can currently be set via the D arguments that have direct effect on the environment. These are either specified on the command line or the default values are taken from the OmegaOptions which is dynamically located at run-time. In general, these properties are the same as those that are set in the OmegaOptions file. As we refer to these in the code, we make an effort to locate them first in the System properties and then in the default options (usually read from the OmegaOptions file).

DevaluatorClassName the name of the default evaluator class which the EvaluatorManager constructs when asked to create an evaluator.
DsearchPath a comma-separated list of directories or archive (.jar or .zip) files in which to search for partially qualified file names.
DOmegaInit the name of the file containing the initialization script expressions/commands. This should also set the OmegaFinalScript property.
DOmegaFinalScript the name of script containing the expressions/commands to run when terminating the session.
Dprompt the string to use for the prompt expression or literal. The parser will attempt
Dcontinue the string that is used as the prompt when an incomplete expression is encountered after a newline has been entered. This is not treated as a potential expression
DerrorHandlerClass the name of a class to use when the default error handler is created by the Evaluator. At present, there are two basic flavors that one can switch between. One, DefaultErrorHandler, is used to handle user-level errors in terms of the omega expressions associated with them. A second one, SystemErrorHandler displays the error relative to the omega implementation and is used by people debugging the system itself.
Ddebug true or false indicating whether the general debugging should be turned on.
Ddebug.classname turns the debugging control on (or off) for the particular class. Each class can then look for its own debugging flag. The class name can be specified as its fully package qualified version or by its last component. Not all classes support this and even fewer provide any debugging support!