The Omni Compiler
omnic.pl - the Omni compiler
omnic.pl [-l] [-e] [-f] [-c] [-p=classpath] [-v] [-h] mdlfile...
The Omni compiler, omnic, removes the drudgery of
writing message classes for a protocol. The message definition
language (mdl) is a declarative language
used to describe a message-based protocol. Omnic is used to
translate the mdl files into java source code for your message
types and event handler. For each message type, a base and leaf
class is generated. The base message class is ready to be used
without further modification; the leaf message class is a
skeleton which must be modified by the developer. Additionally,
omnic will compile the base class files into byte code (it won't
compile the leaf message class files since these are always
modified after omnic has run).
One or mode mdl files. If your network application supports
more than one protocol, then you should define each protocol
in a separate mdl file. The compiler generates a seperate
event handler for each protocol. In your program be sure to
pass an event handler of the appropriate type to the
OmniListener and/or OmniSocket for each network connection.
this causes omnic to generate a leaf message class for each
message type in the mdl files. The user must override the
method of these classes to handle messages appropriately.
this causes omnic to generate an event handler class for your
protocol. The user may override the event callback methods of
this class to handle framework events appropriately.
normally omnic will not overwrite the leaf message and event handler
files that the user is expected to modify, but this forces it.
Caution, this may overwrite user written or modified files.
this causes omnic to compile the base message files, which are
generated and ready to use without modification by the user.
used in conjunction with -c, a classpath to pass to javac.
shows the omnic version string.
shows the omnic usage message.
In order to run omnic as shown above, omnic.pl must be in your PATH.
If this is not possible and you run perl directly, then you must
perl -s omnic.pl ... ''
so that compiler options are processed correctly.