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.
-l this causes omnic to generate a leaf message class for each message type in the mdl files. The user must override the run() method of these classes to handle messages appropriately.
-e 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.
-f 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.
-c this causes omnic to compile the base message files, which are generated and ready to use without modification by the user.
-p=classpath used in conjunction with -c, a classpath to pass to javac.
-v shows the omnic version string.
-h 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 use ``perl -s omnic.pl ... '' so that compiler options are processed correctly.

Copyright © 2002-2003, Richard Bockenek

SourceForge.net logo